1 ! This is a non-autogenerated version of md_calls.inc for Windows and other
2 ! versions of OS's that either dont have M4 or whose M4s dont work right.
4 INTERFACE wrf_get_dom_ti_real
5 MODULE PROCEDURE wrf_get_dom_ti_real_arr, wrf_get_dom_ti_real_sca
9 INTERFACE wrf_put_dom_ti_real
10 MODULE PROCEDURE wrf_put_dom_ti_real_arr, wrf_put_dom_ti_real_sca
14 INTERFACE wrf_get_dom_ti_double
15 MODULE PROCEDURE wrf_get_dom_ti_double_arr, wrf_get_dom_ti_double_sca
19 INTERFACE wrf_put_dom_ti_double
20 MODULE PROCEDURE wrf_put_dom_ti_double_arr, wrf_put_dom_ti_double_sca
24 INTERFACE wrf_get_dom_ti_integer
25 MODULE PROCEDURE wrf_get_dom_ti_integer_arr, wrf_get_dom_ti_integer_sca
29 INTERFACE wrf_put_dom_ti_integer
30 MODULE PROCEDURE wrf_put_dom_ti_integer_arr, wrf_put_dom_ti_integer_sca
34 INTERFACE wrf_get_dom_ti_logical
35 MODULE PROCEDURE wrf_get_dom_ti_logical_arr, wrf_get_dom_ti_logical_sca
39 INTERFACE wrf_put_dom_ti_logical
40 MODULE PROCEDURE wrf_put_dom_ti_logical_arr, wrf_put_dom_ti_logical_sca
44 INTERFACE wrf_get_dom_ti_char
45 MODULE PROCEDURE wrf_get_dom_ti_char_arr
49 INTERFACE wrf_put_dom_ti_char
50 MODULE PROCEDURE wrf_put_dom_ti_char_arr
55 INTERFACE wrf_get_dom_td_real
56 MODULE PROCEDURE wrf_get_dom_td_real_arr, wrf_get_dom_td_real_sca
60 INTERFACE wrf_put_dom_td_real
61 MODULE PROCEDURE wrf_put_dom_td_real_arr, wrf_put_dom_td_real_sca
65 INTERFACE wrf_get_dom_td_double
66 MODULE PROCEDURE wrf_get_dom_td_double_arr, wrf_get_dom_td_double_sca
70 INTERFACE wrf_put_dom_td_double
71 MODULE PROCEDURE wrf_put_dom_td_double_arr, wrf_put_dom_td_double_sca
75 INTERFACE wrf_get_dom_td_integer
76 MODULE PROCEDURE wrf_get_dom_td_integer_arr, wrf_get_dom_td_integer_sca
80 INTERFACE wrf_put_dom_td_integer
81 MODULE PROCEDURE wrf_put_dom_td_integer_arr, wrf_put_dom_td_integer_sca
85 INTERFACE wrf_get_dom_td_logical
86 MODULE PROCEDURE wrf_get_dom_td_logical_arr, wrf_get_dom_td_logical_sca
90 INTERFACE wrf_put_dom_td_logical
91 MODULE PROCEDURE wrf_put_dom_td_logical_arr, wrf_put_dom_td_logical_sca
95 INTERFACE wrf_get_dom_td_char
96 MODULE PROCEDURE wrf_get_dom_td_char_arr
100 INTERFACE wrf_put_dom_td_char
101 MODULE PROCEDURE wrf_put_dom_td_char_arr
106 INTERFACE wrf_get_var_ti_real
107 MODULE PROCEDURE wrf_get_var_ti_real_arr, wrf_get_var_ti_real_sca
111 INTERFACE wrf_put_var_ti_real
112 MODULE PROCEDURE wrf_put_var_ti_real_arr, wrf_put_var_ti_real_sca
116 INTERFACE wrf_get_var_ti_double
117 MODULE PROCEDURE wrf_get_var_ti_double_arr, wrf_get_var_ti_double_sca
121 INTERFACE wrf_put_var_ti_double
122 MODULE PROCEDURE wrf_put_var_ti_double_arr, wrf_put_var_ti_double_sca
126 INTERFACE wrf_get_var_ti_integer
127 MODULE PROCEDURE wrf_get_var_ti_integer_arr, wrf_get_var_ti_integer_sca
131 INTERFACE wrf_put_var_ti_integer
132 MODULE PROCEDURE wrf_put_var_ti_integer_arr, wrf_put_var_ti_integer_sca
136 INTERFACE wrf_get_var_ti_logical
137 MODULE PROCEDURE wrf_get_var_ti_logical_arr, wrf_get_var_ti_logical_sca
141 INTERFACE wrf_put_var_ti_logical
142 MODULE PROCEDURE wrf_put_var_ti_logical_arr, wrf_put_var_ti_logical_sca
146 INTERFACE wrf_get_var_ti_char
147 MODULE PROCEDURE wrf_get_var_ti_char_arr
151 INTERFACE wrf_put_var_ti_char
152 MODULE PROCEDURE wrf_put_var_ti_char_arr
157 INTERFACE wrf_get_var_td_real
158 MODULE PROCEDURE wrf_get_var_td_real_arr, wrf_get_var_td_real_sca
162 INTERFACE wrf_put_var_td_real
163 MODULE PROCEDURE wrf_put_var_td_real_arr, wrf_put_var_td_real_sca
167 INTERFACE wrf_get_var_td_double
168 MODULE PROCEDURE wrf_get_var_td_double_arr, wrf_get_var_td_double_sca
172 INTERFACE wrf_put_var_td_double
173 MODULE PROCEDURE wrf_put_var_td_double_arr, wrf_put_var_td_double_sca
177 INTERFACE wrf_get_var_td_integer
178 MODULE PROCEDURE wrf_get_var_td_integer_arr, wrf_get_var_td_integer_sca
182 INTERFACE wrf_put_var_td_integer
183 MODULE PROCEDURE wrf_put_var_td_integer_arr, wrf_put_var_td_integer_sca
187 INTERFACE wrf_get_var_td_logical
188 MODULE PROCEDURE wrf_get_var_td_logical_arr, wrf_get_var_td_logical_sca
192 INTERFACE wrf_put_var_td_logical
193 MODULE PROCEDURE wrf_put_var_td_logical_arr, wrf_put_var_td_logical_sca
197 INTERFACE wrf_get_var_td_char
198 MODULE PROCEDURE wrf_get_var_td_char_arr
202 INTERFACE wrf_put_var_td_char
203 MODULE PROCEDURE wrf_put_var_td_char_arr
212 SUBROUTINE wrf_get_dom_ti_real_arr ( DataHandle,Element, Data, Count, Outcount, Status )
216 ! Attempt to read Count words of time independent
217 ! domain metadata named "Element"
218 ! from the open dataset described by DataHandle.
219 ! Metadata of type real are
220 ! stored in array Data.
221 ! Actual number of words read is returned in OutCount.
225 USE module_state_description
227 INTEGER , INTENT(IN) :: DataHandle
228 CHARACTER*(*) , INTENT(IN) :: Element
234 INTEGER , INTENT(IN) :: Count
235 INTEGER , INTENT(OUT) :: OutCount
236 INTEGER , INTENT(OUT) :: Status
238 #include <wrf_status_codes.h>
239 INTEGER :: len_of_str
241 INTEGER, EXTERNAL :: use_package
242 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
245 INTEGER io_form , Hndl
247 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_real_arr " )
254 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
255 IF ( Hndl .GT. -1 ) THEN
256 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
257 SELECT CASE ( use_package( io_form ) )
260 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
261 # if ( RWORDSIZE == DWORDSIZE )
262 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
263 locCount, Outcount, Status )
265 CALL ext_ncd_get_dom_ti_real ( Hndl, Element, Data, &
266 locCount, Outcount, Status )
269 IF ( .NOT. multi_files(io_form) ) THEN
272 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
273 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
278 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
283 # if ( RWORDSIZE == DWORDSIZE )
284 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
285 locCount, Outcount, Status )
287 CALL ext_pnc_get_dom_ti_real ( Hndl, Element, Data, &
288 locCount, Outcount, Status )
293 # if ( RWORDSIZE == DWORDSIZE )
294 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
295 locCount, Outcount, Status )
297 CALL ext_phdf5_get_dom_ti_real ( Hndl, Element, Data, &
298 locCount, Outcount, Status )
303 # if ( RWORDSIZE == DWORDSIZE )
304 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
305 locCount, Outcount, Status )
307 CALL ext_esmf_get_dom_ti_real ( Hndl, Element, Data, &
308 locCount, Outcount, Status )
313 # if ( RWORDSIZE == DWORDSIZE )
314 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
315 locCount, Outcount, Status )
317 CALL ext_xxx_get_dom_ti_real ( Hndl, Element, Data, &
318 locCount, Outcount, Status )
323 # if ( RWORDSIZE == DWORDSIZE )
324 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
325 locCount, Outcount, Status )
327 CALL ext_yyy_get_dom_ti_real ( Hndl, Element, Data, &
328 locCount, Outcount, Status )
333 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
334 # if ( RWORDSIZE == DWORDSIZE )
335 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
336 locCount, Outcount, Status )
338 CALL ext_gr1_get_dom_ti_real ( Hndl, Element, Data, &
339 locCount, Outcount, Status )
342 IF ( .NOT. multi_files(io_form) ) THEN
345 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
346 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
351 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
356 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
357 # if ( RWORDSIZE == DWORDSIZE )
358 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
359 locCount, Outcount, Status )
361 CALL ext_gr2_get_dom_ti_real ( Hndl, Element, Data, &
362 locCount, Outcount, Status )
365 IF ( .NOT. multi_files(io_form) ) THEN
368 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
369 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
374 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
379 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
380 # if ( RWORDSIZE == DWORDSIZE )
381 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
382 locCount, Outcount, Status )
384 CALL ext_int_get_dom_ti_real ( Hndl, Element, Data, &
385 locCount, Outcount, Status )
388 IF ( .NOT. multi_files(io_form) ) THEN
391 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
392 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
397 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
402 ELSE IF ( for_out .AND. use_output_servers() ) THEN
403 CALL wrf_quilt_get_dom_ti_real ( Hndl, Element, Data, &
404 locCount, Outcount, Status )
409 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
412 END SUBROUTINE wrf_get_dom_ti_real_arr
415 SUBROUTINE wrf_get_dom_ti_real_sca ( DataHandle,Element, Data, Count, Outcount, Status )
419 ! Attempt to read time independent
420 ! domain metadata named "Element"
421 ! from the open dataset described by DataHandle.
422 ! Metadata of type real are
423 ! stored in scalar Data.
428 USE module_state_description
430 INTEGER , INTENT(IN) :: DataHandle
431 CHARACTER*(*) , INTENT(IN) :: Element
437 INTEGER , INTENT(IN) :: Count
438 INTEGER , INTENT(OUT) :: OutCount
439 INTEGER , INTENT(OUT) :: Status
441 #include <wrf_status_codes.h>
442 INTEGER :: len_of_str
444 INTEGER, EXTERNAL :: use_package
445 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
448 INTEGER io_form , Hndl
450 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_real_sca " )
457 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
458 IF ( Hndl .GT. -1 ) THEN
459 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
460 SELECT CASE ( use_package( io_form ) )
463 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
464 # if ( RWORDSIZE == DWORDSIZE )
465 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
466 locCount, Outcount, Status )
468 CALL ext_ncd_get_dom_ti_real ( Hndl, Element, Data, &
469 locCount, Outcount, Status )
472 IF ( .NOT. multi_files(io_form) ) THEN
475 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
476 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
481 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
486 # if ( RWORDSIZE == DWORDSIZE )
487 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
488 locCount, Outcount, Status )
490 CALL ext_pnc_get_dom_ti_real ( Hndl, Element, Data, &
491 locCount, Outcount, Status )
496 # if ( RWORDSIZE == DWORDSIZE )
497 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
498 locCount, Outcount, Status )
500 CALL ext_phdf5_get_dom_ti_real ( Hndl, Element, Data, &
501 locCount, Outcount, Status )
506 # if ( RWORDSIZE == DWORDSIZE )
507 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
508 locCount, Outcount, Status )
510 CALL ext_esmf_get_dom_ti_real ( Hndl, Element, Data, &
511 locCount, Outcount, Status )
516 # if ( RWORDSIZE == DWORDSIZE )
517 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
518 locCount, Outcount, Status )
520 CALL ext_xxx_get_dom_ti_real ( Hndl, Element, Data, &
521 locCount, Outcount, Status )
526 # if ( RWORDSIZE == DWORDSIZE )
527 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
528 locCount, Outcount, Status )
530 CALL ext_yyy_get_dom_ti_real ( Hndl, Element, Data, &
531 locCount, Outcount, Status )
536 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
537 # if ( RWORDSIZE == DWORDSIZE )
538 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
539 locCount, Outcount, Status )
541 CALL ext_gr1_get_dom_ti_real ( Hndl, Element, Data, &
542 locCount, Outcount, Status )
545 IF ( .NOT. multi_files(io_form) ) THEN
548 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
549 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
554 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
559 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
560 # if ( RWORDSIZE == DWORDSIZE )
561 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
562 locCount, Outcount, Status )
564 CALL ext_gr2_get_dom_ti_real ( Hndl, Element, Data, &
565 locCount, Outcount, Status )
568 IF ( .NOT. multi_files(io_form) ) THEN
571 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
572 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
577 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
582 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
583 # if ( RWORDSIZE == DWORDSIZE )
584 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
585 locCount, Outcount, Status )
587 CALL ext_int_get_dom_ti_real ( Hndl, Element, Data, &
588 locCount, Outcount, Status )
591 IF ( .NOT. multi_files(io_form) ) THEN
594 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
595 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
600 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
605 ELSE IF ( for_out .AND. use_output_servers() ) THEN
606 CALL wrf_quilt_get_dom_ti_real ( Hndl, Element, Data, &
607 locCount, Outcount, Status )
612 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
615 END SUBROUTINE wrf_get_dom_ti_real_sca
620 SUBROUTINE wrf_put_dom_ti_real_arr ( DataHandle,Element, Data, Count, Status )
624 ! Write Count words of time independent
625 ! domain metadata named "Element"
626 ! to the open dataset described by DataHandle.
627 ! Metadata of type real are
628 ! copied from array Data.
633 USE module_state_description
635 INTEGER , INTENT(IN) :: DataHandle
636 CHARACTER*(*) , INTENT(IN) :: Element
642 INTEGER , INTENT(IN) :: Count
644 INTEGER , INTENT(OUT) :: Status
646 #include <wrf_status_codes.h>
647 INTEGER :: len_of_str
649 INTEGER, EXTERNAL :: use_package
650 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
653 INTEGER io_form , Hndl
655 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_real_arr " )
662 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
663 IF ( Hndl .GT. -1 ) THEN
664 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
665 SELECT CASE ( use_package( io_form ) )
668 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
669 # if ( RWORDSIZE == DWORDSIZE )
670 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
673 CALL ext_ncd_put_dom_ti_real ( Hndl, Element, Data, &
677 IF ( .NOT. multi_files(io_form) ) THEN
686 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
691 # if ( RWORDSIZE == DWORDSIZE )
692 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
695 CALL ext_pnc_put_dom_ti_real ( Hndl, Element, Data, &
701 # if ( RWORDSIZE == DWORDSIZE )
702 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
705 CALL ext_phdf5_put_dom_ti_real ( Hndl, Element, Data, &
711 # if ( RWORDSIZE == DWORDSIZE )
712 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
715 CALL ext_esmf_put_dom_ti_real ( Hndl, Element, Data, &
721 # if ( RWORDSIZE == DWORDSIZE )
722 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
725 CALL ext_xxx_put_dom_ti_real ( Hndl, Element, Data, &
731 # if ( RWORDSIZE == DWORDSIZE )
732 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
735 CALL ext_yyy_put_dom_ti_real ( Hndl, Element, Data, &
741 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
742 # if ( RWORDSIZE == DWORDSIZE )
743 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
746 CALL ext_gr1_put_dom_ti_real ( Hndl, Element, Data, &
750 IF ( .NOT. multi_files(io_form) ) THEN
759 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
764 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
765 # if ( RWORDSIZE == DWORDSIZE )
766 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
769 CALL ext_gr2_put_dom_ti_real ( Hndl, Element, Data, &
773 IF ( .NOT. multi_files(io_form) ) THEN
782 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
787 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
788 # if ( RWORDSIZE == DWORDSIZE )
789 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
792 CALL ext_int_put_dom_ti_real ( Hndl, Element, Data, &
796 IF ( .NOT. multi_files(io_form) ) THEN
805 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
810 ELSE IF ( for_out .AND. use_output_servers() ) THEN
811 CALL wrf_quilt_put_dom_ti_real ( Hndl, Element, Data, &
817 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
820 END SUBROUTINE wrf_put_dom_ti_real_arr
823 SUBROUTINE wrf_put_dom_ti_real_sca ( DataHandle,Element, Data, Count, Status )
827 ! Write time independent
828 ! domain metadata named "Element"
829 ! to the open dataset described by DataHandle.
830 ! Metadata of type real are
831 ! copied from scalar Data.
836 USE module_state_description
838 INTEGER , INTENT(IN) :: DataHandle
839 CHARACTER*(*) , INTENT(IN) :: Element
845 INTEGER , INTENT(IN) :: Count
847 INTEGER , INTENT(OUT) :: Status
849 #include <wrf_status_codes.h>
850 INTEGER :: len_of_str
852 INTEGER, EXTERNAL :: use_package
853 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
856 INTEGER io_form , Hndl
858 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_real_sca " )
865 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
866 IF ( Hndl .GT. -1 ) THEN
867 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
868 SELECT CASE ( use_package( io_form ) )
871 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
872 # if ( RWORDSIZE == DWORDSIZE )
873 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
876 CALL ext_ncd_put_dom_ti_real ( Hndl, Element, Data, &
880 IF ( .NOT. multi_files(io_form) ) THEN
889 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
894 # if ( RWORDSIZE == DWORDSIZE )
895 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
898 CALL ext_pnc_put_dom_ti_real ( Hndl, Element, Data, &
904 # if ( RWORDSIZE == DWORDSIZE )
905 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
908 CALL ext_phdf5_put_dom_ti_real ( Hndl, Element, Data, &
914 # if ( RWORDSIZE == DWORDSIZE )
915 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
918 CALL ext_esmf_put_dom_ti_real ( Hndl, Element, Data, &
924 # if ( RWORDSIZE == DWORDSIZE )
925 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
928 CALL ext_xxx_put_dom_ti_real ( Hndl, Element, Data, &
934 # if ( RWORDSIZE == DWORDSIZE )
935 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
938 CALL ext_yyy_put_dom_ti_real ( Hndl, Element, Data, &
944 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
945 # if ( RWORDSIZE == DWORDSIZE )
946 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
949 CALL ext_gr1_put_dom_ti_real ( Hndl, Element, Data, &
953 IF ( .NOT. multi_files(io_form) ) THEN
962 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
967 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
968 # if ( RWORDSIZE == DWORDSIZE )
969 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
972 CALL ext_gr2_put_dom_ti_real ( Hndl, Element, Data, &
976 IF ( .NOT. multi_files(io_form) ) THEN
985 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
990 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
991 # if ( RWORDSIZE == DWORDSIZE )
992 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
995 CALL ext_int_put_dom_ti_real ( Hndl, Element, Data, &
999 IF ( .NOT. multi_files(io_form) ) THEN
1008 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1013 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1014 CALL wrf_quilt_put_dom_ti_real ( Hndl, Element, Data, &
1020 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1023 END SUBROUTINE wrf_put_dom_ti_real_sca
1026 !--- get_dom_ti_double
1028 SUBROUTINE wrf_get_dom_ti_double_arr ( DataHandle,Element, Data, Count, Outcount, Status )
1032 ! Attempt to read Count words of time independent
1033 ! domain metadata named "Element"
1034 ! from the open dataset described by DataHandle.
1035 ! Metadata of type double are
1036 ! stored in array Data.
1037 ! Actual number of words read is returned in OutCount.
1041 USE module_state_description
1043 INTEGER , INTENT(IN) :: DataHandle
1044 CHARACTER*(*) , INTENT(IN) :: Element
1050 INTEGER , INTENT(IN) :: Count
1051 INTEGER , INTENT(OUT) :: OutCount
1052 INTEGER , INTENT(OUT) :: Status
1054 #include <wrf_status_codes.h>
1055 INTEGER :: len_of_str
1057 INTEGER, EXTERNAL :: use_package
1058 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
1061 INTEGER io_form , Hndl
1063 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_double_arr " )
1070 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1071 IF ( Hndl .GT. -1 ) THEN
1072 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
1073 SELECT CASE ( use_package( io_form ) )
1076 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1077 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
1078 locCount, Outcount, Status )
1080 IF ( .NOT. multi_files(io_form) ) THEN
1089 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1094 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
1095 locCount, Outcount, Status )
1099 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
1100 locCount, Outcount, Status )
1104 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
1105 locCount, Outcount, Status )
1109 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
1110 locCount, Outcount, Status )
1114 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
1115 locCount, Outcount, Status )
1119 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1120 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
1121 locCount, Outcount, Status )
1123 IF ( .NOT. multi_files(io_form) ) THEN
1132 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1137 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1138 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
1139 locCount, Outcount, Status )
1141 IF ( .NOT. multi_files(io_form) ) THEN
1150 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1155 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1156 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
1157 locCount, Outcount, Status )
1159 IF ( .NOT. multi_files(io_form) ) THEN
1168 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1173 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1174 CALL wrf_quilt_get_dom_ti_double ( Hndl, Element, Data, &
1175 locCount, Outcount, Status )
1180 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1183 END SUBROUTINE wrf_get_dom_ti_double_arr
1184 !--- get_dom_ti_double
1186 SUBROUTINE wrf_get_dom_ti_double_sca ( DataHandle,Element, Data, Count, Outcount, Status )
1190 ! Attempt to read time independent
1191 ! domain metadata named "Element"
1192 ! from the open dataset described by DataHandle.
1193 ! Metadata of type double are
1194 ! stored in scalar Data.
1199 USE module_state_description
1201 INTEGER , INTENT(IN) :: DataHandle
1202 CHARACTER*(*) , INTENT(IN) :: Element
1208 INTEGER , INTENT(IN) :: Count
1209 INTEGER , INTENT(OUT) :: OutCount
1210 INTEGER , INTENT(OUT) :: Status
1212 #include <wrf_status_codes.h>
1213 INTEGER :: len_of_str
1215 INTEGER, EXTERNAL :: use_package
1216 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
1219 INTEGER io_form , Hndl
1221 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_double_sca " )
1228 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1229 IF ( Hndl .GT. -1 ) THEN
1230 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
1231 SELECT CASE ( use_package( io_form ) )
1234 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1235 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
1236 locCount, Outcount, Status )
1238 IF ( .NOT. multi_files(io_form) ) THEN
1247 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1252 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
1253 locCount, Outcount, Status )
1257 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
1258 locCount, Outcount, Status )
1262 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
1263 locCount, Outcount, Status )
1267 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
1268 locCount, Outcount, Status )
1272 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
1273 locCount, Outcount, Status )
1277 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1278 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
1279 locCount, Outcount, Status )
1281 IF ( .NOT. multi_files(io_form) ) THEN
1290 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1295 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1296 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
1297 locCount, Outcount, Status )
1299 IF ( .NOT. multi_files(io_form) ) THEN
1308 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1313 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1314 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
1315 locCount, Outcount, Status )
1317 IF ( .NOT. multi_files(io_form) ) THEN
1326 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1331 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1332 CALL wrf_quilt_get_dom_ti_double ( Hndl, Element, Data, &
1333 locCount, Outcount, Status )
1338 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1341 END SUBROUTINE wrf_get_dom_ti_double_sca
1344 !--- put_dom_ti_double
1346 SUBROUTINE wrf_put_dom_ti_double_arr ( DataHandle,Element, Data, Count, Status )
1350 ! Write Count words of time independent
1351 ! domain metadata named "Element"
1352 ! to the open dataset described by DataHandle.
1353 ! Metadata of type double are
1354 ! copied from array Data.
1359 USE module_state_description
1361 INTEGER , INTENT(IN) :: DataHandle
1362 CHARACTER*(*) , INTENT(IN) :: Element
1368 INTEGER , INTENT(IN) :: Count
1370 INTEGER , INTENT(OUT) :: Status
1372 #include <wrf_status_codes.h>
1373 INTEGER :: len_of_str
1375 INTEGER, EXTERNAL :: use_package
1376 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
1379 INTEGER io_form , Hndl
1381 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_double_arr " )
1388 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1389 IF ( Hndl .GT. -1 ) THEN
1390 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
1391 SELECT CASE ( use_package( io_form ) )
1394 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1395 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
1398 IF ( .NOT. multi_files(io_form) ) THEN
1407 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1412 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
1417 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
1422 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
1427 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
1432 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
1437 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1438 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
1441 IF ( .NOT. multi_files(io_form) ) THEN
1450 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1455 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1456 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
1459 IF ( .NOT. multi_files(io_form) ) THEN
1468 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1473 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1474 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
1477 IF ( .NOT. multi_files(io_form) ) THEN
1486 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1491 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1492 CALL wrf_quilt_put_dom_ti_double ( Hndl, Element, Data, &
1498 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1501 END SUBROUTINE wrf_put_dom_ti_double_arr
1502 !--- put_dom_ti_double
1504 SUBROUTINE wrf_put_dom_ti_double_sca ( DataHandle,Element, Data, Count, Status )
1508 ! Write time independent
1509 ! domain metadata named "Element"
1510 ! to the open dataset described by DataHandle.
1511 ! Metadata of type double are
1512 ! copied from scalar Data.
1517 USE module_state_description
1519 INTEGER , INTENT(IN) :: DataHandle
1520 CHARACTER*(*) , INTENT(IN) :: Element
1526 INTEGER , INTENT(IN) :: Count
1528 INTEGER , INTENT(OUT) :: Status
1530 #include <wrf_status_codes.h>
1531 INTEGER :: len_of_str
1533 INTEGER, EXTERNAL :: use_package
1534 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
1537 INTEGER io_form , Hndl
1539 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_double_sca " )
1546 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1547 IF ( Hndl .GT. -1 ) THEN
1548 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
1549 SELECT CASE ( use_package( io_form ) )
1552 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1553 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
1556 IF ( .NOT. multi_files(io_form) ) THEN
1565 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1570 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
1575 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
1580 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
1585 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
1590 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
1595 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1596 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
1599 IF ( .NOT. multi_files(io_form) ) THEN
1608 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1613 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1614 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
1617 IF ( .NOT. multi_files(io_form) ) THEN
1626 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1631 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1632 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
1635 IF ( .NOT. multi_files(io_form) ) THEN
1644 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1649 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1650 CALL wrf_quilt_put_dom_ti_double ( Hndl, Element, Data, &
1656 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1659 END SUBROUTINE wrf_put_dom_ti_double_sca
1662 !--- get_dom_ti_integer
1664 SUBROUTINE wrf_get_dom_ti_integer_arr ( DataHandle,Element, Data, Count, Outcount, Status )
1668 ! Attempt to read Count words of time independent
1669 ! domain metadata named "Element"
1670 ! from the open dataset described by DataHandle.
1671 ! Metadata of type integer are
1672 ! stored in array Data.
1673 ! Actual number of words read is returned in OutCount.
1677 USE module_state_description
1679 INTEGER , INTENT(IN) :: DataHandle
1680 CHARACTER*(*) , INTENT(IN) :: Element
1686 INTEGER , INTENT(IN) :: Count
1687 INTEGER , INTENT(OUT) :: OutCount
1688 INTEGER , INTENT(OUT) :: Status
1690 #include <wrf_status_codes.h>
1691 INTEGER :: len_of_str
1693 INTEGER, EXTERNAL :: use_package
1694 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
1697 INTEGER io_form , Hndl
1699 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_integer_arr " )
1706 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1707 IF ( Hndl .GT. -1 ) THEN
1708 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
1709 SELECT CASE ( use_package( io_form ) )
1712 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1713 CALL ext_ncd_get_dom_ti_integer ( Hndl, Element, Data, &
1714 locCount, Outcount, Status )
1716 IF ( .NOT. multi_files(io_form) ) THEN
1717 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1718 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1725 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1730 CALL ext_pnc_get_dom_ti_integer ( Hndl, Element, Data, &
1731 locCount, Outcount, Status )
1735 CALL ext_phdf5_get_dom_ti_integer ( Hndl, Element, Data, &
1736 locCount, Outcount, Status )
1740 CALL ext_esmf_get_dom_ti_integer ( Hndl, Element, Data, &
1741 locCount, Outcount, Status )
1745 CALL ext_xxx_get_dom_ti_integer ( Hndl, Element, Data, &
1746 locCount, Outcount, Status )
1750 CALL ext_yyy_get_dom_ti_integer ( Hndl, Element, Data, &
1751 locCount, Outcount, Status )
1755 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1756 CALL ext_gr1_get_dom_ti_integer ( Hndl, Element, Data, &
1757 locCount, Outcount, Status )
1759 IF ( .NOT. multi_files(io_form) ) THEN
1760 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1761 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1768 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1773 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1774 CALL ext_gr2_get_dom_ti_integer ( Hndl, Element, Data, &
1775 locCount, Outcount, Status )
1777 IF ( .NOT. multi_files(io_form) ) THEN
1778 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1779 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1786 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1791 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1792 CALL ext_int_get_dom_ti_integer ( Hndl, Element, Data, &
1793 locCount, Outcount, Status )
1795 IF ( .NOT. multi_files(io_form) ) THEN
1796 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1797 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1804 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1809 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1810 CALL wrf_quilt_get_dom_ti_integer ( Hndl, Element, Data, &
1811 locCount, Outcount, Status )
1816 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1819 END SUBROUTINE wrf_get_dom_ti_integer_arr
1820 !--- get_dom_ti_integer
1822 SUBROUTINE wrf_get_dom_ti_integer_sca ( DataHandle,Element, Data, Count, Outcount, Status )
1826 ! Attempt to read time independent
1827 ! domain metadata named "Element"
1828 ! from the open dataset described by DataHandle.
1829 ! Metadata of type integer are
1830 ! stored in scalar Data.
1835 USE module_state_description
1837 INTEGER , INTENT(IN) :: DataHandle
1838 CHARACTER*(*) , INTENT(IN) :: Element
1844 INTEGER , INTENT(IN) :: Count
1845 INTEGER , INTENT(OUT) :: OutCount
1846 INTEGER , INTENT(OUT) :: Status
1848 #include <wrf_status_codes.h>
1849 INTEGER :: len_of_str
1851 INTEGER, EXTERNAL :: use_package
1852 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
1855 INTEGER io_form , Hndl
1857 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_integer_sca " )
1864 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1865 IF ( Hndl .GT. -1 ) THEN
1866 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
1867 SELECT CASE ( use_package( io_form ) )
1870 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1871 CALL ext_ncd_get_dom_ti_integer ( Hndl, Element, Data, &
1872 locCount, Outcount, Status )
1874 IF ( .NOT. multi_files(io_form) ) THEN
1875 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1876 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1883 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1888 CALL ext_pnc_get_dom_ti_integer ( Hndl, Element, Data, &
1889 locCount, Outcount, Status )
1893 CALL ext_phdf5_get_dom_ti_integer ( Hndl, Element, Data, &
1894 locCount, Outcount, Status )
1898 CALL ext_esmf_get_dom_ti_integer ( Hndl, Element, Data, &
1899 locCount, Outcount, Status )
1903 CALL ext_xxx_get_dom_ti_integer ( Hndl, Element, Data, &
1904 locCount, Outcount, Status )
1908 CALL ext_yyy_get_dom_ti_integer ( Hndl, Element, Data, &
1909 locCount, Outcount, Status )
1913 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1914 CALL ext_gr1_get_dom_ti_integer ( Hndl, Element, Data, &
1915 locCount, Outcount, Status )
1917 IF ( .NOT. multi_files(io_form) ) THEN
1918 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1919 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1926 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1931 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1932 CALL ext_gr2_get_dom_ti_integer ( Hndl, Element, Data, &
1933 locCount, Outcount, Status )
1935 IF ( .NOT. multi_files(io_form) ) THEN
1936 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1937 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1944 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1949 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1950 CALL ext_int_get_dom_ti_integer ( Hndl, Element, Data, &
1951 locCount, Outcount, Status )
1953 IF ( .NOT. multi_files(io_form) ) THEN
1954 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1955 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1962 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1967 ELSE IF ( for_out .AND. use_output_servers() ) THEN
1968 CALL wrf_quilt_get_dom_ti_integer ( Hndl, Element, Data, &
1969 locCount, Outcount, Status )
1974 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1977 END SUBROUTINE wrf_get_dom_ti_integer_sca
1980 !--- put_dom_ti_integer
1982 SUBROUTINE wrf_put_dom_ti_integer_arr ( DataHandle,Element, Data, Count, Status )
1986 ! Write Count words of time independent
1987 ! domain metadata named "Element"
1988 ! to the open dataset described by DataHandle.
1989 ! Metadata of type integer are
1990 ! copied from array Data.
1995 USE module_state_description
1997 INTEGER , INTENT(IN) :: DataHandle
1998 CHARACTER*(*) , INTENT(IN) :: Element
2004 INTEGER , INTENT(IN) :: Count
2006 INTEGER , INTENT(OUT) :: Status
2008 #include <wrf_status_codes.h>
2009 INTEGER :: len_of_str
2011 INTEGER, EXTERNAL :: use_package
2012 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2015 INTEGER io_form , Hndl
2017 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_integer_arr " )
2024 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2025 IF ( Hndl .GT. -1 ) THEN
2026 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2027 SELECT CASE ( use_package( io_form ) )
2030 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2031 CALL ext_ncd_put_dom_ti_integer ( Hndl, Element, Data, &
2034 IF ( .NOT. multi_files(io_form) ) THEN
2043 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2048 CALL ext_pnc_put_dom_ti_integer ( Hndl, Element, Data, &
2053 CALL ext_phdf5_put_dom_ti_integer ( Hndl, Element, Data, &
2058 CALL ext_esmf_put_dom_ti_integer ( Hndl, Element, Data, &
2063 CALL ext_xxx_put_dom_ti_integer ( Hndl, Element, Data, &
2068 CALL ext_yyy_put_dom_ti_integer ( Hndl, Element, Data, &
2073 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2074 CALL ext_gr1_put_dom_ti_integer ( Hndl, Element, Data, &
2077 IF ( .NOT. multi_files(io_form) ) THEN
2086 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2091 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2092 CALL ext_gr2_put_dom_ti_integer ( Hndl, Element, Data, &
2095 IF ( .NOT. multi_files(io_form) ) THEN
2104 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2109 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2110 CALL ext_int_put_dom_ti_integer ( Hndl, Element, Data, &
2113 IF ( .NOT. multi_files(io_form) ) THEN
2122 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2127 ELSE IF ( for_out .AND. use_output_servers() ) THEN
2128 CALL wrf_quilt_put_dom_ti_integer ( Hndl, Element, Data, &
2134 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2137 END SUBROUTINE wrf_put_dom_ti_integer_arr
2138 !--- put_dom_ti_integer
2140 SUBROUTINE wrf_put_dom_ti_integer_sca ( DataHandle,Element, Data, Count, Status )
2144 ! Write time independent
2145 ! domain metadata named "Element"
2146 ! to the open dataset described by DataHandle.
2147 ! Metadata of type integer are
2148 ! copied from scalar Data.
2153 USE module_state_description
2155 INTEGER , INTENT(IN) :: DataHandle
2156 CHARACTER*(*) , INTENT(IN) :: Element
2162 INTEGER , INTENT(IN) :: Count
2164 INTEGER , INTENT(OUT) :: Status
2166 #include <wrf_status_codes.h>
2167 INTEGER :: len_of_str
2169 INTEGER, EXTERNAL :: use_package
2170 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2173 INTEGER io_form , Hndl
2175 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_integer_sca " )
2182 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2183 IF ( Hndl .GT. -1 ) THEN
2184 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2185 SELECT CASE ( use_package( io_form ) )
2188 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2189 CALL ext_ncd_put_dom_ti_integer ( Hndl, Element, Data, &
2192 IF ( .NOT. multi_files(io_form) ) THEN
2201 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2206 CALL ext_pnc_put_dom_ti_integer ( Hndl, Element, Data, &
2211 CALL ext_phdf5_put_dom_ti_integer ( Hndl, Element, Data, &
2216 CALL ext_esmf_put_dom_ti_integer ( Hndl, Element, Data, &
2221 CALL ext_xxx_put_dom_ti_integer ( Hndl, Element, Data, &
2226 CALL ext_yyy_put_dom_ti_integer ( Hndl, Element, Data, &
2231 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2232 CALL ext_gr1_put_dom_ti_integer ( Hndl, Element, Data, &
2235 IF ( .NOT. multi_files(io_form) ) THEN
2244 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2249 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2250 CALL ext_gr2_put_dom_ti_integer ( Hndl, Element, Data, &
2253 IF ( .NOT. multi_files(io_form) ) THEN
2262 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2267 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2268 CALL ext_int_put_dom_ti_integer ( Hndl, Element, Data, &
2271 IF ( .NOT. multi_files(io_form) ) THEN
2280 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2285 ELSE IF ( for_out .AND. use_output_servers() ) THEN
2286 CALL wrf_quilt_put_dom_ti_integer ( Hndl, Element, Data, &
2292 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2295 END SUBROUTINE wrf_put_dom_ti_integer_sca
2298 !--- get_dom_ti_logical
2300 SUBROUTINE wrf_get_dom_ti_logical_arr ( DataHandle,Element, Data, Count, Outcount, Status )
2304 ! Attempt to read Count words of time independent
2305 ! domain metadata named "Element"
2306 ! from the open dataset described by DataHandle.
2307 ! Metadata of type logical are
2308 ! stored in array Data.
2309 ! Actual number of words read is returned in OutCount.
2313 USE module_state_description
2315 INTEGER , INTENT(IN) :: DataHandle
2316 CHARACTER*(*) , INTENT(IN) :: Element
2322 INTEGER , INTENT(IN) :: Count
2323 INTEGER , INTENT(OUT) :: OutCount
2324 INTEGER , INTENT(OUT) :: Status
2326 #include <wrf_status_codes.h>
2327 INTEGER :: len_of_str
2329 INTEGER, EXTERNAL :: use_package
2330 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2333 INTEGER io_form , Hndl
2335 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_logical_arr " )
2342 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2343 IF ( Hndl .GT. -1 ) THEN
2344 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2345 SELECT CASE ( use_package( io_form ) )
2348 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2349 CALL ext_ncd_get_dom_ti_logical ( Hndl, Element, Data, &
2350 locCount, Outcount, Status )
2352 IF ( .NOT. multi_files(io_form) ) THEN
2357 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2358 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2361 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2366 CALL ext_pnc_get_dom_ti_logical ( Hndl, Element, Data, &
2367 locCount, Outcount, Status )
2371 CALL ext_phdf5_get_dom_ti_logical ( Hndl, Element, Data, &
2372 locCount, Outcount, Status )
2376 CALL ext_esmf_get_dom_ti_logical ( Hndl, Element, Data, &
2377 locCount, Outcount, Status )
2381 CALL ext_xxx_get_dom_ti_logical ( Hndl, Element, Data, &
2382 locCount, Outcount, Status )
2386 CALL ext_yyy_get_dom_ti_logical ( Hndl, Element, Data, &
2387 locCount, Outcount, Status )
2391 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2392 CALL ext_gr1_get_dom_ti_logical ( Hndl, Element, Data, &
2393 locCount, Outcount, Status )
2395 IF ( .NOT. multi_files(io_form) ) THEN
2400 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2401 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2404 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2409 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2410 CALL ext_gr2_get_dom_ti_logical ( Hndl, Element, Data, &
2411 locCount, Outcount, Status )
2413 IF ( .NOT. multi_files(io_form) ) THEN
2418 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2419 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2422 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2427 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2428 CALL ext_int_get_dom_ti_logical ( Hndl, Element, Data, &
2429 locCount, Outcount, Status )
2431 IF ( .NOT. multi_files(io_form) ) THEN
2436 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2437 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2440 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2445 ELSE IF ( for_out .AND. use_output_servers() ) THEN
2446 CALL wrf_quilt_get_dom_ti_logical ( Hndl, Element, Data, &
2447 locCount, Outcount, Status )
2452 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2455 END SUBROUTINE wrf_get_dom_ti_logical_arr
2456 !--- get_dom_ti_logical
2458 SUBROUTINE wrf_get_dom_ti_logical_sca ( DataHandle,Element, Data, Count, Outcount, Status )
2462 ! Attempt to read time independent
2463 ! domain metadata named "Element"
2464 ! from the open dataset described by DataHandle.
2465 ! Metadata of type logical are
2466 ! stored in scalar Data.
2471 USE module_state_description
2473 INTEGER , INTENT(IN) :: DataHandle
2474 CHARACTER*(*) , INTENT(IN) :: Element
2480 INTEGER , INTENT(IN) :: Count
2481 INTEGER , INTENT(OUT) :: OutCount
2482 INTEGER , INTENT(OUT) :: Status
2484 #include <wrf_status_codes.h>
2485 INTEGER :: len_of_str
2487 INTEGER, EXTERNAL :: use_package
2488 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2491 INTEGER io_form , Hndl
2493 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_logical_sca " )
2500 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2501 IF ( Hndl .GT. -1 ) THEN
2502 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2503 SELECT CASE ( use_package( io_form ) )
2506 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2507 CALL ext_ncd_get_dom_ti_logical ( Hndl, Element, Data, &
2508 locCount, Outcount, Status )
2510 IF ( .NOT. multi_files(io_form) ) THEN
2515 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2516 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2519 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2524 CALL ext_pnc_get_dom_ti_logical ( Hndl, Element, Data, &
2525 locCount, Outcount, Status )
2529 CALL ext_phdf5_get_dom_ti_logical ( Hndl, Element, Data, &
2530 locCount, Outcount, Status )
2534 CALL ext_esmf_get_dom_ti_logical ( Hndl, Element, Data, &
2535 locCount, Outcount, Status )
2539 CALL ext_xxx_get_dom_ti_logical ( Hndl, Element, Data, &
2540 locCount, Outcount, Status )
2544 CALL ext_yyy_get_dom_ti_logical ( Hndl, Element, Data, &
2545 locCount, Outcount, Status )
2549 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2550 CALL ext_gr1_get_dom_ti_logical ( Hndl, Element, Data, &
2551 locCount, Outcount, Status )
2553 IF ( .NOT. multi_files(io_form) ) THEN
2558 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2559 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2562 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2567 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2568 CALL ext_gr2_get_dom_ti_logical ( Hndl, Element, Data, &
2569 locCount, Outcount, Status )
2571 IF ( .NOT. multi_files(io_form) ) THEN
2576 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2577 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2580 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2585 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2586 CALL ext_int_get_dom_ti_logical ( Hndl, Element, Data, &
2587 locCount, Outcount, Status )
2589 IF ( .NOT. multi_files(io_form) ) THEN
2594 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2595 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2598 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2603 ELSE IF ( for_out .AND. use_output_servers() ) THEN
2604 CALL wrf_quilt_get_dom_ti_logical ( Hndl, Element, Data, &
2605 locCount, Outcount, Status )
2610 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2613 END SUBROUTINE wrf_get_dom_ti_logical_sca
2616 !--- put_dom_ti_logical
2618 SUBROUTINE wrf_put_dom_ti_logical_arr ( DataHandle,Element, Data, Count, Status )
2622 ! Write Count words of time independent
2623 ! domain metadata named "Element"
2624 ! to the open dataset described by DataHandle.
2625 ! Metadata of type logical are
2626 ! copied from array Data.
2631 USE module_state_description
2633 INTEGER , INTENT(IN) :: DataHandle
2634 CHARACTER*(*) , INTENT(IN) :: Element
2640 INTEGER , INTENT(IN) :: Count
2642 INTEGER , INTENT(OUT) :: Status
2644 #include <wrf_status_codes.h>
2645 INTEGER :: len_of_str
2647 INTEGER, EXTERNAL :: use_package
2648 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2651 INTEGER io_form , Hndl
2653 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_logical_arr " )
2660 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2661 IF ( Hndl .GT. -1 ) THEN
2662 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2663 SELECT CASE ( use_package( io_form ) )
2666 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2667 CALL ext_ncd_put_dom_ti_logical ( Hndl, Element, Data, &
2670 IF ( .NOT. multi_files(io_form) ) THEN
2679 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2684 CALL ext_pnc_put_dom_ti_logical ( Hndl, Element, Data, &
2689 CALL ext_phdf5_put_dom_ti_logical ( Hndl, Element, Data, &
2694 CALL ext_esmf_put_dom_ti_logical ( Hndl, Element, Data, &
2699 CALL ext_xxx_put_dom_ti_logical ( Hndl, Element, Data, &
2704 CALL ext_yyy_put_dom_ti_logical ( Hndl, Element, Data, &
2709 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2710 CALL ext_gr1_put_dom_ti_logical ( Hndl, Element, Data, &
2713 IF ( .NOT. multi_files(io_form) ) THEN
2722 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2727 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2728 CALL ext_gr2_put_dom_ti_logical ( Hndl, Element, Data, &
2731 IF ( .NOT. multi_files(io_form) ) THEN
2740 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2745 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2746 CALL ext_int_put_dom_ti_logical ( Hndl, Element, Data, &
2749 IF ( .NOT. multi_files(io_form) ) THEN
2758 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2763 ELSE IF ( for_out .AND. use_output_servers() ) THEN
2764 CALL wrf_quilt_put_dom_ti_logical ( Hndl, Element, Data, &
2770 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2773 END SUBROUTINE wrf_put_dom_ti_logical_arr
2774 !--- put_dom_ti_logical
2776 SUBROUTINE wrf_put_dom_ti_logical_sca ( DataHandle,Element, Data, Count, Status )
2780 ! Write time independent
2781 ! domain metadata named "Element"
2782 ! to the open dataset described by DataHandle.
2783 ! Metadata of type logical are
2784 ! copied from scalar Data.
2789 USE module_state_description
2791 INTEGER , INTENT(IN) :: DataHandle
2792 CHARACTER*(*) , INTENT(IN) :: Element
2798 INTEGER , INTENT(IN) :: Count
2800 INTEGER , INTENT(OUT) :: Status
2802 #include <wrf_status_codes.h>
2803 INTEGER :: len_of_str
2805 INTEGER, EXTERNAL :: use_package
2806 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2809 INTEGER io_form , Hndl
2811 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_logical_sca " )
2818 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2819 IF ( Hndl .GT. -1 ) THEN
2820 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2821 SELECT CASE ( use_package( io_form ) )
2824 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2825 CALL ext_ncd_put_dom_ti_logical ( Hndl, Element, Data, &
2828 IF ( .NOT. multi_files(io_form) ) THEN
2837 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2842 CALL ext_pnc_put_dom_ti_logical ( Hndl, Element, Data, &
2847 CALL ext_phdf5_put_dom_ti_logical ( Hndl, Element, Data, &
2852 CALL ext_esmf_put_dom_ti_logical ( Hndl, Element, Data, &
2857 CALL ext_xxx_put_dom_ti_logical ( Hndl, Element, Data, &
2862 CALL ext_yyy_put_dom_ti_logical ( Hndl, Element, Data, &
2867 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2868 CALL ext_gr1_put_dom_ti_logical ( Hndl, Element, Data, &
2871 IF ( .NOT. multi_files(io_form) ) THEN
2880 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2885 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2886 CALL ext_gr2_put_dom_ti_logical ( Hndl, Element, Data, &
2889 IF ( .NOT. multi_files(io_form) ) THEN
2898 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2903 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2904 CALL ext_int_put_dom_ti_logical ( Hndl, Element, Data, &
2907 IF ( .NOT. multi_files(io_form) ) THEN
2916 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2921 ELSE IF ( for_out .AND. use_output_servers() ) THEN
2922 CALL wrf_quilt_put_dom_ti_logical ( Hndl, Element, Data, &
2928 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2931 END SUBROUTINE wrf_put_dom_ti_logical_sca
2934 !--- get_dom_ti_char
2936 SUBROUTINE wrf_get_dom_ti_char_arr ( DataHandle,Element, Data, Status )
2940 ! Attempt to read time independent
2941 ! domain metadata named "Element"
2942 ! from the open dataset described by DataHandle.
2943 ! Metadata of type char are
2944 ! stored in string Data.
2949 USE module_state_description
2951 INTEGER , INTENT(IN) :: DataHandle
2952 CHARACTER*(*) , INTENT(IN) :: Element
2956 CHARACTER*(*) :: Data
2960 INTEGER , INTENT(OUT) :: Status
2962 #include <wrf_status_codes.h>
2963 INTEGER :: len_of_str
2965 INTEGER, EXTERNAL :: use_package
2966 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
2969 INTEGER io_form , Hndl
2971 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_char_arr " )
2978 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2979 IF ( Hndl .GT. -1 ) THEN
2980 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
2981 SELECT CASE ( use_package( io_form ) )
2984 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2985 CALL ext_ncd_get_dom_ti_char ( Hndl, Element, Data, &
2988 IF ( .NOT. multi_files(io_form) ) THEN
2995 len_of_str = LEN(Data)
2996 CALL wrf_dm_bcast_string( Data, len_of_str )
2997 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3002 CALL ext_pnc_get_dom_ti_char ( Hndl, Element, Data, &
3007 CALL ext_phdf5_get_dom_ti_char ( Hndl, Element, Data, &
3012 CALL ext_esmf_get_dom_ti_char ( Hndl, Element, Data, &
3017 CALL ext_xxx_get_dom_ti_char ( Hndl, Element, Data, &
3022 CALL ext_yyy_get_dom_ti_char ( Hndl, Element, Data, &
3027 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3028 CALL ext_gr1_get_dom_ti_char ( Hndl, Element, Data, &
3031 IF ( .NOT. multi_files(io_form) ) THEN
3038 len_of_str = LEN(Data)
3039 CALL wrf_dm_bcast_string( Data, len_of_str )
3040 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3045 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3046 CALL ext_gr2_get_dom_ti_char ( Hndl, Element, Data, &
3049 IF ( .NOT. multi_files(io_form) ) THEN
3056 len_of_str = LEN(Data)
3057 CALL wrf_dm_bcast_string( Data, len_of_str )
3058 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3063 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3064 CALL ext_int_get_dom_ti_char ( Hndl, Element, Data, &
3067 IF ( .NOT. multi_files(io_form) ) THEN
3074 len_of_str = LEN(Data)
3075 CALL wrf_dm_bcast_string( Data, len_of_str )
3076 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3081 ELSE IF ( for_out .AND. use_output_servers() ) THEN
3082 CALL wrf_quilt_get_dom_ti_char ( Hndl, Element, Data, &
3088 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3091 END SUBROUTINE wrf_get_dom_ti_char_arr
3094 !--- put_dom_ti_char
3096 SUBROUTINE wrf_put_dom_ti_char_arr ( DataHandle,Element, Data, Status )
3100 ! Write time independent
3101 ! domain metadata named "Element"
3102 ! to the open dataset described by DataHandle.
3103 ! Metadata of type char are
3104 ! copied from string Data.
3109 USE module_state_description
3111 INTEGER , INTENT(IN) :: DataHandle
3112 CHARACTER*(*) , INTENT(IN) :: Element
3116 CHARACTER*(*) :: Data
3120 INTEGER , INTENT(OUT) :: Status
3122 #include <wrf_status_codes.h>
3123 INTEGER :: len_of_str
3125 INTEGER, EXTERNAL :: use_package
3126 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
3129 INTEGER io_form , Hndl
3131 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_char_arr " )
3138 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3139 IF ( Hndl .GT. -1 ) THEN
3140 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
3141 SELECT CASE ( use_package( io_form ) )
3144 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3145 CALL ext_ncd_put_dom_ti_char ( Hndl, Element, Data, &
3148 IF ( .NOT. multi_files(io_form) ) THEN
3157 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3162 CALL ext_pnc_put_dom_ti_char ( Hndl, Element, Data, &
3167 CALL ext_phdf5_put_dom_ti_char ( Hndl, Element, Data, &
3172 CALL ext_esmf_put_dom_ti_char ( Hndl, Element, Data, &
3177 CALL ext_xxx_put_dom_ti_char ( Hndl, Element, Data, &
3182 CALL ext_yyy_put_dom_ti_char ( Hndl, Element, Data, &
3187 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3188 CALL ext_gr1_put_dom_ti_char ( Hndl, Element, Data, &
3191 IF ( .NOT. multi_files(io_form) ) THEN
3200 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3205 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3206 CALL ext_gr2_put_dom_ti_char ( Hndl, Element, Data, &
3209 IF ( .NOT. multi_files(io_form) ) THEN
3218 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3223 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3224 CALL ext_int_put_dom_ti_char ( Hndl, Element, Data, &
3227 IF ( .NOT. multi_files(io_form) ) THEN
3236 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3241 ELSE IF ( for_out .AND. use_output_servers() ) THEN
3242 CALL wrf_quilt_put_dom_ti_char ( Hndl, Element, Data, &
3248 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3251 END SUBROUTINE wrf_put_dom_ti_char_arr
3255 !--- get_dom_td_real
3257 SUBROUTINE wrf_get_dom_td_real_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
3261 ! Attempt to read Count words of time dependent
3262 ! domain metadata named "Element" valid at time DateStr
3263 ! from the open dataset described by DataHandle.
3264 ! Metadata of type real are
3265 ! stored in array Data.
3266 ! Actual number of words read is returned in OutCount.
3270 USE module_state_description
3272 INTEGER , INTENT(IN) :: DataHandle
3273 CHARACTER*(*) , INTENT(IN) :: Element
3274 CHARACTER*(*) , INTENT(IN) :: DateStr
3279 INTEGER , INTENT(IN) :: Count
3280 INTEGER , INTENT(OUT) :: OutCount
3281 INTEGER , INTENT(OUT) :: Status
3283 #include <wrf_status_codes.h>
3284 INTEGER :: len_of_str
3286 INTEGER, EXTERNAL :: use_package
3287 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
3290 INTEGER io_form , Hndl
3292 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_real_arr " )
3299 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3300 IF ( Hndl .GT. -1 ) THEN
3301 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
3302 SELECT CASE ( use_package( io_form ) )
3305 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3306 # if ( RWORDSIZE == DWORDSIZE )
3307 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3308 locCount, Outcount, Status )
3310 CALL ext_ncd_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3311 locCount, Outcount, Status )
3314 IF ( .NOT. multi_files(io_form) ) THEN
3317 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3318 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3323 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3328 # if ( RWORDSIZE == DWORDSIZE )
3329 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3330 locCount, Outcount, Status )
3332 CALL ext_pnc_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3333 locCount, Outcount, Status )
3338 # if ( RWORDSIZE == DWORDSIZE )
3339 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3340 locCount, Outcount, Status )
3342 CALL ext_phdf5_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3343 locCount, Outcount, Status )
3348 # if ( RWORDSIZE == DWORDSIZE )
3349 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3350 locCount, Outcount, Status )
3352 CALL ext_esmf_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3353 locCount, Outcount, Status )
3358 # if ( RWORDSIZE == DWORDSIZE )
3359 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3360 locCount, Outcount, Status )
3362 CALL ext_xxx_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3363 locCount, Outcount, Status )
3368 # if ( RWORDSIZE == DWORDSIZE )
3369 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3370 locCount, Outcount, Status )
3372 CALL ext_yyy_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3373 locCount, Outcount, Status )
3378 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3379 # if ( RWORDSIZE == DWORDSIZE )
3380 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3381 locCount, Outcount, Status )
3383 CALL ext_gr1_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3384 locCount, Outcount, Status )
3387 IF ( .NOT. multi_files(io_form) ) THEN
3390 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3391 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3396 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3401 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3402 # if ( RWORDSIZE == DWORDSIZE )
3403 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3404 locCount, Outcount, Status )
3406 CALL ext_gr2_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3407 locCount, Outcount, Status )
3410 IF ( .NOT. multi_files(io_form) ) THEN
3413 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3414 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3419 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3424 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3425 # if ( RWORDSIZE == DWORDSIZE )
3426 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3427 locCount, Outcount, Status )
3429 CALL ext_int_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3430 locCount, Outcount, Status )
3433 IF ( .NOT. multi_files(io_form) ) THEN
3436 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3437 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3442 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3447 ELSE IF ( for_out .AND. use_output_servers() ) THEN
3448 CALL wrf_quilt_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3449 locCount, Outcount, Status )
3454 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3457 END SUBROUTINE wrf_get_dom_td_real_arr
3458 !--- get_dom_td_real
3460 SUBROUTINE wrf_get_dom_td_real_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
3464 ! Attempt to read time dependent
3465 ! domain metadata named "Element" valid at time DateStr
3466 ! from the open dataset described by DataHandle.
3467 ! Metadata of type real are
3468 ! stored in scalar Data.
3473 USE module_state_description
3475 INTEGER , INTENT(IN) :: DataHandle
3476 CHARACTER*(*) , INTENT(IN) :: Element
3477 CHARACTER*(*) , INTENT(IN) :: DateStr
3482 INTEGER , INTENT(IN) :: Count
3483 INTEGER , INTENT(OUT) :: OutCount
3484 INTEGER , INTENT(OUT) :: Status
3486 #include <wrf_status_codes.h>
3487 INTEGER :: len_of_str
3489 INTEGER, EXTERNAL :: use_package
3490 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
3493 INTEGER io_form , Hndl
3495 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_real_sca " )
3502 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3503 IF ( Hndl .GT. -1 ) THEN
3504 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
3505 SELECT CASE ( use_package( io_form ) )
3508 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3509 # if ( RWORDSIZE == DWORDSIZE )
3510 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3511 locCount, Outcount, Status )
3513 CALL ext_ncd_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3514 locCount, Outcount, Status )
3517 IF ( .NOT. multi_files(io_form) ) THEN
3520 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3521 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3526 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3531 # if ( RWORDSIZE == DWORDSIZE )
3532 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3533 locCount, Outcount, Status )
3535 CALL ext_pnc_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3536 locCount, Outcount, Status )
3541 # if ( RWORDSIZE == DWORDSIZE )
3542 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3543 locCount, Outcount, Status )
3545 CALL ext_phdf5_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3546 locCount, Outcount, Status )
3551 # if ( RWORDSIZE == DWORDSIZE )
3552 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3553 locCount, Outcount, Status )
3555 CALL ext_esmf_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3556 locCount, Outcount, Status )
3561 # if ( RWORDSIZE == DWORDSIZE )
3562 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3563 locCount, Outcount, Status )
3565 CALL ext_xxx_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3566 locCount, Outcount, Status )
3571 # if ( RWORDSIZE == DWORDSIZE )
3572 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3573 locCount, Outcount, Status )
3575 CALL ext_yyy_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3576 locCount, Outcount, Status )
3581 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3582 # if ( RWORDSIZE == DWORDSIZE )
3583 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3584 locCount, Outcount, Status )
3586 CALL ext_gr1_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3587 locCount, Outcount, Status )
3590 IF ( .NOT. multi_files(io_form) ) THEN
3593 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3594 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3599 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3604 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3605 # if ( RWORDSIZE == DWORDSIZE )
3606 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3607 locCount, Outcount, Status )
3609 CALL ext_gr2_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3610 locCount, Outcount, Status )
3613 IF ( .NOT. multi_files(io_form) ) THEN
3616 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3617 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3622 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3627 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3628 # if ( RWORDSIZE == DWORDSIZE )
3629 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3630 locCount, Outcount, Status )
3632 CALL ext_int_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3633 locCount, Outcount, Status )
3636 IF ( .NOT. multi_files(io_form) ) THEN
3639 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3640 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3645 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3650 ELSE IF ( for_out .AND. use_output_servers() ) THEN
3651 CALL wrf_quilt_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3652 locCount, Outcount, Status )
3657 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3660 END SUBROUTINE wrf_get_dom_td_real_sca
3663 !--- put_dom_td_real
3665 SUBROUTINE wrf_put_dom_td_real_arr ( DataHandle,Element, DateStr, Data, Count, Status )
3669 ! Write Count words of time dependent
3670 ! domain metadata named "Element" valid at time DateStr
3671 ! to the open dataset described by DataHandle.
3672 ! Metadata of type real are
3673 ! copied from array Data.
3678 USE module_state_description
3680 INTEGER , INTENT(IN) :: DataHandle
3681 CHARACTER*(*) , INTENT(IN) :: Element
3682 CHARACTER*(*) , INTENT(IN) :: DateStr
3687 INTEGER , INTENT(IN) :: Count
3689 INTEGER , INTENT(OUT) :: Status
3691 #include <wrf_status_codes.h>
3692 INTEGER :: len_of_str
3694 INTEGER, EXTERNAL :: use_package
3695 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
3698 INTEGER io_form , Hndl
3700 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_real_arr " )
3707 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3708 IF ( Hndl .GT. -1 ) THEN
3709 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
3710 SELECT CASE ( use_package( io_form ) )
3713 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3714 # if ( RWORDSIZE == DWORDSIZE )
3715 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3718 CALL ext_ncd_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3722 IF ( .NOT. multi_files(io_form) ) THEN
3731 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3736 # if ( RWORDSIZE == DWORDSIZE )
3737 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3740 CALL ext_pnc_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3746 # if ( RWORDSIZE == DWORDSIZE )
3747 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3750 CALL ext_phdf5_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3756 # if ( RWORDSIZE == DWORDSIZE )
3757 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3760 CALL ext_esmf_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3766 # if ( RWORDSIZE == DWORDSIZE )
3767 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3770 CALL ext_xxx_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3776 # if ( RWORDSIZE == DWORDSIZE )
3777 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3780 CALL ext_yyy_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3786 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3787 # if ( RWORDSIZE == DWORDSIZE )
3788 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3791 CALL ext_gr1_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3795 IF ( .NOT. multi_files(io_form) ) THEN
3804 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3809 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3810 # if ( RWORDSIZE == DWORDSIZE )
3811 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3814 CALL ext_gr2_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3818 IF ( .NOT. multi_files(io_form) ) THEN
3827 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3832 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3833 # if ( RWORDSIZE == DWORDSIZE )
3834 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3837 CALL ext_int_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3841 IF ( .NOT. multi_files(io_form) ) THEN
3850 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3855 ELSE IF ( for_out .AND. use_output_servers() ) THEN
3856 CALL wrf_quilt_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3862 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3865 END SUBROUTINE wrf_put_dom_td_real_arr
3866 !--- put_dom_td_real
3868 SUBROUTINE wrf_put_dom_td_real_sca ( DataHandle,Element, DateStr, Data, Count, Status )
3872 ! Write time dependent
3873 ! domain metadata named "Element" valid at time DateStr
3874 ! to the open dataset described by DataHandle.
3875 ! Metadata of type real are
3876 ! copied from scalar Data.
3881 USE module_state_description
3883 INTEGER , INTENT(IN) :: DataHandle
3884 CHARACTER*(*) , INTENT(IN) :: Element
3885 CHARACTER*(*) , INTENT(IN) :: DateStr
3890 INTEGER , INTENT(IN) :: Count
3892 INTEGER , INTENT(OUT) :: Status
3894 #include <wrf_status_codes.h>
3895 INTEGER :: len_of_str
3897 INTEGER, EXTERNAL :: use_package
3898 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
3901 INTEGER io_form , Hndl
3903 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_real_sca " )
3910 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3911 IF ( Hndl .GT. -1 ) THEN
3912 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
3913 SELECT CASE ( use_package( io_form ) )
3916 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3917 # if ( RWORDSIZE == DWORDSIZE )
3918 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3921 CALL ext_ncd_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3925 IF ( .NOT. multi_files(io_form) ) THEN
3934 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3939 # if ( RWORDSIZE == DWORDSIZE )
3940 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3943 CALL ext_pnc_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3949 # if ( RWORDSIZE == DWORDSIZE )
3950 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3953 CALL ext_phdf5_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3959 # if ( RWORDSIZE == DWORDSIZE )
3960 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3963 CALL ext_esmf_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3969 # if ( RWORDSIZE == DWORDSIZE )
3970 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3973 CALL ext_xxx_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3979 # if ( RWORDSIZE == DWORDSIZE )
3980 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3983 CALL ext_yyy_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3989 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3990 # if ( RWORDSIZE == DWORDSIZE )
3991 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3994 CALL ext_gr1_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3998 IF ( .NOT. multi_files(io_form) ) THEN
4007 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4012 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4013 # if ( RWORDSIZE == DWORDSIZE )
4014 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4017 CALL ext_gr2_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4021 IF ( .NOT. multi_files(io_form) ) THEN
4030 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4035 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4036 # if ( RWORDSIZE == DWORDSIZE )
4037 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4040 CALL ext_int_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4044 IF ( .NOT. multi_files(io_form) ) THEN
4053 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4058 ELSE IF ( for_out .AND. use_output_servers() ) THEN
4059 CALL wrf_quilt_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4065 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4068 END SUBROUTINE wrf_put_dom_td_real_sca
4071 !--- get_dom_td_double
4073 SUBROUTINE wrf_get_dom_td_double_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4077 ! Attempt to read Count words of time dependent
4078 ! domain metadata named "Element" valid at time DateStr
4079 ! from the open dataset described by DataHandle.
4080 ! Metadata of type double are
4081 ! stored in array Data.
4082 ! Actual number of words read is returned in OutCount.
4086 USE module_state_description
4088 INTEGER , INTENT(IN) :: DataHandle
4089 CHARACTER*(*) , INTENT(IN) :: Element
4090 CHARACTER*(*) , INTENT(IN) :: DateStr
4095 INTEGER , INTENT(IN) :: Count
4096 INTEGER , INTENT(OUT) :: OutCount
4097 INTEGER , INTENT(OUT) :: Status
4099 #include <wrf_status_codes.h>
4100 INTEGER :: len_of_str
4102 INTEGER, EXTERNAL :: use_package
4103 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
4106 INTEGER io_form , Hndl
4108 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_double_arr " )
4115 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4116 IF ( Hndl .GT. -1 ) THEN
4117 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
4118 SELECT CASE ( use_package( io_form ) )
4121 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4122 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4123 locCount, Outcount, Status )
4125 IF ( .NOT. multi_files(io_form) ) THEN
4134 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4139 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4140 locCount, Outcount, Status )
4144 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4145 locCount, Outcount, Status )
4149 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4150 locCount, Outcount, Status )
4154 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4155 locCount, Outcount, Status )
4159 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4160 locCount, Outcount, Status )
4164 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4165 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4166 locCount, Outcount, Status )
4168 IF ( .NOT. multi_files(io_form) ) THEN
4177 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4182 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4183 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4184 locCount, Outcount, Status )
4186 IF ( .NOT. multi_files(io_form) ) THEN
4195 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4200 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4201 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4202 locCount, Outcount, Status )
4204 IF ( .NOT. multi_files(io_form) ) THEN
4213 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4218 ELSE IF ( for_out .AND. use_output_servers() ) THEN
4219 CALL wrf_quilt_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4220 locCount, Outcount, Status )
4225 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4228 END SUBROUTINE wrf_get_dom_td_double_arr
4229 !--- get_dom_td_double
4231 SUBROUTINE wrf_get_dom_td_double_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4235 ! Attempt to read time dependent
4236 ! domain metadata named "Element" valid at time DateStr
4237 ! from the open dataset described by DataHandle.
4238 ! Metadata of type double are
4239 ! stored in scalar Data.
4244 USE module_state_description
4246 INTEGER , INTENT(IN) :: DataHandle
4247 CHARACTER*(*) , INTENT(IN) :: Element
4248 CHARACTER*(*) , INTENT(IN) :: DateStr
4253 INTEGER , INTENT(IN) :: Count
4254 INTEGER , INTENT(OUT) :: OutCount
4255 INTEGER , INTENT(OUT) :: Status
4257 #include <wrf_status_codes.h>
4258 INTEGER :: len_of_str
4260 INTEGER, EXTERNAL :: use_package
4261 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
4264 INTEGER io_form , Hndl
4266 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_double_sca " )
4273 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4274 IF ( Hndl .GT. -1 ) THEN
4275 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
4276 SELECT CASE ( use_package( io_form ) )
4279 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4280 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4281 locCount, Outcount, Status )
4283 IF ( .NOT. multi_files(io_form) ) THEN
4292 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4297 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4298 locCount, Outcount, Status )
4302 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4303 locCount, Outcount, Status )
4307 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4308 locCount, Outcount, Status )
4312 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4313 locCount, Outcount, Status )
4317 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4318 locCount, Outcount, Status )
4322 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4323 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4324 locCount, Outcount, Status )
4326 IF ( .NOT. multi_files(io_form) ) THEN
4335 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4340 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4341 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4342 locCount, Outcount, Status )
4344 IF ( .NOT. multi_files(io_form) ) THEN
4353 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4358 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4359 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4360 locCount, Outcount, Status )
4362 IF ( .NOT. multi_files(io_form) ) THEN
4371 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4376 ELSE IF ( for_out .AND. use_output_servers() ) THEN
4377 CALL wrf_quilt_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4378 locCount, Outcount, Status )
4383 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4386 END SUBROUTINE wrf_get_dom_td_double_sca
4389 !--- put_dom_td_double
4391 SUBROUTINE wrf_put_dom_td_double_arr ( DataHandle,Element, DateStr, Data, Count, Status )
4395 ! Write Count words of time dependent
4396 ! domain metadata named "Element" valid at time DateStr
4397 ! to the open dataset described by DataHandle.
4398 ! Metadata of type double are
4399 ! copied from array Data.
4404 USE module_state_description
4406 INTEGER , INTENT(IN) :: DataHandle
4407 CHARACTER*(*) , INTENT(IN) :: Element
4408 CHARACTER*(*) , INTENT(IN) :: DateStr
4413 INTEGER , INTENT(IN) :: Count
4415 INTEGER , INTENT(OUT) :: Status
4417 #include <wrf_status_codes.h>
4418 INTEGER :: len_of_str
4420 INTEGER, EXTERNAL :: use_package
4421 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
4424 INTEGER io_form , Hndl
4426 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_double_arr " )
4433 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4434 IF ( Hndl .GT. -1 ) THEN
4435 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
4436 SELECT CASE ( use_package( io_form ) )
4439 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4440 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4443 IF ( .NOT. multi_files(io_form) ) THEN
4452 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4457 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4462 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4467 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4472 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4477 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4482 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4483 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4486 IF ( .NOT. multi_files(io_form) ) THEN
4495 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4500 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4501 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4504 IF ( .NOT. multi_files(io_form) ) THEN
4513 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4518 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4519 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4522 IF ( .NOT. multi_files(io_form) ) THEN
4531 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4536 ELSE IF ( for_out .AND. use_output_servers() ) THEN
4537 CALL wrf_quilt_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4543 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4546 END SUBROUTINE wrf_put_dom_td_double_arr
4547 !--- put_dom_td_double
4549 SUBROUTINE wrf_put_dom_td_double_sca ( DataHandle,Element, DateStr, Data, Count, Status )
4553 ! Write time dependent
4554 ! domain metadata named "Element" valid at time DateStr
4555 ! to the open dataset described by DataHandle.
4556 ! Metadata of type double are
4557 ! copied from scalar Data.
4562 USE module_state_description
4564 INTEGER , INTENT(IN) :: DataHandle
4565 CHARACTER*(*) , INTENT(IN) :: Element
4566 CHARACTER*(*) , INTENT(IN) :: DateStr
4571 INTEGER , INTENT(IN) :: Count
4573 INTEGER , INTENT(OUT) :: Status
4575 #include <wrf_status_codes.h>
4576 INTEGER :: len_of_str
4578 INTEGER, EXTERNAL :: use_package
4579 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
4582 INTEGER io_form , Hndl
4584 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_double_sca " )
4591 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4592 IF ( Hndl .GT. -1 ) THEN
4593 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
4594 SELECT CASE ( use_package( io_form ) )
4597 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4598 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4601 IF ( .NOT. multi_files(io_form) ) THEN
4610 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4615 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4620 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4625 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4630 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4635 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4640 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4641 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4644 IF ( .NOT. multi_files(io_form) ) THEN
4653 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4658 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4659 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4662 IF ( .NOT. multi_files(io_form) ) THEN
4671 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4676 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4677 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4680 IF ( .NOT. multi_files(io_form) ) THEN
4689 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4694 ELSE IF ( for_out .AND. use_output_servers() ) THEN
4695 CALL wrf_quilt_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4701 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4704 END SUBROUTINE wrf_put_dom_td_double_sca
4707 !--- get_dom_td_integer
4709 SUBROUTINE wrf_get_dom_td_integer_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4713 ! Attempt to read Count words of time dependent
4714 ! domain metadata named "Element" valid at time DateStr
4715 ! from the open dataset described by DataHandle.
4716 ! Metadata of type integer are
4717 ! stored in array Data.
4718 ! Actual number of words read is returned in OutCount.
4722 USE module_state_description
4724 INTEGER , INTENT(IN) :: DataHandle
4725 CHARACTER*(*) , INTENT(IN) :: Element
4726 CHARACTER*(*) , INTENT(IN) :: DateStr
4731 INTEGER , INTENT(IN) :: Count
4732 INTEGER , INTENT(OUT) :: OutCount
4733 INTEGER , INTENT(OUT) :: Status
4735 #include <wrf_status_codes.h>
4736 INTEGER :: len_of_str
4738 INTEGER, EXTERNAL :: use_package
4739 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
4742 INTEGER io_form , Hndl
4744 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_integer_arr " )
4751 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4752 IF ( Hndl .GT. -1 ) THEN
4753 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
4754 SELECT CASE ( use_package( io_form ) )
4757 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4758 CALL ext_ncd_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4759 locCount, Outcount, Status )
4761 IF ( .NOT. multi_files(io_form) ) THEN
4762 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4763 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4770 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4775 CALL ext_pnc_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4776 locCount, Outcount, Status )
4780 CALL ext_phdf5_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4781 locCount, Outcount, Status )
4785 CALL ext_esmf_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4786 locCount, Outcount, Status )
4790 CALL ext_xxx_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4791 locCount, Outcount, Status )
4795 CALL ext_yyy_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4796 locCount, Outcount, Status )
4800 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4801 CALL ext_gr1_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4802 locCount, Outcount, Status )
4804 IF ( .NOT. multi_files(io_form) ) THEN
4805 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4806 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4813 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4818 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4819 CALL ext_gr2_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4820 locCount, Outcount, Status )
4822 IF ( .NOT. multi_files(io_form) ) THEN
4823 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4824 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4831 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4836 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4837 CALL ext_int_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4838 locCount, Outcount, Status )
4840 IF ( .NOT. multi_files(io_form) ) THEN
4841 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4842 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4849 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4854 ELSE IF ( for_out .AND. use_output_servers() ) THEN
4855 CALL wrf_quilt_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4856 locCount, Outcount, Status )
4861 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4864 END SUBROUTINE wrf_get_dom_td_integer_arr
4865 !--- get_dom_td_integer
4867 SUBROUTINE wrf_get_dom_td_integer_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4871 ! Attempt to read time dependent
4872 ! domain metadata named "Element" valid at time DateStr
4873 ! from the open dataset described by DataHandle.
4874 ! Metadata of type integer are
4875 ! stored in scalar Data.
4880 USE module_state_description
4882 INTEGER , INTENT(IN) :: DataHandle
4883 CHARACTER*(*) , INTENT(IN) :: Element
4884 CHARACTER*(*) , INTENT(IN) :: DateStr
4889 INTEGER , INTENT(IN) :: Count
4890 INTEGER , INTENT(OUT) :: OutCount
4891 INTEGER , INTENT(OUT) :: Status
4893 #include <wrf_status_codes.h>
4894 INTEGER :: len_of_str
4896 INTEGER, EXTERNAL :: use_package
4897 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
4900 INTEGER io_form , Hndl
4902 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_integer_sca " )
4909 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4910 IF ( Hndl .GT. -1 ) THEN
4911 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
4912 SELECT CASE ( use_package( io_form ) )
4915 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4916 CALL ext_ncd_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4917 locCount, Outcount, Status )
4919 IF ( .NOT. multi_files(io_form) ) THEN
4920 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4921 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4928 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4933 CALL ext_pnc_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4934 locCount, Outcount, Status )
4938 CALL ext_phdf5_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4939 locCount, Outcount, Status )
4943 CALL ext_esmf_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4944 locCount, Outcount, Status )
4948 CALL ext_xxx_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4949 locCount, Outcount, Status )
4953 CALL ext_yyy_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4954 locCount, Outcount, Status )
4958 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4959 CALL ext_gr1_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4960 locCount, Outcount, Status )
4962 IF ( .NOT. multi_files(io_form) ) THEN
4963 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4964 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4971 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4976 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4977 CALL ext_gr2_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4978 locCount, Outcount, Status )
4980 IF ( .NOT. multi_files(io_form) ) THEN
4981 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4982 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4989 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4994 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4995 CALL ext_int_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4996 locCount, Outcount, Status )
4998 IF ( .NOT. multi_files(io_form) ) THEN
4999 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5000 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5007 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5012 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5013 CALL wrf_quilt_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5014 locCount, Outcount, Status )
5019 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5022 END SUBROUTINE wrf_get_dom_td_integer_sca
5025 !--- put_dom_td_integer
5027 SUBROUTINE wrf_put_dom_td_integer_arr ( DataHandle,Element, DateStr, Data, Count, Status )
5031 ! Write Count words of time dependent
5032 ! domain metadata named "Element" valid at time DateStr
5033 ! to the open dataset described by DataHandle.
5034 ! Metadata of type integer are
5035 ! copied from array Data.
5040 USE module_state_description
5042 INTEGER , INTENT(IN) :: DataHandle
5043 CHARACTER*(*) , INTENT(IN) :: Element
5044 CHARACTER*(*) , INTENT(IN) :: DateStr
5049 INTEGER , INTENT(IN) :: Count
5051 INTEGER , INTENT(OUT) :: Status
5053 #include <wrf_status_codes.h>
5054 INTEGER :: len_of_str
5056 INTEGER, EXTERNAL :: use_package
5057 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
5060 INTEGER io_form , Hndl
5062 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_integer_arr " )
5069 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5070 IF ( Hndl .GT. -1 ) THEN
5071 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
5072 SELECT CASE ( use_package( io_form ) )
5075 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5076 CALL ext_ncd_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5079 IF ( .NOT. multi_files(io_form) ) THEN
5088 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5093 CALL ext_pnc_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5098 CALL ext_phdf5_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5103 CALL ext_esmf_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5108 CALL ext_xxx_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5113 CALL ext_yyy_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5118 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5119 CALL ext_gr1_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5122 IF ( .NOT. multi_files(io_form) ) THEN
5131 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5136 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5137 CALL ext_gr2_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5140 IF ( .NOT. multi_files(io_form) ) THEN
5149 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5154 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5155 CALL ext_int_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5158 IF ( .NOT. multi_files(io_form) ) THEN
5167 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5172 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5173 CALL wrf_quilt_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5179 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5182 END SUBROUTINE wrf_put_dom_td_integer_arr
5183 !--- put_dom_td_integer
5185 SUBROUTINE wrf_put_dom_td_integer_sca ( DataHandle,Element, DateStr, Data, Count, Status )
5189 ! Write time dependent
5190 ! domain metadata named "Element" valid at time DateStr
5191 ! to the open dataset described by DataHandle.
5192 ! Metadata of type integer are
5193 ! copied from scalar Data.
5198 USE module_state_description
5200 INTEGER , INTENT(IN) :: DataHandle
5201 CHARACTER*(*) , INTENT(IN) :: Element
5202 CHARACTER*(*) , INTENT(IN) :: DateStr
5207 INTEGER , INTENT(IN) :: Count
5209 INTEGER , INTENT(OUT) :: Status
5211 #include <wrf_status_codes.h>
5212 INTEGER :: len_of_str
5214 INTEGER, EXTERNAL :: use_package
5215 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
5218 INTEGER io_form , Hndl
5220 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_integer_sca " )
5227 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5228 IF ( Hndl .GT. -1 ) THEN
5229 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
5230 SELECT CASE ( use_package( io_form ) )
5233 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5234 CALL ext_ncd_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5237 IF ( .NOT. multi_files(io_form) ) THEN
5246 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5251 CALL ext_pnc_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5256 CALL ext_phdf5_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5261 CALL ext_esmf_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5266 CALL ext_xxx_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5271 CALL ext_yyy_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5276 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5277 CALL ext_gr1_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5280 IF ( .NOT. multi_files(io_form) ) THEN
5289 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5294 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5295 CALL ext_gr2_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5298 IF ( .NOT. multi_files(io_form) ) THEN
5307 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5312 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5313 CALL ext_int_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5316 IF ( .NOT. multi_files(io_form) ) THEN
5325 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5330 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5331 CALL wrf_quilt_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5337 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5340 END SUBROUTINE wrf_put_dom_td_integer_sca
5343 !--- get_dom_td_logical
5345 SUBROUTINE wrf_get_dom_td_logical_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
5349 ! Attempt to read Count words of time dependent
5350 ! domain metadata named "Element" valid at time DateStr
5351 ! from the open dataset described by DataHandle.
5352 ! Metadata of type logical are
5353 ! stored in array Data.
5354 ! Actual number of words read is returned in OutCount.
5358 USE module_state_description
5360 INTEGER , INTENT(IN) :: DataHandle
5361 CHARACTER*(*) , INTENT(IN) :: Element
5362 CHARACTER*(*) , INTENT(IN) :: DateStr
5367 INTEGER , INTENT(IN) :: Count
5368 INTEGER , INTENT(OUT) :: OutCount
5369 INTEGER , INTENT(OUT) :: Status
5371 #include <wrf_status_codes.h>
5372 INTEGER :: len_of_str
5374 INTEGER, EXTERNAL :: use_package
5375 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
5378 INTEGER io_form , Hndl
5380 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_logical_arr " )
5387 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5388 IF ( Hndl .GT. -1 ) THEN
5389 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
5390 SELECT CASE ( use_package( io_form ) )
5393 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5394 CALL ext_ncd_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5395 locCount, Outcount, Status )
5397 IF ( .NOT. multi_files(io_form) ) THEN
5402 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5403 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5406 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5411 CALL ext_pnc_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5412 locCount, Outcount, Status )
5416 CALL ext_phdf5_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5417 locCount, Outcount, Status )
5421 CALL ext_esmf_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5422 locCount, Outcount, Status )
5426 CALL ext_xxx_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5427 locCount, Outcount, Status )
5431 CALL ext_yyy_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5432 locCount, Outcount, Status )
5436 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5437 CALL ext_gr1_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5438 locCount, Outcount, Status )
5440 IF ( .NOT. multi_files(io_form) ) THEN
5445 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5446 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5449 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5454 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5455 CALL ext_gr2_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5456 locCount, Outcount, Status )
5458 IF ( .NOT. multi_files(io_form) ) THEN
5463 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5464 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5467 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5472 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5473 CALL ext_int_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5474 locCount, Outcount, Status )
5476 IF ( .NOT. multi_files(io_form) ) THEN
5481 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5482 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5485 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5490 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5491 CALL wrf_quilt_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5492 locCount, Outcount, Status )
5497 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5500 END SUBROUTINE wrf_get_dom_td_logical_arr
5501 !--- get_dom_td_logical
5503 SUBROUTINE wrf_get_dom_td_logical_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
5507 ! Attempt to read time dependent
5508 ! domain metadata named "Element" valid at time DateStr
5509 ! from the open dataset described by DataHandle.
5510 ! Metadata of type logical are
5511 ! stored in scalar Data.
5516 USE module_state_description
5518 INTEGER , INTENT(IN) :: DataHandle
5519 CHARACTER*(*) , INTENT(IN) :: Element
5520 CHARACTER*(*) , INTENT(IN) :: DateStr
5525 INTEGER , INTENT(IN) :: Count
5526 INTEGER , INTENT(OUT) :: OutCount
5527 INTEGER , INTENT(OUT) :: Status
5529 #include <wrf_status_codes.h>
5530 INTEGER :: len_of_str
5532 INTEGER, EXTERNAL :: use_package
5533 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
5536 INTEGER io_form , Hndl
5538 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_logical_sca " )
5545 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5546 IF ( Hndl .GT. -1 ) THEN
5547 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
5548 SELECT CASE ( use_package( io_form ) )
5551 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5552 CALL ext_ncd_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5553 locCount, Outcount, Status )
5555 IF ( .NOT. multi_files(io_form) ) THEN
5560 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5561 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5564 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5569 CALL ext_pnc_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5570 locCount, Outcount, Status )
5574 CALL ext_phdf5_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5575 locCount, Outcount, Status )
5579 CALL ext_esmf_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5580 locCount, Outcount, Status )
5584 CALL ext_xxx_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5585 locCount, Outcount, Status )
5589 CALL ext_yyy_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5590 locCount, Outcount, Status )
5594 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5595 CALL ext_gr1_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5596 locCount, Outcount, Status )
5598 IF ( .NOT. multi_files(io_form) ) THEN
5603 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5604 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5607 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5612 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5613 CALL ext_gr2_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5614 locCount, Outcount, Status )
5616 IF ( .NOT. multi_files(io_form) ) THEN
5621 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5622 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5625 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5630 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5631 CALL ext_int_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5632 locCount, Outcount, Status )
5634 IF ( .NOT. multi_files(io_form) ) THEN
5639 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5640 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5643 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5648 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5649 CALL wrf_quilt_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5650 locCount, Outcount, Status )
5655 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5658 END SUBROUTINE wrf_get_dom_td_logical_sca
5661 !--- put_dom_td_logical
5663 SUBROUTINE wrf_put_dom_td_logical_arr ( DataHandle,Element, DateStr, Data, Count, Status )
5667 ! Write Count words of time dependent
5668 ! domain metadata named "Element" valid at time DateStr
5669 ! to the open dataset described by DataHandle.
5670 ! Metadata of type logical are
5671 ! copied from array Data.
5676 USE module_state_description
5678 INTEGER , INTENT(IN) :: DataHandle
5679 CHARACTER*(*) , INTENT(IN) :: Element
5680 CHARACTER*(*) , INTENT(IN) :: DateStr
5685 INTEGER , INTENT(IN) :: Count
5687 INTEGER , INTENT(OUT) :: Status
5689 #include <wrf_status_codes.h>
5690 INTEGER :: len_of_str
5692 INTEGER, EXTERNAL :: use_package
5693 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
5696 INTEGER io_form , Hndl
5698 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_logical_arr " )
5705 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5706 IF ( Hndl .GT. -1 ) THEN
5707 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
5708 SELECT CASE ( use_package( io_form ) )
5711 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5712 CALL ext_ncd_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5715 IF ( .NOT. multi_files(io_form) ) THEN
5724 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5729 CALL ext_pnc_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5734 CALL ext_phdf5_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5739 CALL ext_esmf_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5744 CALL ext_xxx_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5749 CALL ext_yyy_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5754 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5755 CALL ext_gr1_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5758 IF ( .NOT. multi_files(io_form) ) THEN
5767 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5772 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5773 CALL ext_gr2_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5776 IF ( .NOT. multi_files(io_form) ) THEN
5785 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5790 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5791 CALL ext_int_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5794 IF ( .NOT. multi_files(io_form) ) THEN
5803 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5808 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5809 CALL wrf_quilt_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5815 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5818 END SUBROUTINE wrf_put_dom_td_logical_arr
5819 !--- put_dom_td_logical
5821 SUBROUTINE wrf_put_dom_td_logical_sca ( DataHandle,Element, DateStr, Data, Count, Status )
5825 ! Write time dependent
5826 ! domain metadata named "Element" valid at time DateStr
5827 ! to the open dataset described by DataHandle.
5828 ! Metadata of type logical are
5829 ! copied from scalar Data.
5834 USE module_state_description
5836 INTEGER , INTENT(IN) :: DataHandle
5837 CHARACTER*(*) , INTENT(IN) :: Element
5838 CHARACTER*(*) , INTENT(IN) :: DateStr
5843 INTEGER , INTENT(IN) :: Count
5845 INTEGER , INTENT(OUT) :: Status
5847 #include <wrf_status_codes.h>
5848 INTEGER :: len_of_str
5850 INTEGER, EXTERNAL :: use_package
5851 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
5854 INTEGER io_form , Hndl
5856 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_logical_sca " )
5863 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5864 IF ( Hndl .GT. -1 ) THEN
5865 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
5866 SELECT CASE ( use_package( io_form ) )
5869 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5870 CALL ext_ncd_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5873 IF ( .NOT. multi_files(io_form) ) THEN
5882 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5887 CALL ext_pnc_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5892 CALL ext_phdf5_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5897 CALL ext_esmf_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5902 CALL ext_xxx_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5907 CALL ext_yyy_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5912 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5913 CALL ext_gr1_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5916 IF ( .NOT. multi_files(io_form) ) THEN
5925 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5930 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5931 CALL ext_gr2_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5934 IF ( .NOT. multi_files(io_form) ) THEN
5943 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5948 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5949 CALL ext_int_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5952 IF ( .NOT. multi_files(io_form) ) THEN
5961 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5966 ELSE IF ( for_out .AND. use_output_servers() ) THEN
5967 CALL wrf_quilt_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5973 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5976 END SUBROUTINE wrf_put_dom_td_logical_sca
5979 !--- get_dom_td_char
5981 SUBROUTINE wrf_get_dom_td_char_arr ( DataHandle,Element, DateStr, Data, Status )
5985 ! Attempt to read time dependent
5986 ! domain metadata named "Element" valid at time DateStr
5987 ! from the open dataset described by DataHandle.
5988 ! Metadata of type char are
5989 ! stored in string Data.
5994 USE module_state_description
5996 INTEGER , INTENT(IN) :: DataHandle
5997 CHARACTER*(*) , INTENT(IN) :: Element
5998 CHARACTER*(*) , INTENT(IN) :: DateStr
6001 CHARACTER*(*) :: Data
6005 INTEGER , INTENT(OUT) :: Status
6007 #include <wrf_status_codes.h>
6008 INTEGER :: len_of_str
6010 INTEGER, EXTERNAL :: use_package
6011 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
6014 INTEGER io_form , Hndl
6016 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_char_arr " )
6023 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6024 IF ( Hndl .GT. -1 ) THEN
6025 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
6026 SELECT CASE ( use_package( io_form ) )
6029 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6030 CALL ext_ncd_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6033 IF ( .NOT. multi_files(io_form) ) THEN
6040 len_of_str = LEN(Data)
6041 CALL wrf_dm_bcast_string( Data, len_of_str )
6042 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6047 CALL ext_pnc_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6052 CALL ext_phdf5_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6057 CALL ext_esmf_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6062 CALL ext_xxx_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6067 CALL ext_yyy_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6072 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6073 CALL ext_gr1_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6076 IF ( .NOT. multi_files(io_form) ) THEN
6083 len_of_str = LEN(Data)
6084 CALL wrf_dm_bcast_string( Data, len_of_str )
6085 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6090 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6091 CALL ext_gr2_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6094 IF ( .NOT. multi_files(io_form) ) THEN
6101 len_of_str = LEN(Data)
6102 CALL wrf_dm_bcast_string( Data, len_of_str )
6103 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6108 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6109 CALL ext_int_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6112 IF ( .NOT. multi_files(io_form) ) THEN
6119 len_of_str = LEN(Data)
6120 CALL wrf_dm_bcast_string( Data, len_of_str )
6121 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6126 ELSE IF ( for_out .AND. use_output_servers() ) THEN
6127 CALL wrf_quilt_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6133 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6136 END SUBROUTINE wrf_get_dom_td_char_arr
6139 !--- put_dom_td_char
6141 SUBROUTINE wrf_put_dom_td_char_arr ( DataHandle,Element, DateStr, Data, Status )
6145 ! Write time dependent
6146 ! domain metadata named "Element" valid at time DateStr
6147 ! to the open dataset described by DataHandle.
6148 ! Metadata of type char are
6149 ! copied from string Data.
6154 USE module_state_description
6156 INTEGER , INTENT(IN) :: DataHandle
6157 CHARACTER*(*) , INTENT(IN) :: Element
6158 CHARACTER*(*) , INTENT(IN) :: DateStr
6161 CHARACTER*(*) :: Data
6165 INTEGER , INTENT(OUT) :: Status
6167 #include <wrf_status_codes.h>
6168 INTEGER :: len_of_str
6170 INTEGER, EXTERNAL :: use_package
6171 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
6174 INTEGER io_form , Hndl
6176 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_char_arr " )
6183 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6184 IF ( Hndl .GT. -1 ) THEN
6185 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
6186 SELECT CASE ( use_package( io_form ) )
6189 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6190 CALL ext_ncd_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6193 IF ( .NOT. multi_files(io_form) ) THEN
6202 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6207 CALL ext_pnc_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6212 CALL ext_phdf5_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6217 CALL ext_esmf_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6222 CALL ext_xxx_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6227 CALL ext_yyy_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6232 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6233 CALL ext_gr1_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6236 IF ( .NOT. multi_files(io_form) ) THEN
6245 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6250 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6251 CALL ext_gr2_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6254 IF ( .NOT. multi_files(io_form) ) THEN
6263 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6268 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6269 CALL ext_int_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6272 IF ( .NOT. multi_files(io_form) ) THEN
6281 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6286 ELSE IF ( for_out .AND. use_output_servers() ) THEN
6287 CALL wrf_quilt_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6293 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6296 END SUBROUTINE wrf_put_dom_td_char_arr
6300 !--- get_var_ti_real
6302 SUBROUTINE wrf_get_var_ti_real_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
6306 ! Attempt to read Count words of time independent
6307 ! attribute "Element" of variable "Varname"
6308 ! from the open dataset described by DataHandle.
6309 ! Attribute of type real is
6310 ! stored in array Data.
6311 ! Actual number of words read is returned in OutCount.
6315 USE module_state_description
6317 INTEGER , INTENT(IN) :: DataHandle
6318 CHARACTER*(*) , INTENT(IN) :: Element
6320 CHARACTER*(*) , INTENT(IN) :: VarName
6324 INTEGER , INTENT(IN) :: Count
6325 INTEGER , INTENT(OUT) :: OutCount
6326 INTEGER , INTENT(OUT) :: Status
6328 #include <wrf_status_codes.h>
6329 INTEGER :: len_of_str
6331 INTEGER, EXTERNAL :: use_package
6332 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
6335 INTEGER io_form , Hndl
6337 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_real_arr " )
6344 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6345 IF ( Hndl .GT. -1 ) THEN
6346 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
6347 SELECT CASE ( use_package( io_form ) )
6350 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6351 # if ( RWORDSIZE == DWORDSIZE )
6352 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
6353 locCount, Outcount, Status )
6355 CALL ext_ncd_get_var_ti_real ( Hndl, Element, Varname, Data, &
6356 locCount, Outcount, Status )
6359 IF ( .NOT. multi_files(io_form) ) THEN
6362 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6363 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6368 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6373 # if ( RWORDSIZE == DWORDSIZE )
6374 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
6375 locCount, Outcount, Status )
6377 CALL ext_pnc_get_var_ti_real ( Hndl, Element, Varname, Data, &
6378 locCount, Outcount, Status )
6383 # if ( RWORDSIZE == DWORDSIZE )
6384 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
6385 locCount, Outcount, Status )
6387 CALL ext_phdf5_get_var_ti_real ( Hndl, Element, Varname, Data, &
6388 locCount, Outcount, Status )
6393 # if ( RWORDSIZE == DWORDSIZE )
6394 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
6395 locCount, Outcount, Status )
6397 CALL ext_esmf_get_var_ti_real ( Hndl, Element, Varname, Data, &
6398 locCount, Outcount, Status )
6403 # if ( RWORDSIZE == DWORDSIZE )
6404 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
6405 locCount, Outcount, Status )
6407 CALL ext_xxx_get_var_ti_real ( Hndl, Element, Varname, Data, &
6408 locCount, Outcount, Status )
6413 # if ( RWORDSIZE == DWORDSIZE )
6414 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
6415 locCount, Outcount, Status )
6417 CALL ext_yyy_get_var_ti_real ( Hndl, Element, Varname, Data, &
6418 locCount, Outcount, Status )
6423 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6424 # if ( RWORDSIZE == DWORDSIZE )
6425 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
6426 locCount, Outcount, Status )
6428 CALL ext_gr1_get_var_ti_real ( Hndl, Element, Varname, Data, &
6429 locCount, Outcount, Status )
6432 IF ( .NOT. multi_files(io_form) ) THEN
6435 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6436 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6441 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6446 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6447 # if ( RWORDSIZE == DWORDSIZE )
6448 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
6449 locCount, Outcount, Status )
6451 CALL ext_gr2_get_var_ti_real ( Hndl, Element, Varname, Data, &
6452 locCount, Outcount, Status )
6455 IF ( .NOT. multi_files(io_form) ) THEN
6458 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6459 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6464 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6469 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6470 # if ( RWORDSIZE == DWORDSIZE )
6471 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
6472 locCount, Outcount, Status )
6474 CALL ext_int_get_var_ti_real ( Hndl, Element, Varname, Data, &
6475 locCount, Outcount, Status )
6478 IF ( .NOT. multi_files(io_form) ) THEN
6481 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6482 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6487 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6492 ELSE IF ( for_out .AND. use_output_servers() ) THEN
6493 CALL wrf_quilt_get_var_ti_real ( Hndl, Element, Varname, Data, &
6494 locCount, Outcount, Status )
6499 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6502 END SUBROUTINE wrf_get_var_ti_real_arr
6503 !--- get_var_ti_real
6505 SUBROUTINE wrf_get_var_ti_real_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
6509 ! Attempt to read time independent
6510 ! attribute "Element" of variable "Varname"
6511 ! from the open dataset described by DataHandle.
6512 ! Attribute of type real is
6513 ! stored in scalar Data.
6518 USE module_state_description
6520 INTEGER , INTENT(IN) :: DataHandle
6521 CHARACTER*(*) , INTENT(IN) :: Element
6523 CHARACTER*(*) , INTENT(IN) :: VarName
6527 INTEGER , INTENT(IN) :: Count
6528 INTEGER , INTENT(OUT) :: OutCount
6529 INTEGER , INTENT(OUT) :: Status
6531 #include <wrf_status_codes.h>
6532 INTEGER :: len_of_str
6534 INTEGER, EXTERNAL :: use_package
6535 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
6538 INTEGER io_form , Hndl
6540 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_real_sca " )
6547 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6548 IF ( Hndl .GT. -1 ) THEN
6549 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
6550 SELECT CASE ( use_package( io_form ) )
6553 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6554 # if ( RWORDSIZE == DWORDSIZE )
6555 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
6556 locCount, Outcount, Status )
6558 CALL ext_ncd_get_var_ti_real ( Hndl, Element, Varname, Data, &
6559 locCount, Outcount, Status )
6562 IF ( .NOT. multi_files(io_form) ) THEN
6565 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6566 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6571 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6576 # if ( RWORDSIZE == DWORDSIZE )
6577 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
6578 locCount, Outcount, Status )
6580 CALL ext_pnc_get_var_ti_real ( Hndl, Element, Varname, Data, &
6581 locCount, Outcount, Status )
6586 # if ( RWORDSIZE == DWORDSIZE )
6587 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
6588 locCount, Outcount, Status )
6590 CALL ext_phdf5_get_var_ti_real ( Hndl, Element, Varname, Data, &
6591 locCount, Outcount, Status )
6596 # if ( RWORDSIZE == DWORDSIZE )
6597 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
6598 locCount, Outcount, Status )
6600 CALL ext_esmf_get_var_ti_real ( Hndl, Element, Varname, Data, &
6601 locCount, Outcount, Status )
6606 # if ( RWORDSIZE == DWORDSIZE )
6607 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
6608 locCount, Outcount, Status )
6610 CALL ext_xxx_get_var_ti_real ( Hndl, Element, Varname, Data, &
6611 locCount, Outcount, Status )
6616 # if ( RWORDSIZE == DWORDSIZE )
6617 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
6618 locCount, Outcount, Status )
6620 CALL ext_yyy_get_var_ti_real ( Hndl, Element, Varname, Data, &
6621 locCount, Outcount, Status )
6626 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6627 # if ( RWORDSIZE == DWORDSIZE )
6628 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
6629 locCount, Outcount, Status )
6631 CALL ext_gr1_get_var_ti_real ( Hndl, Element, Varname, Data, &
6632 locCount, Outcount, Status )
6635 IF ( .NOT. multi_files(io_form) ) THEN
6638 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6639 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6644 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6649 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6650 # if ( RWORDSIZE == DWORDSIZE )
6651 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
6652 locCount, Outcount, Status )
6654 CALL ext_gr2_get_var_ti_real ( Hndl, Element, Varname, Data, &
6655 locCount, Outcount, Status )
6658 IF ( .NOT. multi_files(io_form) ) THEN
6661 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6662 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6667 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6672 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6673 # if ( RWORDSIZE == DWORDSIZE )
6674 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
6675 locCount, Outcount, Status )
6677 CALL ext_int_get_var_ti_real ( Hndl, Element, Varname, Data, &
6678 locCount, Outcount, Status )
6681 IF ( .NOT. multi_files(io_form) ) THEN
6684 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6685 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6690 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6695 ELSE IF ( for_out .AND. use_output_servers() ) THEN
6696 CALL wrf_quilt_get_var_ti_real ( Hndl, Element, Varname, Data, &
6697 locCount, Outcount, Status )
6702 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6705 END SUBROUTINE wrf_get_var_ti_real_sca
6708 !--- put_var_ti_real
6710 SUBROUTINE wrf_put_var_ti_real_arr ( DataHandle,Element, Varname, Data, Count, Status )
6714 ! Write Count words of time independent
6715 ! attribute "Element" of variable "Varname"
6716 ! to the open dataset described by DataHandle.
6717 ! Attribute of type real is
6718 ! copied from array Data.
6723 USE module_state_description
6725 INTEGER , INTENT(IN) :: DataHandle
6726 CHARACTER*(*) , INTENT(IN) :: Element
6728 CHARACTER*(*) , INTENT(IN) :: VarName
6732 INTEGER , INTENT(IN) :: Count
6734 INTEGER , INTENT(OUT) :: Status
6736 #include <wrf_status_codes.h>
6737 INTEGER :: len_of_str
6739 INTEGER, EXTERNAL :: use_package
6740 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
6743 INTEGER io_form , Hndl
6745 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_real_arr " )
6752 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6753 IF ( Hndl .GT. -1 ) THEN
6754 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
6755 SELECT CASE ( use_package( io_form ) )
6758 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6759 # if ( RWORDSIZE == DWORDSIZE )
6760 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
6763 CALL ext_ncd_put_var_ti_real ( Hndl, Element, Varname, Data, &
6767 IF ( .NOT. multi_files(io_form) ) THEN
6776 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6781 # if ( RWORDSIZE == DWORDSIZE )
6782 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
6785 CALL ext_pnc_put_var_ti_real ( Hndl, Element, Varname, Data, &
6791 # if ( RWORDSIZE == DWORDSIZE )
6792 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
6795 CALL ext_phdf5_put_var_ti_real ( Hndl, Element, Varname, Data, &
6801 # if ( RWORDSIZE == DWORDSIZE )
6802 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
6805 CALL ext_esmf_put_var_ti_real ( Hndl, Element, Varname, Data, &
6811 # if ( RWORDSIZE == DWORDSIZE )
6812 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
6815 CALL ext_xxx_put_var_ti_real ( Hndl, Element, Varname, Data, &
6821 # if ( RWORDSIZE == DWORDSIZE )
6822 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
6825 CALL ext_yyy_put_var_ti_real ( Hndl, Element, Varname, Data, &
6831 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6832 # if ( RWORDSIZE == DWORDSIZE )
6833 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
6836 CALL ext_gr1_put_var_ti_real ( Hndl, Element, Varname, Data, &
6840 IF ( .NOT. multi_files(io_form) ) THEN
6849 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6854 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6855 # if ( RWORDSIZE == DWORDSIZE )
6856 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
6859 CALL ext_gr2_put_var_ti_real ( Hndl, Element, Varname, Data, &
6863 IF ( .NOT. multi_files(io_form) ) THEN
6872 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6877 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6878 # if ( RWORDSIZE == DWORDSIZE )
6879 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
6882 CALL ext_int_put_var_ti_real ( Hndl, Element, Varname, Data, &
6886 IF ( .NOT. multi_files(io_form) ) THEN
6895 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6900 ELSE IF ( for_out .AND. use_output_servers() ) THEN
6901 CALL wrf_quilt_put_var_ti_real ( Hndl, Element, Varname, Data, &
6907 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6910 END SUBROUTINE wrf_put_var_ti_real_arr
6911 !--- put_var_ti_real
6913 SUBROUTINE wrf_put_var_ti_real_sca ( DataHandle,Element, Varname, Data, Count, Status )
6917 ! Write time independent
6918 ! attribute "Element" of variable "Varname"
6919 ! to the open dataset described by DataHandle.
6920 ! Attribute of type real is
6921 ! copied from scalar Data.
6926 USE module_state_description
6928 INTEGER , INTENT(IN) :: DataHandle
6929 CHARACTER*(*) , INTENT(IN) :: Element
6931 CHARACTER*(*) , INTENT(IN) :: VarName
6935 INTEGER , INTENT(IN) :: Count
6937 INTEGER , INTENT(OUT) :: Status
6939 #include <wrf_status_codes.h>
6940 INTEGER :: len_of_str
6942 INTEGER, EXTERNAL :: use_package
6943 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
6946 INTEGER io_form , Hndl
6948 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_real_sca " )
6955 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6956 IF ( Hndl .GT. -1 ) THEN
6957 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
6958 SELECT CASE ( use_package( io_form ) )
6961 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6962 # if ( RWORDSIZE == DWORDSIZE )
6963 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
6966 CALL ext_ncd_put_var_ti_real ( Hndl, Element, Varname, Data, &
6970 IF ( .NOT. multi_files(io_form) ) THEN
6979 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6984 # if ( RWORDSIZE == DWORDSIZE )
6985 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
6988 CALL ext_pnc_put_var_ti_real ( Hndl, Element, Varname, Data, &
6994 # if ( RWORDSIZE == DWORDSIZE )
6995 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
6998 CALL ext_phdf5_put_var_ti_real ( Hndl, Element, Varname, Data, &
7004 # if ( RWORDSIZE == DWORDSIZE )
7005 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
7008 CALL ext_esmf_put_var_ti_real ( Hndl, Element, Varname, Data, &
7014 # if ( RWORDSIZE == DWORDSIZE )
7015 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
7018 CALL ext_xxx_put_var_ti_real ( Hndl, Element, Varname, Data, &
7024 # if ( RWORDSIZE == DWORDSIZE )
7025 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
7028 CALL ext_yyy_put_var_ti_real ( Hndl, Element, Varname, Data, &
7034 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7035 # if ( RWORDSIZE == DWORDSIZE )
7036 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
7039 CALL ext_gr1_put_var_ti_real ( Hndl, Element, Varname, Data, &
7043 IF ( .NOT. multi_files(io_form) ) THEN
7052 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7057 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7058 # if ( RWORDSIZE == DWORDSIZE )
7059 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
7062 CALL ext_gr2_put_var_ti_real ( Hndl, Element, Varname, Data, &
7066 IF ( .NOT. multi_files(io_form) ) THEN
7075 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7080 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7081 # if ( RWORDSIZE == DWORDSIZE )
7082 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
7085 CALL ext_int_put_var_ti_real ( Hndl, Element, Varname, Data, &
7089 IF ( .NOT. multi_files(io_form) ) THEN
7098 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7103 ELSE IF ( for_out .AND. use_output_servers() ) THEN
7104 CALL wrf_quilt_put_var_ti_real ( Hndl, Element, Varname, Data, &
7110 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7113 END SUBROUTINE wrf_put_var_ti_real_sca
7116 !--- get_var_ti_double
7118 SUBROUTINE wrf_get_var_ti_double_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
7122 ! Attempt to read Count words of time independent
7123 ! attribute "Element" of variable "Varname"
7124 ! from the open dataset described by DataHandle.
7125 ! Attribute of type double is
7126 ! stored in array Data.
7127 ! Actual number of words read is returned in OutCount.
7131 USE module_state_description
7133 INTEGER , INTENT(IN) :: DataHandle
7134 CHARACTER*(*) , INTENT(IN) :: Element
7136 CHARACTER*(*) , INTENT(IN) :: VarName
7140 INTEGER , INTENT(IN) :: Count
7141 INTEGER , INTENT(OUT) :: OutCount
7142 INTEGER , INTENT(OUT) :: Status
7144 #include <wrf_status_codes.h>
7145 INTEGER :: len_of_str
7147 INTEGER, EXTERNAL :: use_package
7148 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
7151 INTEGER io_form , Hndl
7153 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_double_arr " )
7160 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7161 IF ( Hndl .GT. -1 ) THEN
7162 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
7163 SELECT CASE ( use_package( io_form ) )
7166 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7167 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
7168 locCount, Outcount, Status )
7170 IF ( .NOT. multi_files(io_form) ) THEN
7179 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7184 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
7185 locCount, Outcount, Status )
7189 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
7190 locCount, Outcount, Status )
7194 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
7195 locCount, Outcount, Status )
7199 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
7200 locCount, Outcount, Status )
7204 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
7205 locCount, Outcount, Status )
7209 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7210 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
7211 locCount, Outcount, Status )
7213 IF ( .NOT. multi_files(io_form) ) THEN
7222 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7227 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7228 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
7229 locCount, Outcount, Status )
7231 IF ( .NOT. multi_files(io_form) ) THEN
7240 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7245 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7246 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
7247 locCount, Outcount, Status )
7249 IF ( .NOT. multi_files(io_form) ) THEN
7258 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7263 ELSE IF ( for_out .AND. use_output_servers() ) THEN
7264 CALL wrf_quilt_get_var_ti_double ( Hndl, Element, Varname, Data, &
7265 locCount, Outcount, Status )
7270 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7273 END SUBROUTINE wrf_get_var_ti_double_arr
7274 !--- get_var_ti_double
7276 SUBROUTINE wrf_get_var_ti_double_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
7280 ! Attempt to read time independent
7281 ! attribute "Element" of variable "Varname"
7282 ! from the open dataset described by DataHandle.
7283 ! Attribute of type double is
7284 ! stored in scalar Data.
7289 USE module_state_description
7291 INTEGER , INTENT(IN) :: DataHandle
7292 CHARACTER*(*) , INTENT(IN) :: Element
7294 CHARACTER*(*) , INTENT(IN) :: VarName
7298 INTEGER , INTENT(IN) :: Count
7299 INTEGER , INTENT(OUT) :: OutCount
7300 INTEGER , INTENT(OUT) :: Status
7302 #include <wrf_status_codes.h>
7303 INTEGER :: len_of_str
7305 INTEGER, EXTERNAL :: use_package
7306 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
7309 INTEGER io_form , Hndl
7311 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_double_sca " )
7318 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7319 IF ( Hndl .GT. -1 ) THEN
7320 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
7321 SELECT CASE ( use_package( io_form ) )
7324 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7325 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
7326 locCount, Outcount, Status )
7328 IF ( .NOT. multi_files(io_form) ) THEN
7337 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7342 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
7343 locCount, Outcount, Status )
7347 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
7348 locCount, Outcount, Status )
7352 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
7353 locCount, Outcount, Status )
7357 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
7358 locCount, Outcount, Status )
7362 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
7363 locCount, Outcount, Status )
7367 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7368 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
7369 locCount, Outcount, Status )
7371 IF ( .NOT. multi_files(io_form) ) THEN
7380 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7385 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7386 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
7387 locCount, Outcount, Status )
7389 IF ( .NOT. multi_files(io_form) ) THEN
7398 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7403 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7404 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
7405 locCount, Outcount, Status )
7407 IF ( .NOT. multi_files(io_form) ) THEN
7416 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7421 ELSE IF ( for_out .AND. use_output_servers() ) THEN
7422 CALL wrf_quilt_get_var_ti_double ( Hndl, Element, Varname, Data, &
7423 locCount, Outcount, Status )
7428 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7431 END SUBROUTINE wrf_get_var_ti_double_sca
7434 !--- put_var_ti_double
7436 SUBROUTINE wrf_put_var_ti_double_arr ( DataHandle,Element, Varname, Data, Count, Status )
7440 ! Write Count words of time independent
7441 ! attribute "Element" of variable "Varname"
7442 ! to the open dataset described by DataHandle.
7443 ! Attribute of type double is
7444 ! copied from array Data.
7449 USE module_state_description
7451 INTEGER , INTENT(IN) :: DataHandle
7452 CHARACTER*(*) , INTENT(IN) :: Element
7454 CHARACTER*(*) , INTENT(IN) :: VarName
7458 INTEGER , INTENT(IN) :: Count
7460 INTEGER , INTENT(OUT) :: Status
7462 #include <wrf_status_codes.h>
7463 INTEGER :: len_of_str
7465 INTEGER, EXTERNAL :: use_package
7466 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
7469 INTEGER io_form , Hndl
7471 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_double_arr " )
7478 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7479 IF ( Hndl .GT. -1 ) THEN
7480 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
7481 SELECT CASE ( use_package( io_form ) )
7484 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7485 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
7488 IF ( .NOT. multi_files(io_form) ) THEN
7497 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7502 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
7507 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
7512 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
7517 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
7522 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
7527 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7528 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
7531 IF ( .NOT. multi_files(io_form) ) THEN
7540 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7545 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7546 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
7549 IF ( .NOT. multi_files(io_form) ) THEN
7558 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7563 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7564 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
7567 IF ( .NOT. multi_files(io_form) ) THEN
7576 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7581 ELSE IF ( for_out .AND. use_output_servers() ) THEN
7582 CALL wrf_quilt_put_var_ti_double ( Hndl, Element, Varname, Data, &
7588 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7591 END SUBROUTINE wrf_put_var_ti_double_arr
7592 !--- put_var_ti_double
7594 SUBROUTINE wrf_put_var_ti_double_sca ( DataHandle,Element, Varname, Data, Count, Status )
7598 ! Write time independent
7599 ! attribute "Element" of variable "Varname"
7600 ! to the open dataset described by DataHandle.
7601 ! Attribute of type double is
7602 ! copied from scalar Data.
7607 USE module_state_description
7609 INTEGER , INTENT(IN) :: DataHandle
7610 CHARACTER*(*) , INTENT(IN) :: Element
7612 CHARACTER*(*) , INTENT(IN) :: VarName
7616 INTEGER , INTENT(IN) :: Count
7618 INTEGER , INTENT(OUT) :: Status
7620 #include <wrf_status_codes.h>
7621 INTEGER :: len_of_str
7623 INTEGER, EXTERNAL :: use_package
7624 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
7627 INTEGER io_form , Hndl
7629 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_double_sca " )
7636 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7637 IF ( Hndl .GT. -1 ) THEN
7638 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
7639 SELECT CASE ( use_package( io_form ) )
7642 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7643 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
7646 IF ( .NOT. multi_files(io_form) ) THEN
7655 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7660 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
7665 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
7670 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
7675 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
7680 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
7685 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7686 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
7689 IF ( .NOT. multi_files(io_form) ) THEN
7698 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7703 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7704 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
7707 IF ( .NOT. multi_files(io_form) ) THEN
7716 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7721 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7722 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
7725 IF ( .NOT. multi_files(io_form) ) THEN
7734 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7739 ELSE IF ( for_out .AND. use_output_servers() ) THEN
7740 CALL wrf_quilt_put_var_ti_double ( Hndl, Element, Varname, Data, &
7746 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7749 END SUBROUTINE wrf_put_var_ti_double_sca
7752 !--- get_var_ti_integer
7754 SUBROUTINE wrf_get_var_ti_integer_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
7758 ! Attempt to read Count words of time independent
7759 ! attribute "Element" of variable "Varname"
7760 ! from the open dataset described by DataHandle.
7761 ! Attribute of type integer is
7762 ! stored in array Data.
7763 ! Actual number of words read is returned in OutCount.
7767 USE module_state_description
7769 INTEGER , INTENT(IN) :: DataHandle
7770 CHARACTER*(*) , INTENT(IN) :: Element
7772 CHARACTER*(*) , INTENT(IN) :: VarName
7776 INTEGER , INTENT(IN) :: Count
7777 INTEGER , INTENT(OUT) :: OutCount
7778 INTEGER , INTENT(OUT) :: Status
7780 #include <wrf_status_codes.h>
7781 INTEGER :: len_of_str
7783 INTEGER, EXTERNAL :: use_package
7784 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
7787 INTEGER io_form , Hndl
7789 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_integer_arr " )
7796 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7797 IF ( Hndl .GT. -1 ) THEN
7798 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
7799 SELECT CASE ( use_package( io_form ) )
7802 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7803 CALL ext_ncd_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7804 locCount, Outcount, Status )
7806 IF ( .NOT. multi_files(io_form) ) THEN
7807 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
7808 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
7815 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7820 CALL ext_pnc_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7821 locCount, Outcount, Status )
7825 CALL ext_phdf5_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7826 locCount, Outcount, Status )
7830 CALL ext_esmf_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7831 locCount, Outcount, Status )
7835 CALL ext_xxx_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7836 locCount, Outcount, Status )
7840 CALL ext_yyy_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7841 locCount, Outcount, Status )
7845 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7846 CALL ext_gr1_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7847 locCount, Outcount, Status )
7849 IF ( .NOT. multi_files(io_form) ) THEN
7850 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
7851 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
7858 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7863 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7864 CALL ext_gr2_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7865 locCount, Outcount, Status )
7867 IF ( .NOT. multi_files(io_form) ) THEN
7868 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
7869 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
7876 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7881 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7882 CALL ext_int_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7883 locCount, Outcount, Status )
7885 IF ( .NOT. multi_files(io_form) ) THEN
7886 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
7887 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
7894 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7899 ELSE IF ( for_out .AND. use_output_servers() ) THEN
7900 CALL wrf_quilt_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7901 locCount, Outcount, Status )
7906 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7909 END SUBROUTINE wrf_get_var_ti_integer_arr
7910 !--- get_var_ti_integer
7912 SUBROUTINE wrf_get_var_ti_integer_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
7916 ! Attempt to read time independent
7917 ! attribute "Element" of variable "Varname"
7918 ! from the open dataset described by DataHandle.
7919 ! Attribute of type integer is
7920 ! stored in scalar Data.
7925 USE module_state_description
7927 INTEGER , INTENT(IN) :: DataHandle
7928 CHARACTER*(*) , INTENT(IN) :: Element
7930 CHARACTER*(*) , INTENT(IN) :: VarName
7934 INTEGER , INTENT(IN) :: Count
7935 INTEGER , INTENT(OUT) :: OutCount
7936 INTEGER , INTENT(OUT) :: Status
7938 #include <wrf_status_codes.h>
7939 INTEGER :: len_of_str
7941 INTEGER, EXTERNAL :: use_package
7942 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
7945 INTEGER io_form , Hndl
7947 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_integer_sca " )
7954 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7955 IF ( Hndl .GT. -1 ) THEN
7956 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
7957 SELECT CASE ( use_package( io_form ) )
7960 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7961 CALL ext_ncd_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7962 locCount, Outcount, Status )
7964 IF ( .NOT. multi_files(io_form) ) THEN
7965 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
7966 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
7973 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7978 CALL ext_pnc_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7979 locCount, Outcount, Status )
7983 CALL ext_phdf5_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7984 locCount, Outcount, Status )
7988 CALL ext_esmf_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7989 locCount, Outcount, Status )
7993 CALL ext_xxx_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7994 locCount, Outcount, Status )
7998 CALL ext_yyy_get_var_ti_integer ( Hndl, Element, Varname, Data, &
7999 locCount, Outcount, Status )
8003 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8004 CALL ext_gr1_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8005 locCount, Outcount, Status )
8007 IF ( .NOT. multi_files(io_form) ) THEN
8008 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8009 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8016 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8021 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8022 CALL ext_gr2_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8023 locCount, Outcount, Status )
8025 IF ( .NOT. multi_files(io_form) ) THEN
8026 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8027 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8034 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8039 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8040 CALL ext_int_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8041 locCount, Outcount, Status )
8043 IF ( .NOT. multi_files(io_form) ) THEN
8044 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8045 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8052 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8057 ELSE IF ( for_out .AND. use_output_servers() ) THEN
8058 CALL wrf_quilt_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8059 locCount, Outcount, Status )
8064 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8067 END SUBROUTINE wrf_get_var_ti_integer_sca
8070 !--- put_var_ti_integer
8072 SUBROUTINE wrf_put_var_ti_integer_arr ( DataHandle,Element, Varname, Data, Count, Status )
8076 ! Write Count words of time independent
8077 ! attribute "Element" of variable "Varname"
8078 ! to the open dataset described by DataHandle.
8079 ! Attribute of type integer is
8080 ! copied from array Data.
8085 USE module_state_description
8087 INTEGER , INTENT(IN) :: DataHandle
8088 CHARACTER*(*) , INTENT(IN) :: Element
8090 CHARACTER*(*) , INTENT(IN) :: VarName
8094 INTEGER , INTENT(IN) :: Count
8096 INTEGER , INTENT(OUT) :: Status
8098 #include <wrf_status_codes.h>
8099 INTEGER :: len_of_str
8101 INTEGER, EXTERNAL :: use_package
8102 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
8105 INTEGER io_form , Hndl
8107 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_integer_arr " )
8114 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8115 IF ( Hndl .GT. -1 ) THEN
8116 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
8117 SELECT CASE ( use_package( io_form ) )
8120 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8121 CALL ext_ncd_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8124 IF ( .NOT. multi_files(io_form) ) THEN
8133 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8138 CALL ext_pnc_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8143 CALL ext_phdf5_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8148 CALL ext_esmf_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8153 CALL ext_xxx_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8158 CALL ext_yyy_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8163 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8164 CALL ext_gr1_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8167 IF ( .NOT. multi_files(io_form) ) THEN
8176 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8181 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8182 CALL ext_gr2_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8185 IF ( .NOT. multi_files(io_form) ) THEN
8194 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8199 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8200 CALL ext_int_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8203 IF ( .NOT. multi_files(io_form) ) THEN
8212 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8217 ELSE IF ( for_out .AND. use_output_servers() ) THEN
8218 CALL wrf_quilt_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8224 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8227 END SUBROUTINE wrf_put_var_ti_integer_arr
8228 !--- put_var_ti_integer
8230 SUBROUTINE wrf_put_var_ti_integer_sca ( DataHandle,Element, Varname, Data, Count, Status )
8234 ! Write time independent
8235 ! attribute "Element" of variable "Varname"
8236 ! to the open dataset described by DataHandle.
8237 ! Attribute of type integer is
8238 ! copied from scalar Data.
8243 USE module_state_description
8245 INTEGER , INTENT(IN) :: DataHandle
8246 CHARACTER*(*) , INTENT(IN) :: Element
8248 CHARACTER*(*) , INTENT(IN) :: VarName
8252 INTEGER , INTENT(IN) :: Count
8254 INTEGER , INTENT(OUT) :: Status
8256 #include <wrf_status_codes.h>
8257 INTEGER :: len_of_str
8259 INTEGER, EXTERNAL :: use_package
8260 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
8263 INTEGER io_form , Hndl
8265 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_integer_sca " )
8272 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8273 IF ( Hndl .GT. -1 ) THEN
8274 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
8275 SELECT CASE ( use_package( io_form ) )
8278 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8279 CALL ext_ncd_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8282 IF ( .NOT. multi_files(io_form) ) THEN
8291 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8296 CALL ext_pnc_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8301 CALL ext_phdf5_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8306 CALL ext_esmf_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8311 CALL ext_xxx_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8316 CALL ext_yyy_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8321 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8322 CALL ext_gr1_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8325 IF ( .NOT. multi_files(io_form) ) THEN
8334 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8339 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8340 CALL ext_gr2_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8343 IF ( .NOT. multi_files(io_form) ) THEN
8352 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8357 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8358 CALL ext_int_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8361 IF ( .NOT. multi_files(io_form) ) THEN
8370 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8375 ELSE IF ( for_out .AND. use_output_servers() ) THEN
8376 CALL wrf_quilt_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8382 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8385 END SUBROUTINE wrf_put_var_ti_integer_sca
8388 !--- get_var_ti_logical
8390 SUBROUTINE wrf_get_var_ti_logical_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
8394 ! Attempt to read Count words of time independent
8395 ! attribute "Element" of variable "Varname"
8396 ! from the open dataset described by DataHandle.
8397 ! Attribute of type logical is
8398 ! stored in array Data.
8399 ! Actual number of words read is returned in OutCount.
8403 USE module_state_description
8405 INTEGER , INTENT(IN) :: DataHandle
8406 CHARACTER*(*) , INTENT(IN) :: Element
8408 CHARACTER*(*) , INTENT(IN) :: VarName
8412 INTEGER , INTENT(IN) :: Count
8413 INTEGER , INTENT(OUT) :: OutCount
8414 INTEGER , INTENT(OUT) :: Status
8416 #include <wrf_status_codes.h>
8417 INTEGER :: len_of_str
8419 INTEGER, EXTERNAL :: use_package
8420 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
8423 INTEGER io_form , Hndl
8425 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_logical_arr " )
8432 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8433 IF ( Hndl .GT. -1 ) THEN
8434 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
8435 SELECT CASE ( use_package( io_form ) )
8438 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8439 CALL ext_ncd_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8440 locCount, Outcount, Status )
8442 IF ( .NOT. multi_files(io_form) ) THEN
8447 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8448 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8451 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8456 CALL ext_pnc_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8457 locCount, Outcount, Status )
8461 CALL ext_phdf5_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8462 locCount, Outcount, Status )
8466 CALL ext_esmf_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8467 locCount, Outcount, Status )
8471 CALL ext_xxx_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8472 locCount, Outcount, Status )
8476 CALL ext_yyy_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8477 locCount, Outcount, Status )
8481 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8482 CALL ext_gr1_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8483 locCount, Outcount, Status )
8485 IF ( .NOT. multi_files(io_form) ) THEN
8490 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8491 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8494 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8499 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8500 CALL ext_gr2_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8501 locCount, Outcount, Status )
8503 IF ( .NOT. multi_files(io_form) ) THEN
8508 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8509 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8512 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8517 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8518 CALL ext_int_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8519 locCount, Outcount, Status )
8521 IF ( .NOT. multi_files(io_form) ) THEN
8526 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8527 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8530 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8535 ELSE IF ( for_out .AND. use_output_servers() ) THEN
8536 CALL wrf_quilt_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8537 locCount, Outcount, Status )
8542 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8545 END SUBROUTINE wrf_get_var_ti_logical_arr
8546 !--- get_var_ti_logical
8548 SUBROUTINE wrf_get_var_ti_logical_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
8552 ! Attempt to read time independent
8553 ! attribute "Element" of variable "Varname"
8554 ! from the open dataset described by DataHandle.
8555 ! Attribute of type logical is
8556 ! stored in scalar Data.
8561 USE module_state_description
8563 INTEGER , INTENT(IN) :: DataHandle
8564 CHARACTER*(*) , INTENT(IN) :: Element
8566 CHARACTER*(*) , INTENT(IN) :: VarName
8570 INTEGER , INTENT(IN) :: Count
8571 INTEGER , INTENT(OUT) :: OutCount
8572 INTEGER , INTENT(OUT) :: Status
8574 #include <wrf_status_codes.h>
8575 INTEGER :: len_of_str
8577 INTEGER, EXTERNAL :: use_package
8578 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
8581 INTEGER io_form , Hndl
8583 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_logical_sca " )
8590 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8591 IF ( Hndl .GT. -1 ) THEN
8592 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
8593 SELECT CASE ( use_package( io_form ) )
8596 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8597 CALL ext_ncd_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8598 locCount, Outcount, Status )
8600 IF ( .NOT. multi_files(io_form) ) THEN
8605 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8606 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8609 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8614 CALL ext_pnc_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8615 locCount, Outcount, Status )
8619 CALL ext_phdf5_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8620 locCount, Outcount, Status )
8624 CALL ext_esmf_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8625 locCount, Outcount, Status )
8629 CALL ext_xxx_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8630 locCount, Outcount, Status )
8634 CALL ext_yyy_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8635 locCount, Outcount, Status )
8639 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8640 CALL ext_gr1_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8641 locCount, Outcount, Status )
8643 IF ( .NOT. multi_files(io_form) ) THEN
8648 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8649 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8652 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8657 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8658 CALL ext_gr2_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8659 locCount, Outcount, Status )
8661 IF ( .NOT. multi_files(io_form) ) THEN
8666 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8667 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8670 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8675 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8676 CALL ext_int_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8677 locCount, Outcount, Status )
8679 IF ( .NOT. multi_files(io_form) ) THEN
8684 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8685 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8688 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8693 ELSE IF ( for_out .AND. use_output_servers() ) THEN
8694 CALL wrf_quilt_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8695 locCount, Outcount, Status )
8700 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8703 END SUBROUTINE wrf_get_var_ti_logical_sca
8706 !--- put_var_ti_logical
8708 SUBROUTINE wrf_put_var_ti_logical_arr ( DataHandle,Element, Varname, Data, Count, Status )
8712 ! Write Count words of time independent
8713 ! attribute "Element" of variable "Varname"
8714 ! to the open dataset described by DataHandle.
8715 ! Attribute of type logical is
8716 ! copied from array Data.
8721 USE module_state_description
8723 INTEGER , INTENT(IN) :: DataHandle
8724 CHARACTER*(*) , INTENT(IN) :: Element
8726 CHARACTER*(*) , INTENT(IN) :: VarName
8730 INTEGER , INTENT(IN) :: Count
8732 INTEGER , INTENT(OUT) :: Status
8734 #include <wrf_status_codes.h>
8735 INTEGER :: len_of_str
8737 INTEGER, EXTERNAL :: use_package
8738 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
8741 INTEGER io_form , Hndl
8743 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_logical_arr " )
8750 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8751 IF ( Hndl .GT. -1 ) THEN
8752 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
8753 SELECT CASE ( use_package( io_form ) )
8756 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8757 CALL ext_ncd_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8760 IF ( .NOT. multi_files(io_form) ) THEN
8769 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8774 CALL ext_pnc_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8779 CALL ext_phdf5_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8784 CALL ext_esmf_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8789 CALL ext_xxx_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8794 CALL ext_yyy_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8799 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8800 CALL ext_gr1_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8803 IF ( .NOT. multi_files(io_form) ) THEN
8812 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8817 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8818 CALL ext_gr2_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8821 IF ( .NOT. multi_files(io_form) ) THEN
8830 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8835 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8836 CALL ext_int_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8839 IF ( .NOT. multi_files(io_form) ) THEN
8848 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8853 ELSE IF ( for_out .AND. use_output_servers() ) THEN
8854 CALL wrf_quilt_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8860 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8863 END SUBROUTINE wrf_put_var_ti_logical_arr
8864 !--- put_var_ti_logical
8866 SUBROUTINE wrf_put_var_ti_logical_sca ( DataHandle,Element, Varname, Data, Count, Status )
8870 ! Write time independent
8871 ! attribute "Element" of variable "Varname"
8872 ! to the open dataset described by DataHandle.
8873 ! Attribute of type logical is
8874 ! copied from scalar Data.
8879 USE module_state_description
8881 INTEGER , INTENT(IN) :: DataHandle
8882 CHARACTER*(*) , INTENT(IN) :: Element
8884 CHARACTER*(*) , INTENT(IN) :: VarName
8888 INTEGER , INTENT(IN) :: Count
8890 INTEGER , INTENT(OUT) :: Status
8892 #include <wrf_status_codes.h>
8893 INTEGER :: len_of_str
8895 INTEGER, EXTERNAL :: use_package
8896 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
8899 INTEGER io_form , Hndl
8901 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_logical_sca " )
8908 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8909 IF ( Hndl .GT. -1 ) THEN
8910 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
8911 SELECT CASE ( use_package( io_form ) )
8914 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8915 CALL ext_ncd_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8918 IF ( .NOT. multi_files(io_form) ) THEN
8927 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8932 CALL ext_pnc_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8937 CALL ext_phdf5_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8942 CALL ext_esmf_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8947 CALL ext_xxx_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8952 CALL ext_yyy_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8957 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8958 CALL ext_gr1_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8961 IF ( .NOT. multi_files(io_form) ) THEN
8970 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8975 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8976 CALL ext_gr2_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8979 IF ( .NOT. multi_files(io_form) ) THEN
8988 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8993 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8994 CALL ext_int_put_var_ti_logical ( Hndl, Element, Varname, Data, &
8997 IF ( .NOT. multi_files(io_form) ) THEN
9006 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9011 ELSE IF ( for_out .AND. use_output_servers() ) THEN
9012 CALL wrf_quilt_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9018 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9021 END SUBROUTINE wrf_put_var_ti_logical_sca
9024 !--- get_var_ti_char
9026 SUBROUTINE wrf_get_var_ti_char_arr ( DataHandle,Element, Varname, Data, Status )
9030 ! Attempt to read time independent
9031 ! attribute "Element" of variable "Varname"
9032 ! from the open dataset described by DataHandle.
9033 ! Attribute of type char is
9034 ! stored in string Data.
9039 USE module_state_description
9041 INTEGER , INTENT(IN) :: DataHandle
9042 CHARACTER*(*) , INTENT(IN) :: Element
9044 CHARACTER*(*) , INTENT(IN) :: VarName
9046 CHARACTER*(*) :: Data
9050 INTEGER , INTENT(OUT) :: Status
9052 #include <wrf_status_codes.h>
9053 INTEGER :: len_of_str
9055 INTEGER, EXTERNAL :: use_package
9056 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
9059 INTEGER io_form , Hndl
9061 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_char_arr " )
9068 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9069 IF ( Hndl .GT. -1 ) THEN
9070 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
9071 SELECT CASE ( use_package( io_form ) )
9074 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9075 CALL ext_ncd_get_var_ti_char ( Hndl, Element, Varname, Data, &
9078 IF ( .NOT. multi_files(io_form) ) THEN
9085 len_of_str = LEN(Data)
9086 CALL wrf_dm_bcast_string( Data, len_of_str )
9087 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9092 CALL ext_pnc_get_var_ti_char ( Hndl, Element, Varname, Data, &
9097 CALL ext_phdf5_get_var_ti_char ( Hndl, Element, Varname, Data, &
9102 CALL ext_esmf_get_var_ti_char ( Hndl, Element, Varname, Data, &
9107 CALL ext_xxx_get_var_ti_char ( Hndl, Element, Varname, Data, &
9112 CALL ext_yyy_get_var_ti_char ( Hndl, Element, Varname, Data, &
9117 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9118 CALL ext_gr1_get_var_ti_char ( Hndl, Element, Varname, Data, &
9121 IF ( .NOT. multi_files(io_form) ) THEN
9128 len_of_str = LEN(Data)
9129 CALL wrf_dm_bcast_string( Data, len_of_str )
9130 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9135 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9136 CALL ext_gr2_get_var_ti_char ( Hndl, Element, Varname, Data, &
9139 IF ( .NOT. multi_files(io_form) ) THEN
9146 len_of_str = LEN(Data)
9147 CALL wrf_dm_bcast_string( Data, len_of_str )
9148 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9153 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9154 CALL ext_int_get_var_ti_char ( Hndl, Element, Varname, Data, &
9157 IF ( .NOT. multi_files(io_form) ) THEN
9164 len_of_str = LEN(Data)
9165 CALL wrf_dm_bcast_string( Data, len_of_str )
9166 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9171 ELSE IF ( for_out .AND. use_output_servers() ) THEN
9172 CALL wrf_quilt_get_var_ti_char ( Hndl, Element, Varname, Data, &
9178 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9181 END SUBROUTINE wrf_get_var_ti_char_arr
9184 !--- put_var_ti_char
9186 SUBROUTINE wrf_put_var_ti_char_arr ( DataHandle,Element, Varname, Data, Status )
9190 ! Write time independent
9191 ! attribute "Element" of variable "Varname"
9192 ! to the open dataset described by DataHandle.
9193 ! Attribute of type char is
9194 ! copied from string Data.
9199 USE module_state_description
9201 INTEGER , INTENT(IN) :: DataHandle
9202 CHARACTER*(*) , INTENT(IN) :: Element
9204 CHARACTER*(*) , INTENT(IN) :: VarName
9206 CHARACTER*(*) :: Data
9210 INTEGER , INTENT(OUT) :: Status
9212 #include <wrf_status_codes.h>
9213 INTEGER :: len_of_str
9215 INTEGER, EXTERNAL :: use_package
9216 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
9219 INTEGER io_form , Hndl
9221 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_char_arr " )
9228 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9229 IF ( Hndl .GT. -1 ) THEN
9230 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
9231 SELECT CASE ( use_package( io_form ) )
9234 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9235 CALL ext_ncd_put_var_ti_char ( Hndl, Element, Varname, Data, &
9238 IF ( .NOT. multi_files(io_form) ) THEN
9247 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9252 CALL ext_pnc_put_var_ti_char ( Hndl, Element, Varname, Data, &
9257 CALL ext_phdf5_put_var_ti_char ( Hndl, Element, Varname, Data, &
9262 CALL ext_esmf_put_var_ti_char ( Hndl, Element, Varname, Data, &
9267 CALL ext_xxx_put_var_ti_char ( Hndl, Element, Varname, Data, &
9272 CALL ext_yyy_put_var_ti_char ( Hndl, Element, Varname, Data, &
9277 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9278 CALL ext_gr1_put_var_ti_char ( Hndl, Element, Varname, Data, &
9281 IF ( .NOT. multi_files(io_form) ) THEN
9290 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9295 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9296 CALL ext_gr2_put_var_ti_char ( Hndl, Element, Varname, Data, &
9299 IF ( .NOT. multi_files(io_form) ) THEN
9308 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9313 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9314 CALL ext_int_put_var_ti_char ( Hndl, Element, Varname, Data, &
9317 IF ( .NOT. multi_files(io_form) ) THEN
9326 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9331 ELSE IF ( for_out .AND. use_output_servers() ) THEN
9332 CALL wrf_quilt_put_var_ti_char ( Hndl, Element, Varname, Data, &
9338 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9341 END SUBROUTINE wrf_put_var_ti_char_arr
9345 !--- get_var_td_real
9347 SUBROUTINE wrf_get_var_td_real_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
9351 ! Attempt to read Count words of time dependent
9352 ! attribute "Element" of variable "Varname" valid at time DateStr
9353 ! from the open dataset described by DataHandle.
9354 ! Attribute of type real is
9355 ! stored in array Data.
9356 ! Actual number of words read is returned in OutCount.
9360 USE module_state_description
9362 INTEGER , INTENT(IN) :: DataHandle
9363 CHARACTER*(*) , INTENT(IN) :: Element
9364 CHARACTER*(*) , INTENT(IN) :: DateStr
9365 CHARACTER*(*) , INTENT(IN) :: VarName
9369 INTEGER , INTENT(IN) :: Count
9370 INTEGER , INTENT(OUT) :: OutCount
9371 INTEGER , INTENT(OUT) :: Status
9373 #include <wrf_status_codes.h>
9374 INTEGER :: len_of_str
9376 INTEGER, EXTERNAL :: use_package
9377 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
9380 INTEGER io_form , Hndl
9382 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_real_arr " )
9389 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9390 IF ( Hndl .GT. -1 ) THEN
9391 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
9392 SELECT CASE ( use_package( io_form ) )
9395 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9396 # if ( RWORDSIZE == DWORDSIZE )
9397 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9398 locCount, Outcount, Status )
9400 CALL ext_ncd_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9401 locCount, Outcount, Status )
9404 IF ( .NOT. multi_files(io_form) ) THEN
9407 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9408 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9413 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9418 # if ( RWORDSIZE == DWORDSIZE )
9419 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9420 locCount, Outcount, Status )
9422 CALL ext_pnc_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9423 locCount, Outcount, Status )
9428 # if ( RWORDSIZE == DWORDSIZE )
9429 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9430 locCount, Outcount, Status )
9432 CALL ext_phdf5_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9433 locCount, Outcount, Status )
9438 # if ( RWORDSIZE == DWORDSIZE )
9439 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9440 locCount, Outcount, Status )
9442 CALL ext_esmf_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9443 locCount, Outcount, Status )
9448 # if ( RWORDSIZE == DWORDSIZE )
9449 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9450 locCount, Outcount, Status )
9452 CALL ext_xxx_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9453 locCount, Outcount, Status )
9458 # if ( RWORDSIZE == DWORDSIZE )
9459 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9460 locCount, Outcount, Status )
9462 CALL ext_yyy_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9463 locCount, Outcount, Status )
9468 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9469 # if ( RWORDSIZE == DWORDSIZE )
9470 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9471 locCount, Outcount, Status )
9473 CALL ext_gr1_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9474 locCount, Outcount, Status )
9477 IF ( .NOT. multi_files(io_form) ) THEN
9480 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9481 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9486 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9491 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9492 # if ( RWORDSIZE == DWORDSIZE )
9493 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9494 locCount, Outcount, Status )
9496 CALL ext_gr2_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9497 locCount, Outcount, Status )
9500 IF ( .NOT. multi_files(io_form) ) THEN
9503 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9504 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9509 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9514 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9515 # if ( RWORDSIZE == DWORDSIZE )
9516 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9517 locCount, Outcount, Status )
9519 CALL ext_int_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9520 locCount, Outcount, Status )
9523 IF ( .NOT. multi_files(io_form) ) THEN
9526 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9527 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9532 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9537 ELSE IF ( for_out .AND. use_output_servers() ) THEN
9538 CALL wrf_quilt_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9539 locCount, Outcount, Status )
9544 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9547 END SUBROUTINE wrf_get_var_td_real_arr
9548 !--- get_var_td_real
9550 SUBROUTINE wrf_get_var_td_real_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
9554 ! Attempt to read time dependent
9555 ! attribute "Element" of variable "Varname" valid at time DateStr
9556 ! from the open dataset described by DataHandle.
9557 ! Attribute of type real is
9558 ! stored in scalar Data.
9563 USE module_state_description
9565 INTEGER , INTENT(IN) :: DataHandle
9566 CHARACTER*(*) , INTENT(IN) :: Element
9567 CHARACTER*(*) , INTENT(IN) :: DateStr
9568 CHARACTER*(*) , INTENT(IN) :: VarName
9572 INTEGER , INTENT(IN) :: Count
9573 INTEGER , INTENT(OUT) :: OutCount
9574 INTEGER , INTENT(OUT) :: Status
9576 #include <wrf_status_codes.h>
9577 INTEGER :: len_of_str
9579 INTEGER, EXTERNAL :: use_package
9580 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
9583 INTEGER io_form , Hndl
9585 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_real_sca " )
9592 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9593 IF ( Hndl .GT. -1 ) THEN
9594 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
9595 SELECT CASE ( use_package( io_form ) )
9598 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9599 # if ( RWORDSIZE == DWORDSIZE )
9600 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9601 locCount, Outcount, Status )
9603 CALL ext_ncd_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9604 locCount, Outcount, Status )
9607 IF ( .NOT. multi_files(io_form) ) THEN
9610 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9611 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9616 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9621 # if ( RWORDSIZE == DWORDSIZE )
9622 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9623 locCount, Outcount, Status )
9625 CALL ext_pnc_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9626 locCount, Outcount, Status )
9631 # if ( RWORDSIZE == DWORDSIZE )
9632 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9633 locCount, Outcount, Status )
9635 CALL ext_phdf5_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9636 locCount, Outcount, Status )
9641 # if ( RWORDSIZE == DWORDSIZE )
9642 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9643 locCount, Outcount, Status )
9645 CALL ext_esmf_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9646 locCount, Outcount, Status )
9651 # if ( RWORDSIZE == DWORDSIZE )
9652 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9653 locCount, Outcount, Status )
9655 CALL ext_xxx_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9656 locCount, Outcount, Status )
9661 # if ( RWORDSIZE == DWORDSIZE )
9662 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9663 locCount, Outcount, Status )
9665 CALL ext_yyy_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9666 locCount, Outcount, Status )
9671 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9672 # if ( RWORDSIZE == DWORDSIZE )
9673 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9674 locCount, Outcount, Status )
9676 CALL ext_gr1_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9677 locCount, Outcount, Status )
9680 IF ( .NOT. multi_files(io_form) ) THEN
9683 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9684 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9689 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9694 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9695 # if ( RWORDSIZE == DWORDSIZE )
9696 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9697 locCount, Outcount, Status )
9699 CALL ext_gr2_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9700 locCount, Outcount, Status )
9703 IF ( .NOT. multi_files(io_form) ) THEN
9706 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9707 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9712 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9717 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9718 # if ( RWORDSIZE == DWORDSIZE )
9719 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9720 locCount, Outcount, Status )
9722 CALL ext_int_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9723 locCount, Outcount, Status )
9726 IF ( .NOT. multi_files(io_form) ) THEN
9729 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9730 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9735 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9740 ELSE IF ( for_out .AND. use_output_servers() ) THEN
9741 CALL wrf_quilt_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9742 locCount, Outcount, Status )
9747 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9750 END SUBROUTINE wrf_get_var_td_real_sca
9753 !--- put_var_td_real
9755 SUBROUTINE wrf_put_var_td_real_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
9759 ! Write Count words of time dependent
9760 ! attribute "Element" of variable "Varname" valid at time DateStr
9761 ! to the open dataset described by DataHandle.
9762 ! Attribute of type real is
9763 ! copied from array Data.
9768 USE module_state_description
9770 INTEGER , INTENT(IN) :: DataHandle
9771 CHARACTER*(*) , INTENT(IN) :: Element
9772 CHARACTER*(*) , INTENT(IN) :: DateStr
9773 CHARACTER*(*) , INTENT(IN) :: VarName
9777 INTEGER , INTENT(IN) :: Count
9779 INTEGER , INTENT(OUT) :: Status
9781 #include <wrf_status_codes.h>
9782 INTEGER :: len_of_str
9784 INTEGER, EXTERNAL :: use_package
9785 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
9788 INTEGER io_form , Hndl
9790 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_real_arr " )
9797 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9798 IF ( Hndl .GT. -1 ) THEN
9799 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
9800 SELECT CASE ( use_package( io_form ) )
9803 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9804 # if ( RWORDSIZE == DWORDSIZE )
9805 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9808 CALL ext_ncd_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9812 IF ( .NOT. multi_files(io_form) ) THEN
9821 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9826 # if ( RWORDSIZE == DWORDSIZE )
9827 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9830 CALL ext_pnc_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9836 # if ( RWORDSIZE == DWORDSIZE )
9837 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9840 CALL ext_phdf5_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9846 # if ( RWORDSIZE == DWORDSIZE )
9847 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9850 CALL ext_esmf_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9856 # if ( RWORDSIZE == DWORDSIZE )
9857 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9860 CALL ext_xxx_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9866 # if ( RWORDSIZE == DWORDSIZE )
9867 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9870 CALL ext_yyy_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9876 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9877 # if ( RWORDSIZE == DWORDSIZE )
9878 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9881 CALL ext_gr1_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9885 IF ( .NOT. multi_files(io_form) ) THEN
9894 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9899 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9900 # if ( RWORDSIZE == DWORDSIZE )
9901 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9904 CALL ext_gr2_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9908 IF ( .NOT. multi_files(io_form) ) THEN
9917 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9922 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9923 # if ( RWORDSIZE == DWORDSIZE )
9924 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9927 CALL ext_int_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9931 IF ( .NOT. multi_files(io_form) ) THEN
9940 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9945 ELSE IF ( for_out .AND. use_output_servers() ) THEN
9946 CALL wrf_quilt_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9952 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9955 END SUBROUTINE wrf_put_var_td_real_arr
9956 !--- put_var_td_real
9958 SUBROUTINE wrf_put_var_td_real_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
9962 ! Write time dependent
9963 ! attribute "Element" of variable "Varname" valid at time DateStr
9964 ! to the open dataset described by DataHandle.
9965 ! Attribute of type real is
9966 ! copied from scalar Data.
9971 USE module_state_description
9973 INTEGER , INTENT(IN) :: DataHandle
9974 CHARACTER*(*) , INTENT(IN) :: Element
9975 CHARACTER*(*) , INTENT(IN) :: DateStr
9976 CHARACTER*(*) , INTENT(IN) :: VarName
9980 INTEGER , INTENT(IN) :: Count
9982 INTEGER , INTENT(OUT) :: Status
9984 #include <wrf_status_codes.h>
9985 INTEGER :: len_of_str
9987 INTEGER, EXTERNAL :: use_package
9988 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
9991 INTEGER io_form , Hndl
9993 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_real_sca " )
10000 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10001 IF ( Hndl .GT. -1 ) THEN
10002 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
10003 SELECT CASE ( use_package( io_form ) )
10006 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10007 # if ( RWORDSIZE == DWORDSIZE )
10008 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10011 CALL ext_ncd_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10015 IF ( .NOT. multi_files(io_form) ) THEN
10024 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10028 CASE ( IO_PNETCDF )
10029 # if ( RWORDSIZE == DWORDSIZE )
10030 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10033 CALL ext_pnc_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10039 # if ( RWORDSIZE == DWORDSIZE )
10040 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10043 CALL ext_phdf5_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10049 # if ( RWORDSIZE == DWORDSIZE )
10050 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10053 CALL ext_esmf_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10059 # if ( RWORDSIZE == DWORDSIZE )
10060 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10063 CALL ext_xxx_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10069 # if ( RWORDSIZE == DWORDSIZE )
10070 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10073 CALL ext_yyy_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10079 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10080 # if ( RWORDSIZE == DWORDSIZE )
10081 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10084 CALL ext_gr1_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10088 IF ( .NOT. multi_files(io_form) ) THEN
10097 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10102 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10103 # if ( RWORDSIZE == DWORDSIZE )
10104 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10107 CALL ext_gr2_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10111 IF ( .NOT. multi_files(io_form) ) THEN
10120 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10125 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10126 # if ( RWORDSIZE == DWORDSIZE )
10127 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10130 CALL ext_int_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10134 IF ( .NOT. multi_files(io_form) ) THEN
10143 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10148 ELSE IF ( for_out .AND. use_output_servers() ) THEN
10149 CALL wrf_quilt_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10155 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10158 END SUBROUTINE wrf_put_var_td_real_sca
10161 !--- get_var_td_double
10163 SUBROUTINE wrf_get_var_td_double_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
10167 ! Attempt to read Count words of time dependent
10168 ! attribute "Element" of variable "Varname" valid at time DateStr
10169 ! from the open dataset described by DataHandle.
10170 ! Attribute of type double is
10171 ! stored in array Data.
10172 ! Actual number of words read is returned in OutCount.
10176 USE module_state_description
10178 INTEGER , INTENT(IN) :: DataHandle
10179 CHARACTER*(*) , INTENT(IN) :: Element
10180 CHARACTER*(*) , INTENT(IN) :: DateStr
10181 CHARACTER*(*) , INTENT(IN) :: VarName
10185 INTEGER , INTENT(IN) :: Count
10186 INTEGER , INTENT(OUT) :: OutCount
10187 INTEGER , INTENT(OUT) :: Status
10189 #include <wrf_status_codes.h>
10190 INTEGER :: len_of_str
10192 INTEGER, EXTERNAL :: use_package
10193 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
10194 INTEGER :: locCount
10196 INTEGER io_form , Hndl
10198 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_double_arr " )
10205 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10206 IF ( Hndl .GT. -1 ) THEN
10207 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
10208 SELECT CASE ( use_package( io_form ) )
10211 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10212 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10213 locCount, Outcount, Status )
10215 IF ( .NOT. multi_files(io_form) ) THEN
10224 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10228 CASE ( IO_PNETCDF )
10229 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10230 locCount, Outcount, Status )
10234 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10235 locCount, Outcount, Status )
10239 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10240 locCount, Outcount, Status )
10244 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10245 locCount, Outcount, Status )
10249 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10250 locCount, Outcount, Status )
10254 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10255 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10256 locCount, Outcount, Status )
10258 IF ( .NOT. multi_files(io_form) ) THEN
10267 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10272 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10273 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10274 locCount, Outcount, Status )
10276 IF ( .NOT. multi_files(io_form) ) THEN
10285 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10290 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10291 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10292 locCount, Outcount, Status )
10294 IF ( .NOT. multi_files(io_form) ) THEN
10303 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10308 ELSE IF ( for_out .AND. use_output_servers() ) THEN
10309 CALL wrf_quilt_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10310 locCount, Outcount, Status )
10315 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10318 END SUBROUTINE wrf_get_var_td_double_arr
10319 !--- get_var_td_double
10321 SUBROUTINE wrf_get_var_td_double_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
10325 ! Attempt to read time dependent
10326 ! attribute "Element" of variable "Varname" valid at time DateStr
10327 ! from the open dataset described by DataHandle.
10328 ! Attribute of type double is
10329 ! stored in scalar Data.
10334 USE module_state_description
10336 INTEGER , INTENT(IN) :: DataHandle
10337 CHARACTER*(*) , INTENT(IN) :: Element
10338 CHARACTER*(*) , INTENT(IN) :: DateStr
10339 CHARACTER*(*) , INTENT(IN) :: VarName
10343 INTEGER , INTENT(IN) :: Count
10344 INTEGER , INTENT(OUT) :: OutCount
10345 INTEGER , INTENT(OUT) :: Status
10347 #include <wrf_status_codes.h>
10348 INTEGER :: len_of_str
10350 INTEGER, EXTERNAL :: use_package
10351 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
10352 INTEGER :: locCount
10354 INTEGER io_form , Hndl
10356 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_double_sca " )
10363 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10364 IF ( Hndl .GT. -1 ) THEN
10365 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
10366 SELECT CASE ( use_package( io_form ) )
10369 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10370 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10371 locCount, Outcount, Status )
10373 IF ( .NOT. multi_files(io_form) ) THEN
10382 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10386 CASE ( IO_PNETCDF )
10387 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10388 locCount, Outcount, Status )
10392 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10393 locCount, Outcount, Status )
10397 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10398 locCount, Outcount, Status )
10402 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10403 locCount, Outcount, Status )
10407 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10408 locCount, Outcount, Status )
10412 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10413 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10414 locCount, Outcount, Status )
10416 IF ( .NOT. multi_files(io_form) ) THEN
10425 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10430 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10431 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10432 locCount, Outcount, Status )
10434 IF ( .NOT. multi_files(io_form) ) THEN
10443 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10448 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10449 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10450 locCount, Outcount, Status )
10452 IF ( .NOT. multi_files(io_form) ) THEN
10461 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10466 ELSE IF ( for_out .AND. use_output_servers() ) THEN
10467 CALL wrf_quilt_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10468 locCount, Outcount, Status )
10473 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10476 END SUBROUTINE wrf_get_var_td_double_sca
10479 !--- put_var_td_double
10481 SUBROUTINE wrf_put_var_td_double_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
10485 ! Write Count words of time dependent
10486 ! attribute "Element" of variable "Varname" valid at time DateStr
10487 ! to the open dataset described by DataHandle.
10488 ! Attribute of type double is
10489 ! copied from array Data.
10494 USE module_state_description
10496 INTEGER , INTENT(IN) :: DataHandle
10497 CHARACTER*(*) , INTENT(IN) :: Element
10498 CHARACTER*(*) , INTENT(IN) :: DateStr
10499 CHARACTER*(*) , INTENT(IN) :: VarName
10503 INTEGER , INTENT(IN) :: Count
10505 INTEGER , INTENT(OUT) :: Status
10507 #include <wrf_status_codes.h>
10508 INTEGER :: len_of_str
10510 INTEGER, EXTERNAL :: use_package
10511 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
10512 INTEGER :: locCount
10514 INTEGER io_form , Hndl
10516 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_double_arr " )
10523 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10524 IF ( Hndl .GT. -1 ) THEN
10525 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
10526 SELECT CASE ( use_package( io_form ) )
10529 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10530 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10533 IF ( .NOT. multi_files(io_form) ) THEN
10542 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10546 CASE ( IO_PNETCDF )
10547 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10552 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10557 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10562 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10567 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10572 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10573 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10576 IF ( .NOT. multi_files(io_form) ) THEN
10585 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10590 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10591 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10594 IF ( .NOT. multi_files(io_form) ) THEN
10603 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10608 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10609 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10612 IF ( .NOT. multi_files(io_form) ) THEN
10621 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10626 ELSE IF ( for_out .AND. use_output_servers() ) THEN
10627 CALL wrf_quilt_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10633 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10636 END SUBROUTINE wrf_put_var_td_double_arr
10637 !--- put_var_td_double
10639 SUBROUTINE wrf_put_var_td_double_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
10643 ! Write time dependent
10644 ! attribute "Element" of variable "Varname" valid at time DateStr
10645 ! to the open dataset described by DataHandle.
10646 ! Attribute of type double is
10647 ! copied from scalar Data.
10652 USE module_state_description
10654 INTEGER , INTENT(IN) :: DataHandle
10655 CHARACTER*(*) , INTENT(IN) :: Element
10656 CHARACTER*(*) , INTENT(IN) :: DateStr
10657 CHARACTER*(*) , INTENT(IN) :: VarName
10661 INTEGER , INTENT(IN) :: Count
10663 INTEGER , INTENT(OUT) :: Status
10665 #include <wrf_status_codes.h>
10666 INTEGER :: len_of_str
10668 INTEGER, EXTERNAL :: use_package
10669 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
10670 INTEGER :: locCount
10672 INTEGER io_form , Hndl
10674 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_double_sca " )
10681 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10682 IF ( Hndl .GT. -1 ) THEN
10683 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
10684 SELECT CASE ( use_package( io_form ) )
10687 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10688 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10691 IF ( .NOT. multi_files(io_form) ) THEN
10700 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10704 CASE ( IO_PNETCDF )
10705 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10710 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10715 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10720 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10725 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10730 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10731 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10734 IF ( .NOT. multi_files(io_form) ) THEN
10743 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10748 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10749 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10752 IF ( .NOT. multi_files(io_form) ) THEN
10761 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10766 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10767 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10770 IF ( .NOT. multi_files(io_form) ) THEN
10779 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10784 ELSE IF ( for_out .AND. use_output_servers() ) THEN
10785 CALL wrf_quilt_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10791 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10794 END SUBROUTINE wrf_put_var_td_double_sca
10797 !--- get_var_td_integer
10799 SUBROUTINE wrf_get_var_td_integer_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
10803 ! Attempt to read Count words of time dependent
10804 ! attribute "Element" of variable "Varname" valid at time DateStr
10805 ! from the open dataset described by DataHandle.
10806 ! Attribute of type integer is
10807 ! stored in array Data.
10808 ! Actual number of words read is returned in OutCount.
10812 USE module_state_description
10814 INTEGER , INTENT(IN) :: DataHandle
10815 CHARACTER*(*) , INTENT(IN) :: Element
10816 CHARACTER*(*) , INTENT(IN) :: DateStr
10817 CHARACTER*(*) , INTENT(IN) :: VarName
10819 integer :: Data (*)
10821 INTEGER , INTENT(IN) :: Count
10822 INTEGER , INTENT(OUT) :: OutCount
10823 INTEGER , INTENT(OUT) :: Status
10825 #include <wrf_status_codes.h>
10826 INTEGER :: len_of_str
10828 INTEGER, EXTERNAL :: use_package
10829 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
10830 INTEGER :: locCount
10832 INTEGER io_form , Hndl
10834 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_integer_arr " )
10841 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10842 IF ( Hndl .GT. -1 ) THEN
10843 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
10844 SELECT CASE ( use_package( io_form ) )
10847 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10848 CALL ext_ncd_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10849 locCount, Outcount, Status )
10851 IF ( .NOT. multi_files(io_form) ) THEN
10852 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10853 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
10860 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10864 CASE ( IO_PNETCDF )
10865 CALL ext_pnc_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10866 locCount, Outcount, Status )
10870 CALL ext_phdf5_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10871 locCount, Outcount, Status )
10875 CALL ext_esmf_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10876 locCount, Outcount, Status )
10880 CALL ext_xxx_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10881 locCount, Outcount, Status )
10885 CALL ext_yyy_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10886 locCount, Outcount, Status )
10890 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10891 CALL ext_gr1_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10892 locCount, Outcount, Status )
10894 IF ( .NOT. multi_files(io_form) ) THEN
10895 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10896 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
10903 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10908 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10909 CALL ext_gr2_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10910 locCount, Outcount, Status )
10912 IF ( .NOT. multi_files(io_form) ) THEN
10913 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10914 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
10921 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10926 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10927 CALL ext_int_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10928 locCount, Outcount, Status )
10930 IF ( .NOT. multi_files(io_form) ) THEN
10931 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10932 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
10939 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10944 ELSE IF ( for_out .AND. use_output_servers() ) THEN
10945 CALL wrf_quilt_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
10946 locCount, Outcount, Status )
10951 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10954 END SUBROUTINE wrf_get_var_td_integer_arr
10955 !--- get_var_td_integer
10957 SUBROUTINE wrf_get_var_td_integer_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
10961 ! Attempt to read time dependent
10962 ! attribute "Element" of variable "Varname" valid at time DateStr
10963 ! from the open dataset described by DataHandle.
10964 ! Attribute of type integer is
10965 ! stored in scalar Data.
10970 USE module_state_description
10972 INTEGER , INTENT(IN) :: DataHandle
10973 CHARACTER*(*) , INTENT(IN) :: Element
10974 CHARACTER*(*) , INTENT(IN) :: DateStr
10975 CHARACTER*(*) , INTENT(IN) :: VarName
10979 INTEGER , INTENT(IN) :: Count
10980 INTEGER , INTENT(OUT) :: OutCount
10981 INTEGER , INTENT(OUT) :: Status
10983 #include <wrf_status_codes.h>
10984 INTEGER :: len_of_str
10986 INTEGER, EXTERNAL :: use_package
10987 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
10988 INTEGER :: locCount
10990 INTEGER io_form , Hndl
10992 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_integer_sca " )
10999 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11000 IF ( Hndl .GT. -1 ) THEN
11001 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11002 SELECT CASE ( use_package( io_form ) )
11005 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11006 CALL ext_ncd_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11007 locCount, Outcount, Status )
11009 IF ( .NOT. multi_files(io_form) ) THEN
11010 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11011 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11018 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11022 CASE ( IO_PNETCDF )
11023 CALL ext_pnc_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11024 locCount, Outcount, Status )
11028 CALL ext_phdf5_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11029 locCount, Outcount, Status )
11033 CALL ext_esmf_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11034 locCount, Outcount, Status )
11038 CALL ext_xxx_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11039 locCount, Outcount, Status )
11043 CALL ext_yyy_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11044 locCount, Outcount, Status )
11048 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11049 CALL ext_gr1_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11050 locCount, Outcount, Status )
11052 IF ( .NOT. multi_files(io_form) ) THEN
11053 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11054 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11061 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11066 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11067 CALL ext_gr2_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11068 locCount, Outcount, Status )
11070 IF ( .NOT. multi_files(io_form) ) THEN
11071 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11072 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11079 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11084 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11085 CALL ext_int_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11086 locCount, Outcount, Status )
11088 IF ( .NOT. multi_files(io_form) ) THEN
11089 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11090 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11097 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11102 ELSE IF ( for_out .AND. use_output_servers() ) THEN
11103 CALL wrf_quilt_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11104 locCount, Outcount, Status )
11109 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11112 END SUBROUTINE wrf_get_var_td_integer_sca
11115 !--- put_var_td_integer
11117 SUBROUTINE wrf_put_var_td_integer_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11121 ! Write Count words of time dependent
11122 ! attribute "Element" of variable "Varname" valid at time DateStr
11123 ! to the open dataset described by DataHandle.
11124 ! Attribute of type integer is
11125 ! copied from array Data.
11130 USE module_state_description
11132 INTEGER , INTENT(IN) :: DataHandle
11133 CHARACTER*(*) , INTENT(IN) :: Element
11134 CHARACTER*(*) , INTENT(IN) :: DateStr
11135 CHARACTER*(*) , INTENT(IN) :: VarName
11137 integer :: Data (*)
11139 INTEGER , INTENT(IN) :: Count
11141 INTEGER , INTENT(OUT) :: Status
11143 #include <wrf_status_codes.h>
11144 INTEGER :: len_of_str
11146 INTEGER, EXTERNAL :: use_package
11147 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
11148 INTEGER :: locCount
11150 INTEGER io_form , Hndl
11152 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_integer_arr " )
11159 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11160 IF ( Hndl .GT. -1 ) THEN
11161 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11162 SELECT CASE ( use_package( io_form ) )
11165 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11166 CALL ext_ncd_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11169 IF ( .NOT. multi_files(io_form) ) THEN
11178 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11182 CASE ( IO_PNETCDF )
11183 CALL ext_pnc_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11188 CALL ext_phdf5_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11193 CALL ext_esmf_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11198 CALL ext_xxx_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11203 CALL ext_yyy_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11208 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11209 CALL ext_gr1_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11212 IF ( .NOT. multi_files(io_form) ) THEN
11221 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11226 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11227 CALL ext_gr2_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11230 IF ( .NOT. multi_files(io_form) ) THEN
11239 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11244 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11245 CALL ext_int_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11248 IF ( .NOT. multi_files(io_form) ) THEN
11257 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11262 ELSE IF ( for_out .AND. use_output_servers() ) THEN
11263 CALL wrf_quilt_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11269 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11272 END SUBROUTINE wrf_put_var_td_integer_arr
11273 !--- put_var_td_integer
11275 SUBROUTINE wrf_put_var_td_integer_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11279 ! Write time dependent
11280 ! attribute "Element" of variable "Varname" valid at time DateStr
11281 ! to the open dataset described by DataHandle.
11282 ! Attribute of type integer is
11283 ! copied from scalar Data.
11288 USE module_state_description
11290 INTEGER , INTENT(IN) :: DataHandle
11291 CHARACTER*(*) , INTENT(IN) :: Element
11292 CHARACTER*(*) , INTENT(IN) :: DateStr
11293 CHARACTER*(*) , INTENT(IN) :: VarName
11297 INTEGER , INTENT(IN) :: Count
11299 INTEGER , INTENT(OUT) :: Status
11301 #include <wrf_status_codes.h>
11302 INTEGER :: len_of_str
11304 INTEGER, EXTERNAL :: use_package
11305 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
11306 INTEGER :: locCount
11308 INTEGER io_form , Hndl
11310 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_integer_sca " )
11317 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11318 IF ( Hndl .GT. -1 ) THEN
11319 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11320 SELECT CASE ( use_package( io_form ) )
11323 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11324 CALL ext_ncd_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11327 IF ( .NOT. multi_files(io_form) ) THEN
11336 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11340 CASE ( IO_PNETCDF )
11341 CALL ext_pnc_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11346 CALL ext_phdf5_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11351 CALL ext_esmf_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11356 CALL ext_xxx_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11361 CALL ext_yyy_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11366 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11367 CALL ext_gr1_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11370 IF ( .NOT. multi_files(io_form) ) THEN
11379 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11384 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11385 CALL ext_gr2_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11388 IF ( .NOT. multi_files(io_form) ) THEN
11397 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11402 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11403 CALL ext_int_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11406 IF ( .NOT. multi_files(io_form) ) THEN
11415 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11420 ELSE IF ( for_out .AND. use_output_servers() ) THEN
11421 CALL wrf_quilt_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11427 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11430 END SUBROUTINE wrf_put_var_td_integer_sca
11433 !--- get_var_td_logical
11435 SUBROUTINE wrf_get_var_td_logical_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
11439 ! Attempt to read Count words of time dependent
11440 ! attribute "Element" of variable "Varname" valid at time DateStr
11441 ! from the open dataset described by DataHandle.
11442 ! Attribute of type logical is
11443 ! stored in array Data.
11444 ! Actual number of words read is returned in OutCount.
11448 USE module_state_description
11450 INTEGER , INTENT(IN) :: DataHandle
11451 CHARACTER*(*) , INTENT(IN) :: Element
11452 CHARACTER*(*) , INTENT(IN) :: DateStr
11453 CHARACTER*(*) , INTENT(IN) :: VarName
11455 logical :: Data (*)
11457 INTEGER , INTENT(IN) :: Count
11458 INTEGER , INTENT(OUT) :: OutCount
11459 INTEGER , INTENT(OUT) :: Status
11461 #include <wrf_status_codes.h>
11462 INTEGER :: len_of_str
11464 INTEGER, EXTERNAL :: use_package
11465 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
11466 INTEGER :: locCount
11468 INTEGER io_form , Hndl
11470 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_logical_arr " )
11477 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11478 IF ( Hndl .GT. -1 ) THEN
11479 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11480 SELECT CASE ( use_package( io_form ) )
11483 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11484 CALL ext_ncd_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11485 locCount, Outcount, Status )
11487 IF ( .NOT. multi_files(io_form) ) THEN
11492 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11493 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11496 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11500 CASE ( IO_PNETCDF )
11501 CALL ext_pnc_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11502 locCount, Outcount, Status )
11506 CALL ext_phdf5_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11507 locCount, Outcount, Status )
11511 CALL ext_esmf_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11512 locCount, Outcount, Status )
11516 CALL ext_xxx_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11517 locCount, Outcount, Status )
11521 CALL ext_yyy_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11522 locCount, Outcount, Status )
11526 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11527 CALL ext_gr1_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11528 locCount, Outcount, Status )
11530 IF ( .NOT. multi_files(io_form) ) THEN
11535 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11536 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11539 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11544 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11545 CALL ext_gr2_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11546 locCount, Outcount, Status )
11548 IF ( .NOT. multi_files(io_form) ) THEN
11553 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11554 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11557 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11562 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11563 CALL ext_int_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11564 locCount, Outcount, Status )
11566 IF ( .NOT. multi_files(io_form) ) THEN
11571 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11572 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11575 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11580 ELSE IF ( for_out .AND. use_output_servers() ) THEN
11581 CALL wrf_quilt_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11582 locCount, Outcount, Status )
11587 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11590 END SUBROUTINE wrf_get_var_td_logical_arr
11591 !--- get_var_td_logical
11593 SUBROUTINE wrf_get_var_td_logical_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
11597 ! Attempt to read time dependent
11598 ! attribute "Element" of variable "Varname" valid at time DateStr
11599 ! from the open dataset described by DataHandle.
11600 ! Attribute of type logical is
11601 ! stored in scalar Data.
11606 USE module_state_description
11608 INTEGER , INTENT(IN) :: DataHandle
11609 CHARACTER*(*) , INTENT(IN) :: Element
11610 CHARACTER*(*) , INTENT(IN) :: DateStr
11611 CHARACTER*(*) , INTENT(IN) :: VarName
11615 INTEGER , INTENT(IN) :: Count
11616 INTEGER , INTENT(OUT) :: OutCount
11617 INTEGER , INTENT(OUT) :: Status
11619 #include <wrf_status_codes.h>
11620 INTEGER :: len_of_str
11622 INTEGER, EXTERNAL :: use_package
11623 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
11624 INTEGER :: locCount
11626 INTEGER io_form , Hndl
11628 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_logical_sca " )
11635 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11636 IF ( Hndl .GT. -1 ) THEN
11637 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11638 SELECT CASE ( use_package( io_form ) )
11641 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11642 CALL ext_ncd_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11643 locCount, Outcount, Status )
11645 IF ( .NOT. multi_files(io_form) ) THEN
11650 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11651 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11654 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11658 CASE ( IO_PNETCDF )
11659 CALL ext_pnc_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11660 locCount, Outcount, Status )
11664 CALL ext_phdf5_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11665 locCount, Outcount, Status )
11669 CALL ext_esmf_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11670 locCount, Outcount, Status )
11674 CALL ext_xxx_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11675 locCount, Outcount, Status )
11679 CALL ext_yyy_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11680 locCount, Outcount, Status )
11684 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11685 CALL ext_gr1_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11686 locCount, Outcount, Status )
11688 IF ( .NOT. multi_files(io_form) ) THEN
11693 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11694 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11697 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11702 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11703 CALL ext_gr2_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11704 locCount, Outcount, Status )
11706 IF ( .NOT. multi_files(io_form) ) THEN
11711 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11712 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11715 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11720 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11721 CALL ext_int_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11722 locCount, Outcount, Status )
11724 IF ( .NOT. multi_files(io_form) ) THEN
11729 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11730 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11733 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11738 ELSE IF ( for_out .AND. use_output_servers() ) THEN
11739 CALL wrf_quilt_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11740 locCount, Outcount, Status )
11745 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11748 END SUBROUTINE wrf_get_var_td_logical_sca
11751 !--- put_var_td_logical
11753 SUBROUTINE wrf_put_var_td_logical_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11757 ! Write Count words of time dependent
11758 ! attribute "Element" of variable "Varname" valid at time DateStr
11759 ! to the open dataset described by DataHandle.
11760 ! Attribute of type logical is
11761 ! copied from array Data.
11766 USE module_state_description
11768 INTEGER , INTENT(IN) :: DataHandle
11769 CHARACTER*(*) , INTENT(IN) :: Element
11770 CHARACTER*(*) , INTENT(IN) :: DateStr
11771 CHARACTER*(*) , INTENT(IN) :: VarName
11773 logical :: Data (*)
11775 INTEGER , INTENT(IN) :: Count
11777 INTEGER , INTENT(OUT) :: Status
11779 #include <wrf_status_codes.h>
11780 INTEGER :: len_of_str
11782 INTEGER, EXTERNAL :: use_package
11783 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
11784 INTEGER :: locCount
11786 INTEGER io_form , Hndl
11788 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_logical_arr " )
11795 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11796 IF ( Hndl .GT. -1 ) THEN
11797 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11798 SELECT CASE ( use_package( io_form ) )
11801 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11802 CALL ext_ncd_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11805 IF ( .NOT. multi_files(io_form) ) THEN
11814 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11818 CASE ( IO_PNETCDF )
11819 CALL ext_pnc_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11824 CALL ext_phdf5_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11829 CALL ext_esmf_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11834 CALL ext_xxx_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11839 CALL ext_yyy_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11844 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11845 CALL ext_gr1_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11848 IF ( .NOT. multi_files(io_form) ) THEN
11857 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11862 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11863 CALL ext_gr2_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11866 IF ( .NOT. multi_files(io_form) ) THEN
11875 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11880 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11881 CALL ext_int_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11884 IF ( .NOT. multi_files(io_form) ) THEN
11893 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11898 ELSE IF ( for_out .AND. use_output_servers() ) THEN
11899 CALL wrf_quilt_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11905 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11908 END SUBROUTINE wrf_put_var_td_logical_arr
11909 !--- put_var_td_logical
11911 SUBROUTINE wrf_put_var_td_logical_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11915 ! Write time dependent
11916 ! attribute "Element" of variable "Varname" valid at time DateStr
11917 ! to the open dataset described by DataHandle.
11918 ! Attribute of type logical is
11919 ! copied from scalar Data.
11924 USE module_state_description
11926 INTEGER , INTENT(IN) :: DataHandle
11927 CHARACTER*(*) , INTENT(IN) :: Element
11928 CHARACTER*(*) , INTENT(IN) :: DateStr
11929 CHARACTER*(*) , INTENT(IN) :: VarName
11933 INTEGER , INTENT(IN) :: Count
11935 INTEGER , INTENT(OUT) :: Status
11937 #include <wrf_status_codes.h>
11938 INTEGER :: len_of_str
11940 INTEGER, EXTERNAL :: use_package
11941 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
11942 INTEGER :: locCount
11944 INTEGER io_form , Hndl
11946 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_logical_sca " )
11953 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11954 IF ( Hndl .GT. -1 ) THEN
11955 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
11956 SELECT CASE ( use_package( io_form ) )
11959 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11960 CALL ext_ncd_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11963 IF ( .NOT. multi_files(io_form) ) THEN
11972 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11976 CASE ( IO_PNETCDF )
11977 CALL ext_pnc_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11982 CALL ext_phdf5_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11987 CALL ext_esmf_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11992 CALL ext_xxx_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11997 CALL ext_yyy_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12002 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12003 CALL ext_gr1_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12006 IF ( .NOT. multi_files(io_form) ) THEN
12015 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12020 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12021 CALL ext_gr2_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12024 IF ( .NOT. multi_files(io_form) ) THEN
12033 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12038 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12039 CALL ext_int_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12042 IF ( .NOT. multi_files(io_form) ) THEN
12051 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12056 ELSE IF ( for_out .AND. use_output_servers() ) THEN
12057 CALL wrf_quilt_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12063 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12066 END SUBROUTINE wrf_put_var_td_logical_sca
12069 !--- get_var_td_char
12071 SUBROUTINE wrf_get_var_td_char_arr ( DataHandle,Element, DateStr, Varname, Data, Status )
12075 ! Attempt to read time dependent
12076 ! attribute "Element" of variable "Varname" valid at time DateStr
12077 ! from the open dataset described by DataHandle.
12078 ! Attribute of type char is
12079 ! stored in string Data.
12084 USE module_state_description
12086 INTEGER , INTENT(IN) :: DataHandle
12087 CHARACTER*(*) , INTENT(IN) :: Element
12088 CHARACTER*(*) , INTENT(IN) :: DateStr
12089 CHARACTER*(*) , INTENT(IN) :: VarName
12091 CHARACTER*(*) :: Data
12095 INTEGER , INTENT(OUT) :: Status
12097 #include <wrf_status_codes.h>
12098 INTEGER :: len_of_str
12100 INTEGER, EXTERNAL :: use_package
12101 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
12102 INTEGER :: locCount
12104 INTEGER io_form , Hndl
12106 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_char_arr " )
12113 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12114 IF ( Hndl .GT. -1 ) THEN
12115 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
12116 SELECT CASE ( use_package( io_form ) )
12119 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12120 CALL ext_ncd_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12123 IF ( .NOT. multi_files(io_form) ) THEN
12130 len_of_str = LEN(Data)
12131 CALL wrf_dm_bcast_string( Data, len_of_str )
12132 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12136 CASE ( IO_PNETCDF )
12137 CALL ext_pnc_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12142 CALL ext_phdf5_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12147 CALL ext_esmf_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12152 CALL ext_xxx_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12157 CALL ext_yyy_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12162 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12163 CALL ext_gr1_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12166 IF ( .NOT. multi_files(io_form) ) THEN
12173 len_of_str = LEN(Data)
12174 CALL wrf_dm_bcast_string( Data, len_of_str )
12175 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12180 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12181 CALL ext_gr2_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12184 IF ( .NOT. multi_files(io_form) ) THEN
12191 len_of_str = LEN(Data)
12192 CALL wrf_dm_bcast_string( Data, len_of_str )
12193 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12198 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12199 CALL ext_int_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12202 IF ( .NOT. multi_files(io_form) ) THEN
12209 len_of_str = LEN(Data)
12210 CALL wrf_dm_bcast_string( Data, len_of_str )
12211 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12216 ELSE IF ( for_out .AND. use_output_servers() ) THEN
12217 CALL wrf_quilt_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12223 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12226 END SUBROUTINE wrf_get_var_td_char_arr
12229 !--- put_var_td_char
12231 SUBROUTINE wrf_put_var_td_char_arr ( DataHandle,Element, DateStr, Varname, Data, Status )
12235 ! Write time dependent
12236 ! attribute "Element" of variable "Varname" valid at time DateStr
12237 ! to the open dataset described by DataHandle.
12238 ! Attribute of type char is
12239 ! copied from string Data.
12244 USE module_state_description
12246 INTEGER , INTENT(IN) :: DataHandle
12247 CHARACTER*(*) , INTENT(IN) :: Element
12248 CHARACTER*(*) , INTENT(IN) :: DateStr
12249 CHARACTER*(*) , INTENT(IN) :: VarName
12251 CHARACTER*(*) :: Data
12255 INTEGER , INTENT(OUT) :: Status
12257 #include <wrf_status_codes.h>
12258 INTEGER :: len_of_str
12260 INTEGER, EXTERNAL :: use_package
12261 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers
12262 INTEGER :: locCount
12264 INTEGER io_form , Hndl
12266 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_char_arr " )
12273 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12274 IF ( Hndl .GT. -1 ) THEN
12275 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers()) ) THEN
12276 SELECT CASE ( use_package( io_form ) )
12279 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12280 CALL ext_ncd_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12283 IF ( .NOT. multi_files(io_form) ) THEN
12292 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12296 CASE ( IO_PNETCDF )
12297 CALL ext_pnc_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12302 CALL ext_phdf5_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12307 CALL ext_esmf_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12312 CALL ext_xxx_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12317 CALL ext_yyy_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12322 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12323 CALL ext_gr1_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12326 IF ( .NOT. multi_files(io_form) ) THEN
12335 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12340 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12341 CALL ext_gr2_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12344 IF ( .NOT. multi_files(io_form) ) THEN
12353 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12358 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12359 CALL ext_int_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12362 IF ( .NOT. multi_files(io_form) ) THEN
12371 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12376 ELSE IF ( for_out .AND. use_output_servers() ) THEN
12377 CALL wrf_quilt_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12383 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12386 END SUBROUTINE wrf_put_var_td_char_arr