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_for
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_for(io_form)) ) 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 )
282 CASE ( IO_NETCDFPAR )
283 # if ( RWORDSIZE == DWORDSIZE )
284 CALL ext_ncdpar_get_dom_ti_double ( Hndl, Element, Data, &
285 locCount, Outcount, Status )
287 CALL ext_ncdpar_get_dom_ti_real ( Hndl, Element, Data, &
288 locCount, Outcount, Status )
294 # if ( RWORDSIZE == DWORDSIZE )
295 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
296 locCount, Outcount, Status )
298 CALL ext_pnc_get_dom_ti_real ( Hndl, Element, Data, &
299 locCount, Outcount, Status )
304 # if ( RWORDSIZE == DWORDSIZE )
305 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
306 locCount, Outcount, Status )
308 CALL ext_phdf5_get_dom_ti_real ( Hndl, Element, Data, &
309 locCount, Outcount, Status )
314 # if ( RWORDSIZE == DWORDSIZE )
315 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
316 locCount, Outcount, Status )
318 CALL ext_esmf_get_dom_ti_real ( Hndl, Element, Data, &
319 locCount, Outcount, Status )
324 # if ( RWORDSIZE == DWORDSIZE )
325 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
326 locCount, Outcount, Status )
328 CALL ext_xxx_get_dom_ti_real ( Hndl, Element, Data, &
329 locCount, Outcount, Status )
334 # if ( RWORDSIZE == DWORDSIZE )
335 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
336 locCount, Outcount, Status )
338 CALL ext_yyy_get_dom_ti_real ( Hndl, Element, Data, &
339 locCount, Outcount, Status )
344 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
345 # if ( RWORDSIZE == DWORDSIZE )
346 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
347 locCount, Outcount, Status )
349 CALL ext_gr1_get_dom_ti_real ( Hndl, Element, Data, &
350 locCount, Outcount, Status )
353 IF ( .NOT. multi_files(io_form) ) THEN
356 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
357 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
362 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
367 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
368 # if ( RWORDSIZE == DWORDSIZE )
369 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
370 locCount, Outcount, Status )
372 CALL ext_gr2_get_dom_ti_real ( Hndl, Element, Data, &
373 locCount, Outcount, Status )
376 IF ( .NOT. multi_files(io_form) ) THEN
379 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
380 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
385 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
390 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
391 # if ( RWORDSIZE == DWORDSIZE )
392 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
393 locCount, Outcount, Status )
395 CALL ext_int_get_dom_ti_real ( Hndl, Element, Data, &
396 locCount, Outcount, Status )
399 IF ( .NOT. multi_files(io_form) ) THEN
402 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
403 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
408 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
413 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
414 CALL wrf_quilt_get_dom_ti_real ( Hndl, Element, Data, &
415 locCount, Outcount, Status )
420 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
423 END SUBROUTINE wrf_get_dom_ti_real_arr
426 SUBROUTINE wrf_get_dom_ti_real_sca ( DataHandle,Element, Data, Count, Outcount, Status )
430 ! Attempt to read time independent
431 ! domain metadata named "Element"
432 ! from the open dataset described by DataHandle.
433 ! Metadata of type real are
434 ! stored in scalar Data.
439 USE module_state_description
441 INTEGER , INTENT(IN) :: DataHandle
442 CHARACTER*(*) , INTENT(IN) :: Element
448 INTEGER , INTENT(IN) :: Count
449 INTEGER , INTENT(OUT) :: OutCount
450 INTEGER , INTENT(OUT) :: Status
452 #include "wrf_status_codes.h"
453 INTEGER :: len_of_str
455 INTEGER, EXTERNAL :: use_package
456 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
459 INTEGER io_form , Hndl
461 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_real_sca " )
468 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
469 IF ( Hndl .GT. -1 ) THEN
470 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
471 SELECT CASE ( use_package( io_form ) )
474 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
475 # if ( RWORDSIZE == DWORDSIZE )
476 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
477 locCount, Outcount, Status )
479 CALL ext_ncd_get_dom_ti_real ( Hndl, Element, Data, &
480 locCount, Outcount, Status )
483 IF ( .NOT. multi_files(io_form) ) THEN
486 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
487 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
492 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
496 CASE ( IO_NETCDFPAR )
497 # if ( RWORDSIZE == DWORDSIZE )
498 CALL ext_ncdpar_get_dom_ti_double ( Hndl, Element, Data, &
499 locCount, Outcount, Status )
501 CALL ext_ncdpar_get_dom_ti_real ( Hndl, Element, Data, &
502 locCount, Outcount, Status )
508 # if ( RWORDSIZE == DWORDSIZE )
509 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
510 locCount, Outcount, Status )
512 CALL ext_pnc_get_dom_ti_real ( Hndl, Element, Data, &
513 locCount, Outcount, Status )
518 # if ( RWORDSIZE == DWORDSIZE )
519 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
520 locCount, Outcount, Status )
522 CALL ext_phdf5_get_dom_ti_real ( Hndl, Element, Data, &
523 locCount, Outcount, Status )
528 # if ( RWORDSIZE == DWORDSIZE )
529 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
530 locCount, Outcount, Status )
532 CALL ext_esmf_get_dom_ti_real ( Hndl, Element, Data, &
533 locCount, Outcount, Status )
538 # if ( RWORDSIZE == DWORDSIZE )
539 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
540 locCount, Outcount, Status )
542 CALL ext_xxx_get_dom_ti_real ( Hndl, Element, Data, &
543 locCount, Outcount, Status )
548 # if ( RWORDSIZE == DWORDSIZE )
549 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
550 locCount, Outcount, Status )
552 CALL ext_yyy_get_dom_ti_real ( Hndl, Element, Data, &
553 locCount, Outcount, Status )
558 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
559 # if ( RWORDSIZE == DWORDSIZE )
560 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
561 locCount, Outcount, Status )
563 CALL ext_gr1_get_dom_ti_real ( Hndl, Element, Data, &
564 locCount, Outcount, Status )
567 IF ( .NOT. multi_files(io_form) ) THEN
570 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
571 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
576 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
581 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
582 # if ( RWORDSIZE == DWORDSIZE )
583 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
584 locCount, Outcount, Status )
586 CALL ext_gr2_get_dom_ti_real ( Hndl, Element, Data, &
587 locCount, Outcount, Status )
590 IF ( .NOT. multi_files(io_form) ) THEN
593 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
594 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
599 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
604 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
605 # if ( RWORDSIZE == DWORDSIZE )
606 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
607 locCount, Outcount, Status )
609 CALL ext_int_get_dom_ti_real ( Hndl, Element, Data, &
610 locCount, Outcount, Status )
613 IF ( .NOT. multi_files(io_form) ) THEN
616 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
617 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
622 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
627 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
628 CALL wrf_quilt_get_dom_ti_real ( Hndl, Element, Data, &
629 locCount, Outcount, Status )
634 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
637 END SUBROUTINE wrf_get_dom_ti_real_sca
642 SUBROUTINE wrf_put_dom_ti_real_arr ( DataHandle,Element, Data, Count, Status )
646 ! Write Count words of time independent
647 ! domain metadata named "Element"
648 ! to the open dataset described by DataHandle.
649 ! Metadata of type real are
650 ! copied from array Data.
655 USE module_state_description
657 INTEGER , INTENT(IN) :: DataHandle
658 CHARACTER*(*) , INTENT(IN) :: Element
664 INTEGER , INTENT(IN) :: Count
666 INTEGER , INTENT(OUT) :: Status
668 #include "wrf_status_codes.h"
669 INTEGER :: len_of_str
671 INTEGER, EXTERNAL :: use_package
672 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
675 INTEGER io_form , Hndl
677 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_real_arr " )
684 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
685 IF ( Hndl .GT. -1 ) THEN
686 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
687 SELECT CASE ( use_package( io_form ) )
690 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
691 # if ( RWORDSIZE == DWORDSIZE )
692 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
695 CALL ext_ncd_put_dom_ti_real ( Hndl, Element, Data, &
699 IF ( .NOT. multi_files(io_form) ) THEN
708 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
712 CASE ( IO_NETCDFPAR )
713 # if ( RWORDSIZE == DWORDSIZE )
714 CALL ext_ncdpar_put_dom_ti_double ( Hndl, Element, Data, &
717 CALL ext_ncdpar_put_dom_ti_real ( Hndl, Element, Data, &
724 # if ( RWORDSIZE == DWORDSIZE )
725 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
728 CALL ext_pnc_put_dom_ti_real ( Hndl, Element, Data, &
734 # if ( RWORDSIZE == DWORDSIZE )
735 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
738 CALL ext_phdf5_put_dom_ti_real ( Hndl, Element, Data, &
744 # if ( RWORDSIZE == DWORDSIZE )
745 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
748 CALL ext_esmf_put_dom_ti_real ( Hndl, Element, Data, &
754 # if ( RWORDSIZE == DWORDSIZE )
755 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
758 CALL ext_xxx_put_dom_ti_real ( Hndl, Element, Data, &
764 # if ( RWORDSIZE == DWORDSIZE )
765 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
768 CALL ext_yyy_put_dom_ti_real ( Hndl, Element, Data, &
774 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
775 # if ( RWORDSIZE == DWORDSIZE )
776 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
779 CALL ext_gr1_put_dom_ti_real ( Hndl, Element, Data, &
783 IF ( .NOT. multi_files(io_form) ) THEN
792 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
797 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
798 # if ( RWORDSIZE == DWORDSIZE )
799 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
802 CALL ext_gr2_put_dom_ti_real ( Hndl, Element, Data, &
806 IF ( .NOT. multi_files(io_form) ) THEN
815 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
820 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
821 # if ( RWORDSIZE == DWORDSIZE )
822 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
825 CALL ext_int_put_dom_ti_real ( Hndl, Element, Data, &
829 IF ( .NOT. multi_files(io_form) ) THEN
838 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
843 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
844 CALL wrf_quilt_put_dom_ti_real ( Hndl, Element, Data, &
850 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
853 END SUBROUTINE wrf_put_dom_ti_real_arr
856 SUBROUTINE wrf_put_dom_ti_real_sca ( DataHandle,Element, Data, Count, Status )
860 ! Write time independent
861 ! domain metadata named "Element"
862 ! to the open dataset described by DataHandle.
863 ! Metadata of type real are
864 ! copied from scalar Data.
869 USE module_state_description
871 INTEGER , INTENT(IN) :: DataHandle
872 CHARACTER*(*) , INTENT(IN) :: Element
878 INTEGER , INTENT(IN) :: Count
880 INTEGER , INTENT(OUT) :: Status
882 #include "wrf_status_codes.h"
883 INTEGER :: len_of_str
885 INTEGER, EXTERNAL :: use_package
886 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
889 INTEGER io_form , Hndl
891 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_real_sca " )
898 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
899 IF ( Hndl .GT. -1 ) THEN
900 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
901 SELECT CASE ( use_package( io_form ) )
904 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
905 # if ( RWORDSIZE == DWORDSIZE )
906 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
909 CALL ext_ncd_put_dom_ti_real ( Hndl, Element, Data, &
913 IF ( .NOT. multi_files(io_form) ) THEN
922 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
926 CASE ( IO_NETCDFPAR )
927 # if ( RWORDSIZE == DWORDSIZE )
928 CALL ext_ncdpar_put_dom_ti_double ( Hndl, Element, Data, &
931 CALL ext_ncdpar_put_dom_ti_real ( Hndl, Element, Data, &
938 # if ( RWORDSIZE == DWORDSIZE )
939 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
942 CALL ext_pnc_put_dom_ti_real ( Hndl, Element, Data, &
948 # if ( RWORDSIZE == DWORDSIZE )
949 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
952 CALL ext_phdf5_put_dom_ti_real ( Hndl, Element, Data, &
958 # if ( RWORDSIZE == DWORDSIZE )
959 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
962 CALL ext_esmf_put_dom_ti_real ( Hndl, Element, Data, &
968 # if ( RWORDSIZE == DWORDSIZE )
969 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
972 CALL ext_xxx_put_dom_ti_real ( Hndl, Element, Data, &
978 # if ( RWORDSIZE == DWORDSIZE )
979 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
982 CALL ext_yyy_put_dom_ti_real ( Hndl, Element, Data, &
988 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
989 # if ( RWORDSIZE == DWORDSIZE )
990 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
993 CALL ext_gr1_put_dom_ti_real ( Hndl, Element, Data, &
997 IF ( .NOT. multi_files(io_form) ) THEN
1006 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1011 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1012 # if ( RWORDSIZE == DWORDSIZE )
1013 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
1016 CALL ext_gr2_put_dom_ti_real ( Hndl, Element, Data, &
1020 IF ( .NOT. multi_files(io_form) ) THEN
1029 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1034 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1035 # if ( RWORDSIZE == DWORDSIZE )
1036 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
1039 CALL ext_int_put_dom_ti_real ( Hndl, Element, Data, &
1043 IF ( .NOT. multi_files(io_form) ) THEN
1052 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1057 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
1058 CALL wrf_quilt_put_dom_ti_real ( Hndl, Element, Data, &
1064 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1067 END SUBROUTINE wrf_put_dom_ti_real_sca
1070 !--- get_dom_ti_double
1072 SUBROUTINE wrf_get_dom_ti_double_arr ( DataHandle,Element, Data, Count, Outcount, Status )
1076 ! Attempt to read Count words of time independent
1077 ! domain metadata named "Element"
1078 ! from the open dataset described by DataHandle.
1079 ! Metadata of type double are
1080 ! stored in array Data.
1081 ! Actual number of words read is returned in OutCount.
1085 USE module_state_description
1087 INTEGER , INTENT(IN) :: DataHandle
1088 CHARACTER*(*) , INTENT(IN) :: Element
1094 INTEGER , INTENT(IN) :: Count
1095 INTEGER , INTENT(OUT) :: OutCount
1096 INTEGER , INTENT(OUT) :: Status
1098 #include "wrf_status_codes.h"
1099 INTEGER :: len_of_str
1101 INTEGER, EXTERNAL :: use_package
1102 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
1105 INTEGER io_form , Hndl
1107 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_double_arr " )
1114 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1115 IF ( Hndl .GT. -1 ) THEN
1116 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
1117 SELECT CASE ( use_package( io_form ) )
1120 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1121 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
1122 locCount, Outcount, Status )
1124 IF ( .NOT. multi_files(io_form) ) THEN
1133 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1137 CASE ( IO_NETCDFPAR )
1138 CALL ext_ncdpar_get_dom_ti_double ( Hndl, Element, Data, &
1139 locCount, Outcount, Status )
1144 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
1145 locCount, Outcount, Status )
1149 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
1150 locCount, Outcount, Status )
1154 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
1155 locCount, Outcount, Status )
1159 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
1160 locCount, Outcount, Status )
1164 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
1165 locCount, Outcount, Status )
1169 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1170 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
1171 locCount, Outcount, Status )
1173 IF ( .NOT. multi_files(io_form) ) THEN
1182 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1187 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1188 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
1189 locCount, Outcount, Status )
1191 IF ( .NOT. multi_files(io_form) ) THEN
1200 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1205 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1206 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
1207 locCount, Outcount, Status )
1209 IF ( .NOT. multi_files(io_form) ) THEN
1218 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1223 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
1224 CALL wrf_quilt_get_dom_ti_double ( Hndl, Element, Data, &
1225 locCount, Outcount, Status )
1230 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1233 END SUBROUTINE wrf_get_dom_ti_double_arr
1234 !--- get_dom_ti_double
1236 SUBROUTINE wrf_get_dom_ti_double_sca ( DataHandle,Element, Data, Count, Outcount, Status )
1240 ! Attempt to read time independent
1241 ! domain metadata named "Element"
1242 ! from the open dataset described by DataHandle.
1243 ! Metadata of type double are
1244 ! stored in scalar Data.
1249 USE module_state_description
1251 INTEGER , INTENT(IN) :: DataHandle
1252 CHARACTER*(*) , INTENT(IN) :: Element
1258 INTEGER , INTENT(IN) :: Count
1259 INTEGER , INTENT(OUT) :: OutCount
1260 INTEGER , INTENT(OUT) :: Status
1262 #include "wrf_status_codes.h"
1263 INTEGER :: len_of_str
1265 INTEGER, EXTERNAL :: use_package
1266 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
1269 INTEGER io_form , Hndl
1271 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_double_sca " )
1278 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1279 IF ( Hndl .GT. -1 ) THEN
1280 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
1281 SELECT CASE ( use_package( io_form ) )
1284 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1285 CALL ext_ncd_get_dom_ti_double ( Hndl, Element, Data, &
1286 locCount, Outcount, Status )
1288 IF ( .NOT. multi_files(io_form) ) THEN
1297 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1301 CASE ( IO_NETCDFPAR )
1302 CALL ext_ncdpar_get_dom_ti_double ( Hndl, Element, Data, &
1303 locCount, Outcount, Status )
1308 CALL ext_pnc_get_dom_ti_double ( Hndl, Element, Data, &
1309 locCount, Outcount, Status )
1313 CALL ext_phdf5_get_dom_ti_double ( Hndl, Element, Data, &
1314 locCount, Outcount, Status )
1318 CALL ext_esmf_get_dom_ti_double ( Hndl, Element, Data, &
1319 locCount, Outcount, Status )
1323 CALL ext_xxx_get_dom_ti_double ( Hndl, Element, Data, &
1324 locCount, Outcount, Status )
1328 CALL ext_yyy_get_dom_ti_double ( Hndl, Element, Data, &
1329 locCount, Outcount, Status )
1333 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1334 CALL ext_gr1_get_dom_ti_double ( Hndl, Element, Data, &
1335 locCount, Outcount, Status )
1337 IF ( .NOT. multi_files(io_form) ) THEN
1346 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1351 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1352 CALL ext_gr2_get_dom_ti_double ( Hndl, Element, Data, &
1353 locCount, Outcount, Status )
1355 IF ( .NOT. multi_files(io_form) ) THEN
1364 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1369 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1370 CALL ext_int_get_dom_ti_double ( Hndl, Element, Data, &
1371 locCount, Outcount, Status )
1373 IF ( .NOT. multi_files(io_form) ) THEN
1382 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1387 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
1388 CALL wrf_quilt_get_dom_ti_double ( Hndl, Element, Data, &
1389 locCount, Outcount, Status )
1394 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1397 END SUBROUTINE wrf_get_dom_ti_double_sca
1400 !--- put_dom_ti_double
1402 SUBROUTINE wrf_put_dom_ti_double_arr ( DataHandle,Element, Data, Count, Status )
1406 ! Write Count words of time independent
1407 ! domain metadata named "Element"
1408 ! to the open dataset described by DataHandle.
1409 ! Metadata of type double are
1410 ! copied from array Data.
1415 USE module_state_description
1417 INTEGER , INTENT(IN) :: DataHandle
1418 CHARACTER*(*) , INTENT(IN) :: Element
1424 INTEGER , INTENT(IN) :: Count
1426 INTEGER , INTENT(OUT) :: Status
1428 #include "wrf_status_codes.h"
1429 INTEGER :: len_of_str
1431 INTEGER, EXTERNAL :: use_package
1432 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
1435 INTEGER io_form , Hndl
1437 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_double_arr " )
1444 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1445 IF ( Hndl .GT. -1 ) THEN
1446 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
1447 SELECT CASE ( use_package( io_form ) )
1450 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1451 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
1454 IF ( .NOT. multi_files(io_form) ) THEN
1463 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1467 CASE ( IO_NETCDFPAR )
1468 CALL ext_ncdpar_put_dom_ti_double ( Hndl, Element, Data, &
1474 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
1479 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
1484 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
1489 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
1494 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
1499 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1500 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
1503 IF ( .NOT. multi_files(io_form) ) THEN
1512 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1517 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1518 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
1521 IF ( .NOT. multi_files(io_form) ) THEN
1530 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1535 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1536 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
1539 IF ( .NOT. multi_files(io_form) ) THEN
1548 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1553 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
1554 CALL wrf_quilt_put_dom_ti_double ( Hndl, Element, Data, &
1560 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1563 END SUBROUTINE wrf_put_dom_ti_double_arr
1564 !--- put_dom_ti_double
1566 SUBROUTINE wrf_put_dom_ti_double_sca ( DataHandle,Element, Data, Count, Status )
1570 ! Write time independent
1571 ! domain metadata named "Element"
1572 ! to the open dataset described by DataHandle.
1573 ! Metadata of type double are
1574 ! copied from scalar Data.
1579 USE module_state_description
1581 INTEGER , INTENT(IN) :: DataHandle
1582 CHARACTER*(*) , INTENT(IN) :: Element
1588 INTEGER , INTENT(IN) :: Count
1590 INTEGER , INTENT(OUT) :: Status
1592 #include "wrf_status_codes.h"
1593 INTEGER :: len_of_str
1595 INTEGER, EXTERNAL :: use_package
1596 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
1599 INTEGER io_form , Hndl
1601 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_double_sca " )
1608 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1609 IF ( Hndl .GT. -1 ) THEN
1610 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
1611 SELECT CASE ( use_package( io_form ) )
1614 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1615 CALL ext_ncd_put_dom_ti_double ( Hndl, Element, Data, &
1618 IF ( .NOT. multi_files(io_form) ) THEN
1627 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1631 CASE ( IO_NETCDFPAR )
1632 CALL ext_ncdpar_put_dom_ti_double ( Hndl, Element, Data, &
1638 CALL ext_pnc_put_dom_ti_double ( Hndl, Element, Data, &
1643 CALL ext_phdf5_put_dom_ti_double ( Hndl, Element, Data, &
1648 CALL ext_esmf_put_dom_ti_double ( Hndl, Element, Data, &
1653 CALL ext_xxx_put_dom_ti_double ( Hndl, Element, Data, &
1658 CALL ext_yyy_put_dom_ti_double ( Hndl, Element, Data, &
1663 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1664 CALL ext_gr1_put_dom_ti_double ( Hndl, Element, Data, &
1667 IF ( .NOT. multi_files(io_form) ) THEN
1676 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1681 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1682 CALL ext_gr2_put_dom_ti_double ( Hndl, Element, Data, &
1685 IF ( .NOT. multi_files(io_form) ) THEN
1694 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1699 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1700 CALL ext_int_put_dom_ti_double ( Hndl, Element, Data, &
1703 IF ( .NOT. multi_files(io_form) ) THEN
1712 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1717 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
1718 CALL wrf_quilt_put_dom_ti_double ( Hndl, Element, Data, &
1724 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1727 END SUBROUTINE wrf_put_dom_ti_double_sca
1730 !--- get_dom_ti_integer
1732 SUBROUTINE wrf_get_dom_ti_integer_arr ( DataHandle,Element, Data, Count, Outcount, Status )
1736 ! Attempt to read Count words of time independent
1737 ! domain metadata named "Element"
1738 ! from the open dataset described by DataHandle.
1739 ! Metadata of type integer are
1740 ! stored in array Data.
1741 ! Actual number of words read is returned in OutCount.
1745 USE module_state_description
1747 INTEGER , INTENT(IN) :: DataHandle
1748 CHARACTER*(*) , INTENT(IN) :: Element
1754 INTEGER , INTENT(IN) :: Count
1755 INTEGER , INTENT(OUT) :: OutCount
1756 INTEGER , INTENT(OUT) :: Status
1758 #include "wrf_status_codes.h"
1759 INTEGER :: len_of_str
1761 INTEGER, EXTERNAL :: use_package
1762 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
1765 INTEGER io_form , Hndl
1767 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_integer_arr " )
1774 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1775 IF ( Hndl .GT. -1 ) THEN
1776 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
1777 SELECT CASE ( use_package( io_form ) )
1780 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1781 CALL ext_ncd_get_dom_ti_integer ( Hndl, Element, Data, &
1782 locCount, Outcount, Status )
1784 IF ( .NOT. multi_files(io_form) ) THEN
1785 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1786 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1793 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1797 CASE ( IO_NETCDFPAR )
1798 CALL ext_ncdpar_get_dom_ti_integer ( Hndl, Element, Data, &
1799 locCount, Outcount, Status )
1804 CALL ext_pnc_get_dom_ti_integer ( Hndl, Element, Data, &
1805 locCount, Outcount, Status )
1809 CALL ext_phdf5_get_dom_ti_integer ( Hndl, Element, Data, &
1810 locCount, Outcount, Status )
1814 CALL ext_esmf_get_dom_ti_integer ( Hndl, Element, Data, &
1815 locCount, Outcount, Status )
1819 CALL ext_xxx_get_dom_ti_integer ( Hndl, Element, Data, &
1820 locCount, Outcount, Status )
1824 CALL ext_yyy_get_dom_ti_integer ( Hndl, Element, Data, &
1825 locCount, Outcount, Status )
1829 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1830 CALL ext_gr1_get_dom_ti_integer ( Hndl, Element, Data, &
1831 locCount, Outcount, Status )
1833 IF ( .NOT. multi_files(io_form) ) THEN
1834 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1835 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1842 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1847 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1848 CALL ext_gr2_get_dom_ti_integer ( Hndl, Element, Data, &
1849 locCount, Outcount, Status )
1851 IF ( .NOT. multi_files(io_form) ) THEN
1852 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1853 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1860 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1865 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1866 CALL ext_int_get_dom_ti_integer ( Hndl, Element, Data, &
1867 locCount, Outcount, Status )
1869 IF ( .NOT. multi_files(io_form) ) THEN
1870 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1871 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1878 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1883 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
1884 CALL wrf_quilt_get_dom_ti_integer ( Hndl, Element, Data, &
1885 locCount, Outcount, Status )
1890 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
1893 END SUBROUTINE wrf_get_dom_ti_integer_arr
1894 !--- get_dom_ti_integer
1896 SUBROUTINE wrf_get_dom_ti_integer_sca ( DataHandle,Element, Data, Count, Outcount, Status )
1900 ! Attempt to read time independent
1901 ! domain metadata named "Element"
1902 ! from the open dataset described by DataHandle.
1903 ! Metadata of type integer are
1904 ! stored in scalar Data.
1909 USE module_state_description
1911 INTEGER , INTENT(IN) :: DataHandle
1912 CHARACTER*(*) , INTENT(IN) :: Element
1918 INTEGER , INTENT(IN) :: Count
1919 INTEGER , INTENT(OUT) :: OutCount
1920 INTEGER , INTENT(OUT) :: Status
1922 #include "wrf_status_codes.h"
1923 INTEGER :: len_of_str
1925 INTEGER, EXTERNAL :: use_package
1926 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
1929 INTEGER io_form , Hndl
1931 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_integer_sca " )
1938 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
1939 IF ( Hndl .GT. -1 ) THEN
1940 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
1941 SELECT CASE ( use_package( io_form ) )
1944 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1945 CALL ext_ncd_get_dom_ti_integer ( Hndl, Element, Data, &
1946 locCount, Outcount, Status )
1948 IF ( .NOT. multi_files(io_form) ) THEN
1949 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1950 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
1957 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
1961 CASE ( IO_NETCDFPAR )
1962 CALL ext_ncdpar_get_dom_ti_integer ( Hndl, Element, Data, &
1963 locCount, Outcount, Status )
1968 CALL ext_pnc_get_dom_ti_integer ( Hndl, Element, Data, &
1969 locCount, Outcount, Status )
1973 CALL ext_phdf5_get_dom_ti_integer ( Hndl, Element, Data, &
1974 locCount, Outcount, Status )
1978 CALL ext_esmf_get_dom_ti_integer ( Hndl, Element, Data, &
1979 locCount, Outcount, Status )
1983 CALL ext_xxx_get_dom_ti_integer ( Hndl, Element, Data, &
1984 locCount, Outcount, Status )
1988 CALL ext_yyy_get_dom_ti_integer ( Hndl, Element, Data, &
1989 locCount, Outcount, Status )
1993 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
1994 CALL ext_gr1_get_dom_ti_integer ( Hndl, Element, Data, &
1995 locCount, Outcount, Status )
1997 IF ( .NOT. multi_files(io_form) ) THEN
1998 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
1999 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
2006 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2011 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2012 CALL ext_gr2_get_dom_ti_integer ( Hndl, Element, Data, &
2013 locCount, Outcount, Status )
2015 IF ( .NOT. multi_files(io_form) ) THEN
2016 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2017 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
2024 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2029 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2030 CALL ext_int_get_dom_ti_integer ( Hndl, Element, Data, &
2031 locCount, Outcount, Status )
2033 IF ( .NOT. multi_files(io_form) ) THEN
2034 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2035 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
2042 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2047 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
2048 CALL wrf_quilt_get_dom_ti_integer ( Hndl, Element, Data, &
2049 locCount, Outcount, Status )
2054 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2057 END SUBROUTINE wrf_get_dom_ti_integer_sca
2060 !--- put_dom_ti_integer
2062 SUBROUTINE wrf_put_dom_ti_integer_arr ( DataHandle,Element, Data, Count, Status )
2066 ! Write Count words of time independent
2067 ! domain metadata named "Element"
2068 ! to the open dataset described by DataHandle.
2069 ! Metadata of type integer are
2070 ! copied from array Data.
2075 USE module_state_description
2077 INTEGER , INTENT(IN) :: DataHandle
2078 CHARACTER*(*) , INTENT(IN) :: Element
2084 INTEGER , INTENT(IN) :: Count
2086 INTEGER , INTENT(OUT) :: Status
2088 #include "wrf_status_codes.h"
2089 INTEGER :: len_of_str
2091 INTEGER, EXTERNAL :: use_package
2092 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
2095 INTEGER io_form , Hndl
2097 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_integer_arr " )
2104 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2105 IF ( Hndl .GT. -1 ) THEN
2106 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
2107 SELECT CASE ( use_package( io_form ) )
2110 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2111 CALL ext_ncd_put_dom_ti_integer ( Hndl, Element, Data, &
2114 IF ( .NOT. multi_files(io_form) ) THEN
2123 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2127 CASE ( IO_NETCDFPAR )
2128 CALL ext_ncdpar_put_dom_ti_integer ( Hndl, Element, Data, &
2134 CALL ext_pnc_put_dom_ti_integer ( Hndl, Element, Data, &
2139 CALL ext_phdf5_put_dom_ti_integer ( Hndl, Element, Data, &
2144 CALL ext_esmf_put_dom_ti_integer ( Hndl, Element, Data, &
2149 CALL ext_xxx_put_dom_ti_integer ( Hndl, Element, Data, &
2154 CALL ext_yyy_put_dom_ti_integer ( Hndl, Element, Data, &
2159 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2160 CALL ext_gr1_put_dom_ti_integer ( Hndl, Element, Data, &
2163 IF ( .NOT. multi_files(io_form) ) THEN
2172 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2177 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2178 CALL ext_gr2_put_dom_ti_integer ( Hndl, Element, Data, &
2181 IF ( .NOT. multi_files(io_form) ) THEN
2190 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2195 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2196 CALL ext_int_put_dom_ti_integer ( Hndl, Element, Data, &
2199 IF ( .NOT. multi_files(io_form) ) THEN
2208 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2213 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
2214 CALL wrf_quilt_put_dom_ti_integer ( Hndl, Element, Data, &
2220 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2223 END SUBROUTINE wrf_put_dom_ti_integer_arr
2224 !--- put_dom_ti_integer
2226 SUBROUTINE wrf_put_dom_ti_integer_sca ( DataHandle,Element, Data, Count, Status )
2230 ! Write time independent
2231 ! domain metadata named "Element"
2232 ! to the open dataset described by DataHandle.
2233 ! Metadata of type integer are
2234 ! copied from scalar Data.
2239 USE module_state_description
2241 INTEGER , INTENT(IN) :: DataHandle
2242 CHARACTER*(*) , INTENT(IN) :: Element
2248 INTEGER , INTENT(IN) :: Count
2250 INTEGER , INTENT(OUT) :: Status
2252 #include "wrf_status_codes.h"
2253 INTEGER :: len_of_str
2255 INTEGER, EXTERNAL :: use_package
2256 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
2259 INTEGER io_form , Hndl
2261 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_integer_sca " )
2268 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2269 IF ( Hndl .GT. -1 ) THEN
2270 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
2271 SELECT CASE ( use_package( io_form ) )
2274 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2275 CALL ext_ncd_put_dom_ti_integer ( Hndl, Element, Data, &
2278 IF ( .NOT. multi_files(io_form) ) THEN
2287 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2291 CASE ( IO_NETCDFPAR )
2292 CALL ext_ncdpar_put_dom_ti_integer ( Hndl, Element, Data, &
2298 CALL ext_pnc_put_dom_ti_integer ( Hndl, Element, Data, &
2303 CALL ext_phdf5_put_dom_ti_integer ( Hndl, Element, Data, &
2308 CALL ext_esmf_put_dom_ti_integer ( Hndl, Element, Data, &
2313 CALL ext_xxx_put_dom_ti_integer ( Hndl, Element, Data, &
2318 CALL ext_yyy_put_dom_ti_integer ( Hndl, Element, Data, &
2323 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2324 CALL ext_gr1_put_dom_ti_integer ( Hndl, Element, Data, &
2327 IF ( .NOT. multi_files(io_form) ) THEN
2336 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2341 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2342 CALL ext_gr2_put_dom_ti_integer ( Hndl, Element, Data, &
2345 IF ( .NOT. multi_files(io_form) ) THEN
2354 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2359 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2360 CALL ext_int_put_dom_ti_integer ( Hndl, Element, Data, &
2363 IF ( .NOT. multi_files(io_form) ) THEN
2372 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2377 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
2378 CALL wrf_quilt_put_dom_ti_integer ( Hndl, Element, Data, &
2384 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2387 END SUBROUTINE wrf_put_dom_ti_integer_sca
2390 !--- get_dom_ti_logical
2392 SUBROUTINE wrf_get_dom_ti_logical_arr ( DataHandle,Element, Data, Count, Outcount, Status )
2396 ! Attempt to read Count words of time independent
2397 ! domain metadata named "Element"
2398 ! from the open dataset described by DataHandle.
2399 ! Metadata of type logical are
2400 ! stored in array Data.
2401 ! Actual number of words read is returned in OutCount.
2405 USE module_state_description
2407 INTEGER , INTENT(IN) :: DataHandle
2408 CHARACTER*(*) , INTENT(IN) :: Element
2414 INTEGER , INTENT(IN) :: Count
2415 INTEGER , INTENT(OUT) :: OutCount
2416 INTEGER , INTENT(OUT) :: Status
2418 #include "wrf_status_codes.h"
2419 INTEGER :: len_of_str
2421 INTEGER, EXTERNAL :: use_package
2422 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
2425 INTEGER io_form , Hndl
2427 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_logical_arr " )
2434 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2435 IF ( Hndl .GT. -1 ) THEN
2436 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
2437 SELECT CASE ( use_package( io_form ) )
2440 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2441 CALL ext_ncd_get_dom_ti_logical ( Hndl, Element, Data, &
2442 locCount, Outcount, Status )
2444 IF ( .NOT. multi_files(io_form) ) THEN
2449 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2450 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2453 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2457 CASE ( IO_NETCDFPAR )
2458 CALL ext_ncdpar_get_dom_ti_logical ( Hndl, Element, Data, &
2459 locCount, Outcount, Status )
2464 CALL ext_pnc_get_dom_ti_logical ( Hndl, Element, Data, &
2465 locCount, Outcount, Status )
2469 CALL ext_phdf5_get_dom_ti_logical ( Hndl, Element, Data, &
2470 locCount, Outcount, Status )
2474 CALL ext_esmf_get_dom_ti_logical ( Hndl, Element, Data, &
2475 locCount, Outcount, Status )
2479 CALL ext_xxx_get_dom_ti_logical ( Hndl, Element, Data, &
2480 locCount, Outcount, Status )
2484 CALL ext_yyy_get_dom_ti_logical ( Hndl, Element, Data, &
2485 locCount, Outcount, Status )
2489 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2490 CALL ext_gr1_get_dom_ti_logical ( Hndl, Element, Data, &
2491 locCount, Outcount, Status )
2493 IF ( .NOT. multi_files(io_form) ) THEN
2498 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2499 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2502 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2507 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2508 CALL ext_gr2_get_dom_ti_logical ( Hndl, Element, Data, &
2509 locCount, Outcount, Status )
2511 IF ( .NOT. multi_files(io_form) ) THEN
2516 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2517 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2520 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2525 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2526 CALL ext_int_get_dom_ti_logical ( Hndl, Element, Data, &
2527 locCount, Outcount, Status )
2529 IF ( .NOT. multi_files(io_form) ) THEN
2534 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2535 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2538 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2543 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
2544 CALL wrf_quilt_get_dom_ti_logical ( Hndl, Element, Data, &
2545 locCount, Outcount, Status )
2550 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2553 END SUBROUTINE wrf_get_dom_ti_logical_arr
2554 !--- get_dom_ti_logical
2556 SUBROUTINE wrf_get_dom_ti_logical_sca ( DataHandle,Element, Data, Count, Outcount, Status )
2560 ! Attempt to read time independent
2561 ! domain metadata named "Element"
2562 ! from the open dataset described by DataHandle.
2563 ! Metadata of type logical are
2564 ! stored in scalar Data.
2569 USE module_state_description
2571 INTEGER , INTENT(IN) :: DataHandle
2572 CHARACTER*(*) , INTENT(IN) :: Element
2578 INTEGER , INTENT(IN) :: Count
2579 INTEGER , INTENT(OUT) :: OutCount
2580 INTEGER , INTENT(OUT) :: Status
2582 #include "wrf_status_codes.h"
2583 INTEGER :: len_of_str
2585 INTEGER, EXTERNAL :: use_package
2586 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
2589 INTEGER io_form , Hndl
2591 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_logical_sca " )
2598 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2599 IF ( Hndl .GT. -1 ) THEN
2600 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
2601 SELECT CASE ( use_package( io_form ) )
2604 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2605 CALL ext_ncd_get_dom_ti_logical ( Hndl, Element, Data, &
2606 locCount, Outcount, Status )
2608 IF ( .NOT. multi_files(io_form) ) THEN
2613 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2614 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2617 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2621 CASE ( IO_NETCDFPAR )
2622 CALL ext_ncdpar_get_dom_ti_logical ( Hndl, Element, Data, &
2623 locCount, Outcount, Status )
2628 CALL ext_pnc_get_dom_ti_logical ( Hndl, Element, Data, &
2629 locCount, Outcount, Status )
2633 CALL ext_phdf5_get_dom_ti_logical ( Hndl, Element, Data, &
2634 locCount, Outcount, Status )
2638 CALL ext_esmf_get_dom_ti_logical ( Hndl, Element, Data, &
2639 locCount, Outcount, Status )
2643 CALL ext_xxx_get_dom_ti_logical ( Hndl, Element, Data, &
2644 locCount, Outcount, Status )
2648 CALL ext_yyy_get_dom_ti_logical ( Hndl, Element, Data, &
2649 locCount, Outcount, Status )
2653 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2654 CALL ext_gr1_get_dom_ti_logical ( Hndl, Element, Data, &
2655 locCount, Outcount, Status )
2657 IF ( .NOT. multi_files(io_form) ) THEN
2662 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2663 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2666 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2671 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2672 CALL ext_gr2_get_dom_ti_logical ( Hndl, Element, Data, &
2673 locCount, Outcount, Status )
2675 IF ( .NOT. multi_files(io_form) ) THEN
2680 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2681 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2684 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2689 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2690 CALL ext_int_get_dom_ti_logical ( Hndl, Element, Data, &
2691 locCount, Outcount, Status )
2693 IF ( .NOT. multi_files(io_form) ) THEN
2698 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
2699 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
2702 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2707 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
2708 CALL wrf_quilt_get_dom_ti_logical ( Hndl, Element, Data, &
2709 locCount, Outcount, Status )
2714 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2717 END SUBROUTINE wrf_get_dom_ti_logical_sca
2720 !--- put_dom_ti_logical
2722 SUBROUTINE wrf_put_dom_ti_logical_arr ( DataHandle,Element, Data, Count, Status )
2726 ! Write Count words of time independent
2727 ! domain metadata named "Element"
2728 ! to the open dataset described by DataHandle.
2729 ! Metadata of type logical are
2730 ! copied from array Data.
2735 USE module_state_description
2737 INTEGER , INTENT(IN) :: DataHandle
2738 CHARACTER*(*) , INTENT(IN) :: Element
2744 INTEGER , INTENT(IN) :: Count
2746 INTEGER , INTENT(OUT) :: Status
2748 #include "wrf_status_codes.h"
2749 INTEGER :: len_of_str
2751 INTEGER, EXTERNAL :: use_package
2752 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
2755 INTEGER io_form , Hndl
2757 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_logical_arr " )
2764 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2765 IF ( Hndl .GT. -1 ) THEN
2766 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
2767 SELECT CASE ( use_package( io_form ) )
2770 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2771 CALL ext_ncd_put_dom_ti_logical ( Hndl, Element, Data, &
2774 IF ( .NOT. multi_files(io_form) ) THEN
2783 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2787 CASE ( IO_NETCDFPAR )
2788 CALL ext_ncdpar_put_dom_ti_logical ( Hndl, Element, Data, &
2794 CALL ext_pnc_put_dom_ti_logical ( Hndl, Element, Data, &
2799 CALL ext_phdf5_put_dom_ti_logical ( Hndl, Element, Data, &
2804 CALL ext_esmf_put_dom_ti_logical ( Hndl, Element, Data, &
2809 CALL ext_xxx_put_dom_ti_logical ( Hndl, Element, Data, &
2814 CALL ext_yyy_put_dom_ti_logical ( Hndl, Element, Data, &
2819 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2820 CALL ext_gr1_put_dom_ti_logical ( Hndl, Element, Data, &
2823 IF ( .NOT. multi_files(io_form) ) THEN
2832 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2837 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2838 CALL ext_gr2_put_dom_ti_logical ( Hndl, Element, Data, &
2841 IF ( .NOT. multi_files(io_form) ) THEN
2850 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2855 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2856 CALL ext_int_put_dom_ti_logical ( Hndl, Element, Data, &
2859 IF ( .NOT. multi_files(io_form) ) THEN
2868 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2873 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
2874 CALL wrf_quilt_put_dom_ti_logical ( Hndl, Element, Data, &
2880 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
2883 END SUBROUTINE wrf_put_dom_ti_logical_arr
2884 !--- put_dom_ti_logical
2886 SUBROUTINE wrf_put_dom_ti_logical_sca ( DataHandle,Element, Data, Count, Status )
2890 ! Write time independent
2891 ! domain metadata named "Element"
2892 ! to the open dataset described by DataHandle.
2893 ! Metadata of type logical are
2894 ! copied from scalar Data.
2899 USE module_state_description
2901 INTEGER , INTENT(IN) :: DataHandle
2902 CHARACTER*(*) , INTENT(IN) :: Element
2908 INTEGER , INTENT(IN) :: Count
2910 INTEGER , INTENT(OUT) :: Status
2912 #include "wrf_status_codes.h"
2913 INTEGER :: len_of_str
2915 INTEGER, EXTERNAL :: use_package
2916 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
2919 INTEGER io_form , Hndl
2921 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_logical_sca " )
2928 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
2929 IF ( Hndl .GT. -1 ) THEN
2930 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
2931 SELECT CASE ( use_package( io_form ) )
2934 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2935 CALL ext_ncd_put_dom_ti_logical ( Hndl, Element, Data, &
2938 IF ( .NOT. multi_files(io_form) ) THEN
2947 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
2951 CASE ( IO_NETCDFPAR )
2952 CALL ext_ncdpar_put_dom_ti_logical ( Hndl, Element, Data, &
2958 CALL ext_pnc_put_dom_ti_logical ( Hndl, Element, Data, &
2963 CALL ext_phdf5_put_dom_ti_logical ( Hndl, Element, Data, &
2968 CALL ext_esmf_put_dom_ti_logical ( Hndl, Element, Data, &
2973 CALL ext_xxx_put_dom_ti_logical ( Hndl, Element, Data, &
2978 CALL ext_yyy_put_dom_ti_logical ( Hndl, Element, Data, &
2983 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
2984 CALL ext_gr1_put_dom_ti_logical ( Hndl, Element, Data, &
2987 IF ( .NOT. multi_files(io_form) ) THEN
2996 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3001 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3002 CALL ext_gr2_put_dom_ti_logical ( Hndl, Element, Data, &
3005 IF ( .NOT. multi_files(io_form) ) THEN
3014 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3019 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3020 CALL ext_int_put_dom_ti_logical ( Hndl, Element, Data, &
3023 IF ( .NOT. multi_files(io_form) ) THEN
3032 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3037 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
3038 CALL wrf_quilt_put_dom_ti_logical ( Hndl, Element, Data, &
3044 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3047 END SUBROUTINE wrf_put_dom_ti_logical_sca
3050 !--- get_dom_ti_char
3052 SUBROUTINE wrf_get_dom_ti_char_arr ( DataHandle,Element, Data, Status )
3056 ! Attempt to read time independent
3057 ! domain metadata named "Element"
3058 ! from the open dataset described by DataHandle.
3059 ! Metadata of type char are
3060 ! stored in string Data.
3065 USE module_state_description
3067 INTEGER , INTENT(IN) :: DataHandle
3068 CHARACTER*(*) , INTENT(IN) :: Element
3072 CHARACTER*(*) :: Data
3076 INTEGER , INTENT(OUT) :: Status
3078 #include "wrf_status_codes.h"
3079 INTEGER :: len_of_str
3081 INTEGER, EXTERNAL :: use_package
3082 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
3085 INTEGER io_form , Hndl
3087 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_ti_char_arr " )
3094 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3095 IF ( Hndl .GT. -1 ) THEN
3096 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
3097 SELECT CASE ( use_package( io_form ) )
3100 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3101 CALL ext_ncd_get_dom_ti_char ( Hndl, Element, Data, &
3104 IF ( .NOT. multi_files(io_form) ) THEN
3111 len_of_str = LEN(Data)
3112 CALL wrf_dm_bcast_string( Data, len_of_str )
3113 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3117 CASE ( IO_NETCDFPAR )
3118 CALL ext_ncdpar_get_dom_ti_char ( Hndl, Element, Data, &
3124 CALL ext_pnc_get_dom_ti_char ( Hndl, Element, Data, &
3129 CALL ext_phdf5_get_dom_ti_char ( Hndl, Element, Data, &
3134 CALL ext_esmf_get_dom_ti_char ( Hndl, Element, Data, &
3139 CALL ext_xxx_get_dom_ti_char ( Hndl, Element, Data, &
3144 CALL ext_yyy_get_dom_ti_char ( Hndl, Element, Data, &
3149 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3150 CALL ext_gr1_get_dom_ti_char ( Hndl, Element, Data, &
3153 IF ( .NOT. multi_files(io_form) ) THEN
3160 len_of_str = LEN(Data)
3161 CALL wrf_dm_bcast_string( Data, len_of_str )
3162 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3167 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3168 CALL ext_gr2_get_dom_ti_char ( Hndl, Element, Data, &
3171 IF ( .NOT. multi_files(io_form) ) THEN
3178 len_of_str = LEN(Data)
3179 CALL wrf_dm_bcast_string( Data, len_of_str )
3180 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3185 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3186 CALL ext_int_get_dom_ti_char ( Hndl, Element, Data, &
3189 IF ( .NOT. multi_files(io_form) ) THEN
3196 len_of_str = LEN(Data)
3197 CALL wrf_dm_bcast_string( Data, len_of_str )
3198 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3203 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
3204 CALL wrf_quilt_get_dom_ti_char ( Hndl, Element, Data, &
3210 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3213 END SUBROUTINE wrf_get_dom_ti_char_arr
3216 !--- put_dom_ti_char
3218 SUBROUTINE wrf_put_dom_ti_char_arr ( DataHandle,Element, Data, Status )
3222 ! Write time independent
3223 ! domain metadata named "Element"
3224 ! to the open dataset described by DataHandle.
3225 ! Metadata of type char are
3226 ! copied from string Data.
3231 USE module_state_description
3233 INTEGER , INTENT(IN) :: DataHandle
3234 CHARACTER*(*) , INTENT(IN) :: Element
3238 CHARACTER*(*) :: Data
3242 INTEGER , INTENT(OUT) :: Status
3244 #include "wrf_status_codes.h"
3245 INTEGER :: len_of_str
3247 INTEGER, EXTERNAL :: use_package
3248 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
3251 INTEGER io_form , Hndl
3253 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_ti_char_arr " )
3260 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3261 IF ( Hndl .GT. -1 ) THEN
3262 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
3263 SELECT CASE ( use_package( io_form ) )
3266 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3267 CALL ext_ncd_put_dom_ti_char ( Hndl, Element, Data, &
3270 IF ( .NOT. multi_files(io_form) ) THEN
3279 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3283 CASE ( IO_NETCDFPAR )
3284 CALL ext_ncdpar_put_dom_ti_char ( Hndl, Element, Data, &
3290 CALL ext_pnc_put_dom_ti_char ( Hndl, Element, Data, &
3295 CALL ext_phdf5_put_dom_ti_char ( Hndl, Element, Data, &
3300 CALL ext_esmf_put_dom_ti_char ( Hndl, Element, Data, &
3305 CALL ext_xxx_put_dom_ti_char ( Hndl, Element, Data, &
3310 CALL ext_yyy_put_dom_ti_char ( Hndl, Element, Data, &
3315 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3316 CALL ext_gr1_put_dom_ti_char ( Hndl, Element, Data, &
3319 IF ( .NOT. multi_files(io_form) ) THEN
3328 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3333 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3334 CALL ext_gr2_put_dom_ti_char ( Hndl, Element, Data, &
3337 IF ( .NOT. multi_files(io_form) ) THEN
3346 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3351 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3352 CALL ext_int_put_dom_ti_char ( Hndl, Element, Data, &
3355 IF ( .NOT. multi_files(io_form) ) THEN
3364 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3369 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
3370 CALL wrf_quilt_put_dom_ti_char ( Hndl, Element, Data, &
3376 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3379 END SUBROUTINE wrf_put_dom_ti_char_arr
3383 !--- get_dom_td_real
3385 SUBROUTINE wrf_get_dom_td_real_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
3389 ! Attempt to read Count words of time dependent
3390 ! domain metadata named "Element" valid at time DateStr
3391 ! from the open dataset described by DataHandle.
3392 ! Metadata of type real are
3393 ! stored in array Data.
3394 ! Actual number of words read is returned in OutCount.
3398 USE module_state_description
3400 INTEGER , INTENT(IN) :: DataHandle
3401 CHARACTER*(*) , INTENT(IN) :: Element
3402 CHARACTER*(*) , INTENT(IN) :: DateStr
3407 INTEGER , INTENT(IN) :: Count
3408 INTEGER , INTENT(OUT) :: OutCount
3409 INTEGER , INTENT(OUT) :: Status
3411 #include "wrf_status_codes.h"
3412 INTEGER :: len_of_str
3414 INTEGER, EXTERNAL :: use_package
3415 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
3418 INTEGER io_form , Hndl
3420 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_real_arr " )
3427 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3428 IF ( Hndl .GT. -1 ) THEN
3429 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
3430 SELECT CASE ( use_package( io_form ) )
3433 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3434 # if ( RWORDSIZE == DWORDSIZE )
3435 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3436 locCount, Outcount, Status )
3438 CALL ext_ncd_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3439 locCount, Outcount, Status )
3442 IF ( .NOT. multi_files(io_form) ) THEN
3445 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3446 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3451 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3455 CASE ( IO_NETCDFPAR )
3456 # if ( RWORDSIZE == DWORDSIZE )
3457 CALL ext_ncdpar_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3458 locCount, Outcount, Status )
3460 CALL ext_ncdpar_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3461 locCount, Outcount, Status )
3467 # if ( RWORDSIZE == DWORDSIZE )
3468 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3469 locCount, Outcount, Status )
3471 CALL ext_pnc_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3472 locCount, Outcount, Status )
3477 # if ( RWORDSIZE == DWORDSIZE )
3478 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3479 locCount, Outcount, Status )
3481 CALL ext_phdf5_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3482 locCount, Outcount, Status )
3487 # if ( RWORDSIZE == DWORDSIZE )
3488 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3489 locCount, Outcount, Status )
3491 CALL ext_esmf_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3492 locCount, Outcount, Status )
3497 # if ( RWORDSIZE == DWORDSIZE )
3498 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3499 locCount, Outcount, Status )
3501 CALL ext_xxx_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3502 locCount, Outcount, Status )
3507 # if ( RWORDSIZE == DWORDSIZE )
3508 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3509 locCount, Outcount, Status )
3511 CALL ext_yyy_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3512 locCount, Outcount, Status )
3517 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3518 # if ( RWORDSIZE == DWORDSIZE )
3519 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3520 locCount, Outcount, Status )
3522 CALL ext_gr1_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3523 locCount, Outcount, Status )
3526 IF ( .NOT. multi_files(io_form) ) THEN
3529 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3530 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3535 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3540 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3541 # if ( RWORDSIZE == DWORDSIZE )
3542 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3543 locCount, Outcount, Status )
3545 CALL ext_gr2_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3546 locCount, Outcount, Status )
3549 IF ( .NOT. multi_files(io_form) ) THEN
3552 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3553 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3558 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3563 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3564 # if ( RWORDSIZE == DWORDSIZE )
3565 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3566 locCount, Outcount, Status )
3568 CALL ext_int_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3569 locCount, Outcount, Status )
3572 IF ( .NOT. multi_files(io_form) ) THEN
3575 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3576 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3581 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3586 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
3587 CALL wrf_quilt_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3588 locCount, Outcount, Status )
3593 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3596 END SUBROUTINE wrf_get_dom_td_real_arr
3597 !--- get_dom_td_real
3599 SUBROUTINE wrf_get_dom_td_real_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
3603 ! Attempt to read time dependent
3604 ! domain metadata named "Element" valid at time DateStr
3605 ! from the open dataset described by DataHandle.
3606 ! Metadata of type real are
3607 ! stored in scalar Data.
3612 USE module_state_description
3614 INTEGER , INTENT(IN) :: DataHandle
3615 CHARACTER*(*) , INTENT(IN) :: Element
3616 CHARACTER*(*) , INTENT(IN) :: DateStr
3621 INTEGER , INTENT(IN) :: Count
3622 INTEGER , INTENT(OUT) :: OutCount
3623 INTEGER , INTENT(OUT) :: Status
3625 #include "wrf_status_codes.h"
3626 INTEGER :: len_of_str
3628 INTEGER, EXTERNAL :: use_package
3629 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
3632 INTEGER io_form , Hndl
3634 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_real_sca " )
3641 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3642 IF ( Hndl .GT. -1 ) THEN
3643 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
3644 SELECT CASE ( use_package( io_form ) )
3647 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3648 # if ( RWORDSIZE == DWORDSIZE )
3649 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3650 locCount, Outcount, Status )
3652 CALL ext_ncd_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3653 locCount, Outcount, Status )
3656 IF ( .NOT. multi_files(io_form) ) THEN
3659 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3660 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3665 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3669 CASE ( IO_NETCDFPAR )
3670 # if ( RWORDSIZE == DWORDSIZE )
3671 CALL ext_ncdpar_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3672 locCount, Outcount, Status )
3674 CALL ext_ncdpar_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3675 locCount, Outcount, Status )
3681 # if ( RWORDSIZE == DWORDSIZE )
3682 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3683 locCount, Outcount, Status )
3685 CALL ext_pnc_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3686 locCount, Outcount, Status )
3691 # if ( RWORDSIZE == DWORDSIZE )
3692 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3693 locCount, Outcount, Status )
3695 CALL ext_phdf5_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3696 locCount, Outcount, Status )
3701 # if ( RWORDSIZE == DWORDSIZE )
3702 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3703 locCount, Outcount, Status )
3705 CALL ext_esmf_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3706 locCount, Outcount, Status )
3711 # if ( RWORDSIZE == DWORDSIZE )
3712 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3713 locCount, Outcount, Status )
3715 CALL ext_xxx_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3716 locCount, Outcount, Status )
3721 # if ( RWORDSIZE == DWORDSIZE )
3722 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3723 locCount, Outcount, Status )
3725 CALL ext_yyy_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3726 locCount, Outcount, Status )
3731 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3732 # if ( RWORDSIZE == DWORDSIZE )
3733 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3734 locCount, Outcount, Status )
3736 CALL ext_gr1_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3737 locCount, Outcount, Status )
3740 IF ( .NOT. multi_files(io_form) ) THEN
3743 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3744 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3749 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3754 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3755 # if ( RWORDSIZE == DWORDSIZE )
3756 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3757 locCount, Outcount, Status )
3759 CALL ext_gr2_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3760 locCount, Outcount, Status )
3763 IF ( .NOT. multi_files(io_form) ) THEN
3766 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3767 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3772 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3777 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3778 # if ( RWORDSIZE == DWORDSIZE )
3779 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
3780 locCount, Outcount, Status )
3782 CALL ext_int_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3783 locCount, Outcount, Status )
3786 IF ( .NOT. multi_files(io_form) ) THEN
3789 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
3790 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
3795 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3800 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
3801 CALL wrf_quilt_get_dom_td_real ( Hndl, Element, DateStr, Data, &
3802 locCount, Outcount, Status )
3807 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
3810 END SUBROUTINE wrf_get_dom_td_real_sca
3813 !--- put_dom_td_real
3815 SUBROUTINE wrf_put_dom_td_real_arr ( DataHandle,Element, DateStr, Data, Count, Status )
3819 ! Write Count words of time dependent
3820 ! domain metadata named "Element" valid at time DateStr
3821 ! to the open dataset described by DataHandle.
3822 ! Metadata of type real are
3823 ! copied from array Data.
3828 USE module_state_description
3830 INTEGER , INTENT(IN) :: DataHandle
3831 CHARACTER*(*) , INTENT(IN) :: Element
3832 CHARACTER*(*) , INTENT(IN) :: DateStr
3837 INTEGER , INTENT(IN) :: Count
3839 INTEGER , INTENT(OUT) :: Status
3841 #include "wrf_status_codes.h"
3842 INTEGER :: len_of_str
3844 INTEGER, EXTERNAL :: use_package
3845 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
3848 INTEGER io_form , Hndl
3850 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_real_arr " )
3857 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
3858 IF ( Hndl .GT. -1 ) THEN
3859 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
3860 SELECT CASE ( use_package( io_form ) )
3863 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3864 # if ( RWORDSIZE == DWORDSIZE )
3865 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3868 CALL ext_ncd_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3872 IF ( .NOT. multi_files(io_form) ) THEN
3881 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3885 CASE ( IO_NETCDFPAR )
3886 # if ( RWORDSIZE == DWORDSIZE )
3887 CALL ext_ncdpar_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3890 CALL ext_ncdpar_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3897 # if ( RWORDSIZE == DWORDSIZE )
3898 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3901 CALL ext_pnc_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3907 # if ( RWORDSIZE == DWORDSIZE )
3908 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3911 CALL ext_phdf5_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3917 # if ( RWORDSIZE == DWORDSIZE )
3918 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3921 CALL ext_esmf_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3927 # if ( RWORDSIZE == DWORDSIZE )
3928 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3931 CALL ext_xxx_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3937 # if ( RWORDSIZE == DWORDSIZE )
3938 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3941 CALL ext_yyy_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3947 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3948 # if ( RWORDSIZE == DWORDSIZE )
3949 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3952 CALL ext_gr1_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3956 IF ( .NOT. multi_files(io_form) ) THEN
3965 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3970 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3971 # if ( RWORDSIZE == DWORDSIZE )
3972 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3975 CALL ext_gr2_put_dom_td_real ( Hndl, Element, DateStr, Data, &
3979 IF ( .NOT. multi_files(io_form) ) THEN
3988 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
3993 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
3994 # if ( RWORDSIZE == DWORDSIZE )
3995 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
3998 CALL ext_int_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4002 IF ( .NOT. multi_files(io_form) ) THEN
4011 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4016 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
4017 CALL wrf_quilt_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4023 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4026 END SUBROUTINE wrf_put_dom_td_real_arr
4027 !--- put_dom_td_real
4029 SUBROUTINE wrf_put_dom_td_real_sca ( DataHandle,Element, DateStr, Data, Count, Status )
4033 ! Write time dependent
4034 ! domain metadata named "Element" valid at time DateStr
4035 ! to the open dataset described by DataHandle.
4036 ! Metadata of type real are
4037 ! copied from scalar Data.
4042 USE module_state_description
4044 INTEGER , INTENT(IN) :: DataHandle
4045 CHARACTER*(*) , INTENT(IN) :: Element
4046 CHARACTER*(*) , INTENT(IN) :: DateStr
4051 INTEGER , INTENT(IN) :: Count
4053 INTEGER , INTENT(OUT) :: Status
4055 #include "wrf_status_codes.h"
4056 INTEGER :: len_of_str
4058 INTEGER, EXTERNAL :: use_package
4059 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
4062 INTEGER io_form , Hndl
4064 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_real_sca " )
4071 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4072 IF ( Hndl .GT. -1 ) THEN
4073 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
4074 SELECT CASE ( use_package( io_form ) )
4077 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4078 # if ( RWORDSIZE == DWORDSIZE )
4079 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4082 CALL ext_ncd_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4086 IF ( .NOT. multi_files(io_form) ) THEN
4095 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4099 CASE ( IO_NETCDFPAR )
4100 # if ( RWORDSIZE == DWORDSIZE )
4101 CALL ext_ncdpar_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4104 CALL ext_ncdpar_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4111 # if ( RWORDSIZE == DWORDSIZE )
4112 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4115 CALL ext_pnc_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4121 # if ( RWORDSIZE == DWORDSIZE )
4122 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4125 CALL ext_phdf5_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4131 # if ( RWORDSIZE == DWORDSIZE )
4132 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4135 CALL ext_esmf_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4141 # if ( RWORDSIZE == DWORDSIZE )
4142 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4145 CALL ext_xxx_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4151 # if ( RWORDSIZE == DWORDSIZE )
4152 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4155 CALL ext_yyy_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4161 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4162 # if ( RWORDSIZE == DWORDSIZE )
4163 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4166 CALL ext_gr1_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4170 IF ( .NOT. multi_files(io_form) ) THEN
4179 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4184 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4185 # if ( RWORDSIZE == DWORDSIZE )
4186 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4189 CALL ext_gr2_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4193 IF ( .NOT. multi_files(io_form) ) THEN
4202 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4207 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4208 # if ( RWORDSIZE == DWORDSIZE )
4209 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4212 CALL ext_int_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4216 IF ( .NOT. multi_files(io_form) ) THEN
4225 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4230 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
4231 CALL wrf_quilt_put_dom_td_real ( Hndl, Element, DateStr, Data, &
4237 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4240 END SUBROUTINE wrf_put_dom_td_real_sca
4243 !--- get_dom_td_double
4245 SUBROUTINE wrf_get_dom_td_double_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4249 ! Attempt to read Count words of time dependent
4250 ! domain metadata named "Element" valid at time DateStr
4251 ! from the open dataset described by DataHandle.
4252 ! Metadata of type double are
4253 ! stored in array Data.
4254 ! Actual number of words read is returned in OutCount.
4258 USE module_state_description
4260 INTEGER , INTENT(IN) :: DataHandle
4261 CHARACTER*(*) , INTENT(IN) :: Element
4262 CHARACTER*(*) , INTENT(IN) :: DateStr
4267 INTEGER , INTENT(IN) :: Count
4268 INTEGER , INTENT(OUT) :: OutCount
4269 INTEGER , INTENT(OUT) :: Status
4271 #include "wrf_status_codes.h"
4272 INTEGER :: len_of_str
4274 INTEGER, EXTERNAL :: use_package
4275 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
4278 INTEGER io_form , Hndl
4280 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_double_arr " )
4287 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4288 IF ( Hndl .GT. -1 ) THEN
4289 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
4290 SELECT CASE ( use_package( io_form ) )
4293 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4294 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4295 locCount, Outcount, Status )
4297 IF ( .NOT. multi_files(io_form) ) THEN
4306 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4310 CASE ( IO_NETCDFPAR )
4311 CALL ext_ncdpar_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4312 locCount, Outcount, Status )
4317 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4318 locCount, Outcount, Status )
4322 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4323 locCount, Outcount, Status )
4327 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4328 locCount, Outcount, Status )
4332 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4333 locCount, Outcount, Status )
4337 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4338 locCount, Outcount, Status )
4342 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4343 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4344 locCount, Outcount, Status )
4346 IF ( .NOT. multi_files(io_form) ) THEN
4355 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4360 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4361 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4362 locCount, Outcount, Status )
4364 IF ( .NOT. multi_files(io_form) ) THEN
4373 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4378 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4379 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4380 locCount, Outcount, Status )
4382 IF ( .NOT. multi_files(io_form) ) THEN
4391 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4396 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
4397 CALL wrf_quilt_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4398 locCount, Outcount, Status )
4403 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4406 END SUBROUTINE wrf_get_dom_td_double_arr
4407 !--- get_dom_td_double
4409 SUBROUTINE wrf_get_dom_td_double_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4413 ! Attempt to read time dependent
4414 ! domain metadata named "Element" valid at time DateStr
4415 ! from the open dataset described by DataHandle.
4416 ! Metadata of type double are
4417 ! stored in scalar Data.
4422 USE module_state_description
4424 INTEGER , INTENT(IN) :: DataHandle
4425 CHARACTER*(*) , INTENT(IN) :: Element
4426 CHARACTER*(*) , INTENT(IN) :: DateStr
4431 INTEGER , INTENT(IN) :: Count
4432 INTEGER , INTENT(OUT) :: OutCount
4433 INTEGER , INTENT(OUT) :: Status
4435 #include "wrf_status_codes.h"
4436 INTEGER :: len_of_str
4438 INTEGER, EXTERNAL :: use_package
4439 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
4442 INTEGER io_form , Hndl
4444 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_double_sca " )
4451 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4452 IF ( Hndl .GT. -1 ) THEN
4453 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
4454 SELECT CASE ( use_package( io_form ) )
4457 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4458 CALL ext_ncd_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4459 locCount, Outcount, Status )
4461 IF ( .NOT. multi_files(io_form) ) THEN
4470 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4474 CASE ( IO_NETCDFPAR )
4475 CALL ext_ncdpar_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4476 locCount, Outcount, Status )
4481 CALL ext_pnc_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4482 locCount, Outcount, Status )
4486 CALL ext_phdf5_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4487 locCount, Outcount, Status )
4491 CALL ext_esmf_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4492 locCount, Outcount, Status )
4496 CALL ext_xxx_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4497 locCount, Outcount, Status )
4501 CALL ext_yyy_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4502 locCount, Outcount, Status )
4506 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4507 CALL ext_gr1_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4508 locCount, Outcount, Status )
4510 IF ( .NOT. multi_files(io_form) ) THEN
4519 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4524 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4525 CALL ext_gr2_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4526 locCount, Outcount, Status )
4528 IF ( .NOT. multi_files(io_form) ) THEN
4537 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4542 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4543 CALL ext_int_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4544 locCount, Outcount, Status )
4546 IF ( .NOT. multi_files(io_form) ) THEN
4555 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4560 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
4561 CALL wrf_quilt_get_dom_td_double ( Hndl, Element, DateStr, Data, &
4562 locCount, Outcount, Status )
4567 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4570 END SUBROUTINE wrf_get_dom_td_double_sca
4573 !--- put_dom_td_double
4575 SUBROUTINE wrf_put_dom_td_double_arr ( DataHandle,Element, DateStr, Data, Count, Status )
4579 ! Write Count words of time dependent
4580 ! domain metadata named "Element" valid at time DateStr
4581 ! to the open dataset described by DataHandle.
4582 ! Metadata of type double are
4583 ! copied from array Data.
4588 USE module_state_description
4590 INTEGER , INTENT(IN) :: DataHandle
4591 CHARACTER*(*) , INTENT(IN) :: Element
4592 CHARACTER*(*) , INTENT(IN) :: DateStr
4597 INTEGER , INTENT(IN) :: Count
4599 INTEGER , INTENT(OUT) :: Status
4601 #include "wrf_status_codes.h"
4602 INTEGER :: len_of_str
4604 INTEGER, EXTERNAL :: use_package
4605 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
4608 INTEGER io_form , Hndl
4610 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_double_arr " )
4617 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4618 IF ( Hndl .GT. -1 ) THEN
4619 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
4620 SELECT CASE ( use_package( io_form ) )
4623 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4624 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4627 IF ( .NOT. multi_files(io_form) ) THEN
4636 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4640 CASE ( IO_NETCDFPAR )
4641 CALL ext_ncdpar_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4647 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4652 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4657 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4662 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4667 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4672 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4673 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4676 IF ( .NOT. multi_files(io_form) ) THEN
4685 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4690 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4691 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4694 IF ( .NOT. multi_files(io_form) ) THEN
4703 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4708 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4709 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4712 IF ( .NOT. multi_files(io_form) ) THEN
4721 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4726 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
4727 CALL wrf_quilt_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4733 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4736 END SUBROUTINE wrf_put_dom_td_double_arr
4737 !--- put_dom_td_double
4739 SUBROUTINE wrf_put_dom_td_double_sca ( DataHandle,Element, DateStr, Data, Count, Status )
4743 ! Write time dependent
4744 ! domain metadata named "Element" valid at time DateStr
4745 ! to the open dataset described by DataHandle.
4746 ! Metadata of type double are
4747 ! copied from scalar Data.
4752 USE module_state_description
4754 INTEGER , INTENT(IN) :: DataHandle
4755 CHARACTER*(*) , INTENT(IN) :: Element
4756 CHARACTER*(*) , INTENT(IN) :: DateStr
4761 INTEGER , INTENT(IN) :: Count
4763 INTEGER , INTENT(OUT) :: Status
4765 #include "wrf_status_codes.h"
4766 INTEGER :: len_of_str
4768 INTEGER, EXTERNAL :: use_package
4769 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
4772 INTEGER io_form , Hndl
4774 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_double_sca " )
4781 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4782 IF ( Hndl .GT. -1 ) THEN
4783 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
4784 SELECT CASE ( use_package( io_form ) )
4787 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4788 CALL ext_ncd_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4791 IF ( .NOT. multi_files(io_form) ) THEN
4800 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4804 CASE ( IO_NETCDFPAR )
4805 CALL ext_ncdpar_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4811 CALL ext_pnc_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4816 CALL ext_phdf5_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4821 CALL ext_esmf_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4826 CALL ext_xxx_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4831 CALL ext_yyy_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4836 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4837 CALL ext_gr1_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4840 IF ( .NOT. multi_files(io_form) ) THEN
4849 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4854 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4855 CALL ext_gr2_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4858 IF ( .NOT. multi_files(io_form) ) THEN
4867 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4872 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4873 CALL ext_int_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4876 IF ( .NOT. multi_files(io_form) ) THEN
4885 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4890 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
4891 CALL wrf_quilt_put_dom_td_double ( Hndl, Element, DateStr, Data, &
4897 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
4900 END SUBROUTINE wrf_put_dom_td_double_sca
4903 !--- get_dom_td_integer
4905 SUBROUTINE wrf_get_dom_td_integer_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
4909 ! Attempt to read Count words of time dependent
4910 ! domain metadata named "Element" valid at time DateStr
4911 ! from the open dataset described by DataHandle.
4912 ! Metadata of type integer are
4913 ! stored in array Data.
4914 ! Actual number of words read is returned in OutCount.
4918 USE module_state_description
4920 INTEGER , INTENT(IN) :: DataHandle
4921 CHARACTER*(*) , INTENT(IN) :: Element
4922 CHARACTER*(*) , INTENT(IN) :: DateStr
4927 INTEGER , INTENT(IN) :: Count
4928 INTEGER , INTENT(OUT) :: OutCount
4929 INTEGER , INTENT(OUT) :: Status
4931 #include "wrf_status_codes.h"
4932 INTEGER :: len_of_str
4934 INTEGER, EXTERNAL :: use_package
4935 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
4938 INTEGER io_form , Hndl
4940 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_integer_arr " )
4947 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
4948 IF ( Hndl .GT. -1 ) THEN
4949 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
4950 SELECT CASE ( use_package( io_form ) )
4953 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
4954 CALL ext_ncd_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4955 locCount, Outcount, Status )
4957 IF ( .NOT. multi_files(io_form) ) THEN
4958 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
4959 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
4966 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
4970 CASE ( IO_NETCDFPAR )
4971 CALL ext_ncdpar_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4972 locCount, Outcount, Status )
4977 CALL ext_pnc_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4978 locCount, Outcount, Status )
4982 CALL ext_phdf5_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4983 locCount, Outcount, Status )
4987 CALL ext_esmf_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4988 locCount, Outcount, Status )
4992 CALL ext_xxx_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4993 locCount, Outcount, Status )
4997 CALL ext_yyy_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
4998 locCount, Outcount, Status )
5002 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5003 CALL ext_gr1_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5004 locCount, Outcount, Status )
5006 IF ( .NOT. multi_files(io_form) ) THEN
5007 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5008 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5015 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5020 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5021 CALL ext_gr2_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5022 locCount, Outcount, Status )
5024 IF ( .NOT. multi_files(io_form) ) THEN
5025 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5026 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5033 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5038 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5039 CALL ext_int_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5040 locCount, Outcount, Status )
5042 IF ( .NOT. multi_files(io_form) ) THEN
5043 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5044 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5051 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5056 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
5057 CALL wrf_quilt_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5058 locCount, Outcount, Status )
5063 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5066 END SUBROUTINE wrf_get_dom_td_integer_arr
5067 !--- get_dom_td_integer
5069 SUBROUTINE wrf_get_dom_td_integer_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
5073 ! Attempt to read time dependent
5074 ! domain metadata named "Element" valid at time DateStr
5075 ! from the open dataset described by DataHandle.
5076 ! Metadata of type integer are
5077 ! stored in scalar Data.
5082 USE module_state_description
5084 INTEGER , INTENT(IN) :: DataHandle
5085 CHARACTER*(*) , INTENT(IN) :: Element
5086 CHARACTER*(*) , INTENT(IN) :: DateStr
5091 INTEGER , INTENT(IN) :: Count
5092 INTEGER , INTENT(OUT) :: OutCount
5093 INTEGER , INTENT(OUT) :: Status
5095 #include "wrf_status_codes.h"
5096 INTEGER :: len_of_str
5098 INTEGER, EXTERNAL :: use_package
5099 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
5102 INTEGER io_form , Hndl
5104 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_integer_sca " )
5111 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5112 IF ( Hndl .GT. -1 ) THEN
5113 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
5114 SELECT CASE ( use_package( io_form ) )
5117 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5118 CALL ext_ncd_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5119 locCount, Outcount, Status )
5121 IF ( .NOT. multi_files(io_form) ) THEN
5122 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5123 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5130 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5134 CASE ( IO_NETCDFPAR )
5135 CALL ext_ncdpar_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5136 locCount, Outcount, Status )
5141 CALL ext_pnc_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5142 locCount, Outcount, Status )
5146 CALL ext_phdf5_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5147 locCount, Outcount, Status )
5151 CALL ext_esmf_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5152 locCount, Outcount, Status )
5156 CALL ext_xxx_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5157 locCount, Outcount, Status )
5161 CALL ext_yyy_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5162 locCount, Outcount, Status )
5166 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5167 CALL ext_gr1_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5168 locCount, Outcount, Status )
5170 IF ( .NOT. multi_files(io_form) ) THEN
5171 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5172 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5179 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5184 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5185 CALL ext_gr2_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5186 locCount, Outcount, Status )
5188 IF ( .NOT. multi_files(io_form) ) THEN
5189 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5190 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5197 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5202 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5203 CALL ext_int_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5204 locCount, Outcount, Status )
5206 IF ( .NOT. multi_files(io_form) ) THEN
5207 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5208 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
5215 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5220 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
5221 CALL wrf_quilt_get_dom_td_integer ( Hndl, Element, DateStr, Data, &
5222 locCount, Outcount, Status )
5227 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5230 END SUBROUTINE wrf_get_dom_td_integer_sca
5233 !--- put_dom_td_integer
5235 SUBROUTINE wrf_put_dom_td_integer_arr ( DataHandle,Element, DateStr, Data, Count, Status )
5239 ! Write Count words of time dependent
5240 ! domain metadata named "Element" valid at time DateStr
5241 ! to the open dataset described by DataHandle.
5242 ! Metadata of type integer are
5243 ! copied from array Data.
5248 USE module_state_description
5250 INTEGER , INTENT(IN) :: DataHandle
5251 CHARACTER*(*) , INTENT(IN) :: Element
5252 CHARACTER*(*) , INTENT(IN) :: DateStr
5257 INTEGER , INTENT(IN) :: Count
5259 INTEGER , INTENT(OUT) :: Status
5261 #include "wrf_status_codes.h"
5262 INTEGER :: len_of_str
5264 INTEGER, EXTERNAL :: use_package
5265 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
5268 INTEGER io_form , Hndl
5270 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_integer_arr " )
5277 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5278 IF ( Hndl .GT. -1 ) THEN
5279 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
5280 SELECT CASE ( use_package( io_form ) )
5283 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5284 CALL ext_ncd_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5287 IF ( .NOT. multi_files(io_form) ) THEN
5296 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5300 CASE ( IO_NETCDFPAR )
5301 CALL ext_ncdpar_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5307 CALL ext_pnc_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5312 CALL ext_phdf5_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5317 CALL ext_esmf_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5322 CALL ext_xxx_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5327 CALL ext_yyy_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5332 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5333 CALL ext_gr1_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5336 IF ( .NOT. multi_files(io_form) ) THEN
5345 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5350 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5351 CALL ext_gr2_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5354 IF ( .NOT. multi_files(io_form) ) THEN
5363 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5368 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5369 CALL ext_int_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5372 IF ( .NOT. multi_files(io_form) ) THEN
5381 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5386 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
5387 CALL wrf_quilt_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5393 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5396 END SUBROUTINE wrf_put_dom_td_integer_arr
5397 !--- put_dom_td_integer
5399 SUBROUTINE wrf_put_dom_td_integer_sca ( DataHandle,Element, DateStr, Data, Count, Status )
5403 ! Write time dependent
5404 ! domain metadata named "Element" valid at time DateStr
5405 ! to the open dataset described by DataHandle.
5406 ! Metadata of type integer are
5407 ! copied from scalar Data.
5412 USE module_state_description
5414 INTEGER , INTENT(IN) :: DataHandle
5415 CHARACTER*(*) , INTENT(IN) :: Element
5416 CHARACTER*(*) , INTENT(IN) :: DateStr
5421 INTEGER , INTENT(IN) :: Count
5423 INTEGER , INTENT(OUT) :: Status
5425 #include "wrf_status_codes.h"
5426 INTEGER :: len_of_str
5428 INTEGER, EXTERNAL :: use_package
5429 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
5432 INTEGER io_form , Hndl
5434 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_integer_sca " )
5441 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5442 IF ( Hndl .GT. -1 ) THEN
5443 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
5444 SELECT CASE ( use_package( io_form ) )
5447 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5448 CALL ext_ncd_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5451 IF ( .NOT. multi_files(io_form) ) THEN
5460 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5464 CASE ( IO_NETCDFPAR )
5465 CALL ext_ncdpar_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5471 CALL ext_pnc_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5476 CALL ext_phdf5_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5481 CALL ext_esmf_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5486 CALL ext_xxx_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5491 CALL ext_yyy_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5496 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5497 CALL ext_gr1_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5500 IF ( .NOT. multi_files(io_form) ) THEN
5509 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5514 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5515 CALL ext_gr2_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5518 IF ( .NOT. multi_files(io_form) ) THEN
5527 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5532 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5533 CALL ext_int_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5536 IF ( .NOT. multi_files(io_form) ) THEN
5545 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5550 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
5551 CALL wrf_quilt_put_dom_td_integer ( Hndl, Element, DateStr, Data, &
5557 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5560 END SUBROUTINE wrf_put_dom_td_integer_sca
5563 !--- get_dom_td_logical
5565 SUBROUTINE wrf_get_dom_td_logical_arr ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
5569 ! Attempt to read Count words of time dependent
5570 ! domain metadata named "Element" valid at time DateStr
5571 ! from the open dataset described by DataHandle.
5572 ! Metadata of type logical are
5573 ! stored in array Data.
5574 ! Actual number of words read is returned in OutCount.
5578 USE module_state_description
5580 INTEGER , INTENT(IN) :: DataHandle
5581 CHARACTER*(*) , INTENT(IN) :: Element
5582 CHARACTER*(*) , INTENT(IN) :: DateStr
5587 INTEGER , INTENT(IN) :: Count
5588 INTEGER , INTENT(OUT) :: OutCount
5589 INTEGER , INTENT(OUT) :: Status
5591 #include "wrf_status_codes.h"
5592 INTEGER :: len_of_str
5594 INTEGER, EXTERNAL :: use_package
5595 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
5598 INTEGER io_form , Hndl
5600 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_logical_arr " )
5607 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5608 IF ( Hndl .GT. -1 ) THEN
5609 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
5610 SELECT CASE ( use_package( io_form ) )
5613 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5614 CALL ext_ncd_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5615 locCount, Outcount, Status )
5617 IF ( .NOT. multi_files(io_form) ) THEN
5622 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5623 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5626 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5630 CASE ( IO_NETCDFPAR )
5631 CALL ext_ncdpar_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5632 locCount, Outcount, Status )
5637 CALL ext_pnc_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5638 locCount, Outcount, Status )
5642 CALL ext_phdf5_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5643 locCount, Outcount, Status )
5647 CALL ext_esmf_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5648 locCount, Outcount, Status )
5652 CALL ext_xxx_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5653 locCount, Outcount, Status )
5657 CALL ext_yyy_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5658 locCount, Outcount, Status )
5662 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5663 CALL ext_gr1_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5664 locCount, Outcount, Status )
5666 IF ( .NOT. multi_files(io_form) ) THEN
5671 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5672 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5675 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5680 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5681 CALL ext_gr2_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5682 locCount, Outcount, Status )
5684 IF ( .NOT. multi_files(io_form) ) THEN
5689 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5690 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5693 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5698 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5699 CALL ext_int_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5700 locCount, Outcount, Status )
5702 IF ( .NOT. multi_files(io_form) ) THEN
5707 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5708 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5711 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5716 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
5717 CALL wrf_quilt_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5718 locCount, Outcount, Status )
5723 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5726 END SUBROUTINE wrf_get_dom_td_logical_arr
5727 !--- get_dom_td_logical
5729 SUBROUTINE wrf_get_dom_td_logical_sca ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
5733 ! Attempt to read time dependent
5734 ! domain metadata named "Element" valid at time DateStr
5735 ! from the open dataset described by DataHandle.
5736 ! Metadata of type logical are
5737 ! stored in scalar Data.
5742 USE module_state_description
5744 INTEGER , INTENT(IN) :: DataHandle
5745 CHARACTER*(*) , INTENT(IN) :: Element
5746 CHARACTER*(*) , INTENT(IN) :: DateStr
5751 INTEGER , INTENT(IN) :: Count
5752 INTEGER , INTENT(OUT) :: OutCount
5753 INTEGER , INTENT(OUT) :: Status
5755 #include "wrf_status_codes.h"
5756 INTEGER :: len_of_str
5758 INTEGER, EXTERNAL :: use_package
5759 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
5762 INTEGER io_form , Hndl
5764 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_logical_sca " )
5771 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5772 IF ( Hndl .GT. -1 ) THEN
5773 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
5774 SELECT CASE ( use_package( io_form ) )
5777 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5778 CALL ext_ncd_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5779 locCount, Outcount, Status )
5781 IF ( .NOT. multi_files(io_form) ) THEN
5786 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5787 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5790 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5794 CASE ( IO_NETCDFPAR )
5795 CALL ext_ncdpar_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5796 locCount, Outcount, Status )
5801 CALL ext_pnc_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5802 locCount, Outcount, Status )
5806 CALL ext_phdf5_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5807 locCount, Outcount, Status )
5811 CALL ext_esmf_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5812 locCount, Outcount, Status )
5816 CALL ext_xxx_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5817 locCount, Outcount, Status )
5821 CALL ext_yyy_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5822 locCount, Outcount, Status )
5826 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5827 CALL ext_gr1_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5828 locCount, Outcount, Status )
5830 IF ( .NOT. multi_files(io_form) ) THEN
5835 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5836 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5839 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5844 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5845 CALL ext_gr2_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5846 locCount, Outcount, Status )
5848 IF ( .NOT. multi_files(io_form) ) THEN
5853 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5854 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5857 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5862 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5863 CALL ext_int_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5864 locCount, Outcount, Status )
5866 IF ( .NOT. multi_files(io_form) ) THEN
5871 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
5872 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
5875 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5880 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
5881 CALL wrf_quilt_get_dom_td_logical ( Hndl, Element, DateStr, Data, &
5882 locCount, Outcount, Status )
5887 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
5890 END SUBROUTINE wrf_get_dom_td_logical_sca
5893 !--- put_dom_td_logical
5895 SUBROUTINE wrf_put_dom_td_logical_arr ( DataHandle,Element, DateStr, Data, Count, Status )
5899 ! Write Count words of time dependent
5900 ! domain metadata named "Element" valid at time DateStr
5901 ! to the open dataset described by DataHandle.
5902 ! Metadata of type logical are
5903 ! copied from array Data.
5908 USE module_state_description
5910 INTEGER , INTENT(IN) :: DataHandle
5911 CHARACTER*(*) , INTENT(IN) :: Element
5912 CHARACTER*(*) , INTENT(IN) :: DateStr
5917 INTEGER , INTENT(IN) :: Count
5919 INTEGER , INTENT(OUT) :: Status
5921 #include "wrf_status_codes.h"
5922 INTEGER :: len_of_str
5924 INTEGER, EXTERNAL :: use_package
5925 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
5928 INTEGER io_form , Hndl
5930 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_logical_arr " )
5937 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
5938 IF ( Hndl .GT. -1 ) THEN
5939 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
5940 SELECT CASE ( use_package( io_form ) )
5943 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5944 CALL ext_ncd_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5947 IF ( .NOT. multi_files(io_form) ) THEN
5956 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
5960 CASE ( IO_NETCDFPAR )
5961 CALL ext_ncdpar_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5967 CALL ext_pnc_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5972 CALL ext_phdf5_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5977 CALL ext_esmf_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5982 CALL ext_xxx_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5987 CALL ext_yyy_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5992 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
5993 CALL ext_gr1_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
5996 IF ( .NOT. multi_files(io_form) ) THEN
6005 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6010 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6011 CALL ext_gr2_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6014 IF ( .NOT. multi_files(io_form) ) THEN
6023 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6028 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6029 CALL ext_int_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6032 IF ( .NOT. multi_files(io_form) ) THEN
6041 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6046 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
6047 CALL wrf_quilt_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6053 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6056 END SUBROUTINE wrf_put_dom_td_logical_arr
6057 !--- put_dom_td_logical
6059 SUBROUTINE wrf_put_dom_td_logical_sca ( DataHandle,Element, DateStr, Data, Count, Status )
6063 ! Write time dependent
6064 ! domain metadata named "Element" valid at time DateStr
6065 ! to the open dataset described by DataHandle.
6066 ! Metadata of type logical are
6067 ! copied from scalar Data.
6072 USE module_state_description
6074 INTEGER , INTENT(IN) :: DataHandle
6075 CHARACTER*(*) , INTENT(IN) :: Element
6076 CHARACTER*(*) , INTENT(IN) :: DateStr
6081 INTEGER , INTENT(IN) :: Count
6083 INTEGER , INTENT(OUT) :: Status
6085 #include "wrf_status_codes.h"
6086 INTEGER :: len_of_str
6088 INTEGER, EXTERNAL :: use_package
6089 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
6092 INTEGER io_form , Hndl
6094 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_logical_sca " )
6101 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6102 IF ( Hndl .GT. -1 ) THEN
6103 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
6104 SELECT CASE ( use_package( io_form ) )
6107 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6108 CALL ext_ncd_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6111 IF ( .NOT. multi_files(io_form) ) THEN
6120 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6124 CASE ( IO_NETCDFPAR )
6125 CALL ext_ncdpar_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6131 CALL ext_pnc_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6136 CALL ext_phdf5_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6141 CALL ext_esmf_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6146 CALL ext_xxx_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6151 CALL ext_yyy_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6156 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6157 CALL ext_gr1_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6160 IF ( .NOT. multi_files(io_form) ) THEN
6169 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6174 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6175 CALL ext_gr2_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6178 IF ( .NOT. multi_files(io_form) ) THEN
6187 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6192 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6193 CALL ext_int_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6196 IF ( .NOT. multi_files(io_form) ) THEN
6205 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6210 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
6211 CALL wrf_quilt_put_dom_td_logical ( Hndl, Element, DateStr, Data, &
6217 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6220 END SUBROUTINE wrf_put_dom_td_logical_sca
6223 !--- get_dom_td_char
6225 SUBROUTINE wrf_get_dom_td_char_arr ( DataHandle,Element, DateStr, Data, Status )
6229 ! Attempt to read time dependent
6230 ! domain metadata named "Element" valid at time DateStr
6231 ! from the open dataset described by DataHandle.
6232 ! Metadata of type char are
6233 ! stored in string Data.
6238 USE module_state_description
6240 INTEGER , INTENT(IN) :: DataHandle
6241 CHARACTER*(*) , INTENT(IN) :: Element
6242 CHARACTER*(*) , INTENT(IN) :: DateStr
6245 CHARACTER*(*) :: Data
6249 INTEGER , INTENT(OUT) :: Status
6251 #include "wrf_status_codes.h"
6252 INTEGER :: len_of_str
6254 INTEGER, EXTERNAL :: use_package
6255 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
6258 INTEGER io_form , Hndl
6260 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_dom_td_char_arr " )
6267 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6268 IF ( Hndl .GT. -1 ) THEN
6269 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
6270 SELECT CASE ( use_package( io_form ) )
6273 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6274 CALL ext_ncd_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6277 IF ( .NOT. multi_files(io_form) ) THEN
6284 len_of_str = LEN(Data)
6285 CALL wrf_dm_bcast_string( Data, len_of_str )
6286 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6290 CASE ( IO_NETCDFPAR )
6291 CALL ext_ncdpar_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6297 CALL ext_pnc_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6302 CALL ext_phdf5_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6307 CALL ext_esmf_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6312 CALL ext_xxx_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6317 CALL ext_yyy_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6322 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6323 CALL ext_gr1_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6326 IF ( .NOT. multi_files(io_form) ) THEN
6333 len_of_str = LEN(Data)
6334 CALL wrf_dm_bcast_string( Data, len_of_str )
6335 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6340 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6341 CALL ext_gr2_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6344 IF ( .NOT. multi_files(io_form) ) THEN
6351 len_of_str = LEN(Data)
6352 CALL wrf_dm_bcast_string( Data, len_of_str )
6353 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6358 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6359 CALL ext_int_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6362 IF ( .NOT. multi_files(io_form) ) THEN
6369 len_of_str = LEN(Data)
6370 CALL wrf_dm_bcast_string( Data, len_of_str )
6371 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6376 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
6377 CALL wrf_quilt_get_dom_td_char ( Hndl, Element, DateStr, Data, &
6383 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6386 END SUBROUTINE wrf_get_dom_td_char_arr
6389 !--- put_dom_td_char
6391 SUBROUTINE wrf_put_dom_td_char_arr ( DataHandle,Element, DateStr, Data, Status )
6395 ! Write time dependent
6396 ! domain metadata named "Element" valid at time DateStr
6397 ! to the open dataset described by DataHandle.
6398 ! Metadata of type char are
6399 ! copied from string Data.
6404 USE module_state_description
6406 INTEGER , INTENT(IN) :: DataHandle
6407 CHARACTER*(*) , INTENT(IN) :: Element
6408 CHARACTER*(*) , INTENT(IN) :: DateStr
6411 CHARACTER*(*) :: Data
6415 INTEGER , INTENT(OUT) :: Status
6417 #include "wrf_status_codes.h"
6418 INTEGER :: len_of_str
6420 INTEGER, EXTERNAL :: use_package
6421 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
6424 INTEGER io_form , Hndl
6426 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_dom_td_char_arr " )
6433 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6434 IF ( Hndl .GT. -1 ) THEN
6435 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
6436 SELECT CASE ( use_package( io_form ) )
6439 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6440 CALL ext_ncd_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6443 IF ( .NOT. multi_files(io_form) ) THEN
6452 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6456 CASE ( IO_NETCDFPAR )
6457 CALL ext_ncdpar_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6463 CALL ext_pnc_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6468 CALL ext_phdf5_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6473 CALL ext_esmf_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6478 CALL ext_xxx_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6483 CALL ext_yyy_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6488 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6489 CALL ext_gr1_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6492 IF ( .NOT. multi_files(io_form) ) THEN
6501 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6506 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6507 CALL ext_gr2_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6510 IF ( .NOT. multi_files(io_form) ) THEN
6519 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6524 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6525 CALL ext_int_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6528 IF ( .NOT. multi_files(io_form) ) THEN
6537 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6542 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
6543 CALL wrf_quilt_put_dom_td_char ( Hndl, Element, DateStr, Data, &
6549 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6552 END SUBROUTINE wrf_put_dom_td_char_arr
6556 !--- get_var_ti_real
6558 SUBROUTINE wrf_get_var_ti_real_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
6562 ! Attempt to read Count words of time independent
6563 ! attribute "Element" of variable "Varname"
6564 ! from the open dataset described by DataHandle.
6565 ! Attribute of type real is
6566 ! stored in array Data.
6567 ! Actual number of words read is returned in OutCount.
6571 USE module_state_description
6573 INTEGER , INTENT(IN) :: DataHandle
6574 CHARACTER*(*) , INTENT(IN) :: Element
6576 CHARACTER*(*) , INTENT(IN) :: VarName
6580 INTEGER , INTENT(IN) :: Count
6581 INTEGER , INTENT(OUT) :: OutCount
6582 INTEGER , INTENT(OUT) :: Status
6584 #include "wrf_status_codes.h"
6585 INTEGER :: len_of_str
6587 INTEGER, EXTERNAL :: use_package
6588 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
6591 INTEGER io_form , Hndl
6593 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_real_arr " )
6600 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6601 IF ( Hndl .GT. -1 ) THEN
6602 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
6603 SELECT CASE ( use_package( io_form ) )
6606 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6607 # if ( RWORDSIZE == DWORDSIZE )
6608 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
6609 locCount, Outcount, Status )
6611 CALL ext_ncd_get_var_ti_real ( Hndl, Element, Varname, Data, &
6612 locCount, Outcount, Status )
6615 IF ( .NOT. multi_files(io_form) ) THEN
6618 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6619 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6624 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6628 CASE ( IO_NETCDFPAR )
6629 # if ( RWORDSIZE == DWORDSIZE )
6630 CALL ext_ncdpar_get_var_ti_double ( Hndl, Element, Varname, Data, &
6631 locCount, Outcount, Status )
6633 CALL ext_ncdpar_get_var_ti_real ( Hndl, Element, Varname, Data, &
6634 locCount, Outcount, Status )
6640 # if ( RWORDSIZE == DWORDSIZE )
6641 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
6642 locCount, Outcount, Status )
6644 CALL ext_pnc_get_var_ti_real ( Hndl, Element, Varname, Data, &
6645 locCount, Outcount, Status )
6650 # if ( RWORDSIZE == DWORDSIZE )
6651 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
6652 locCount, Outcount, Status )
6654 CALL ext_phdf5_get_var_ti_real ( Hndl, Element, Varname, Data, &
6655 locCount, Outcount, Status )
6660 # if ( RWORDSIZE == DWORDSIZE )
6661 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
6662 locCount, Outcount, Status )
6664 CALL ext_esmf_get_var_ti_real ( Hndl, Element, Varname, Data, &
6665 locCount, Outcount, Status )
6670 # if ( RWORDSIZE == DWORDSIZE )
6671 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
6672 locCount, Outcount, Status )
6674 CALL ext_xxx_get_var_ti_real ( Hndl, Element, Varname, Data, &
6675 locCount, Outcount, Status )
6680 # if ( RWORDSIZE == DWORDSIZE )
6681 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
6682 locCount, Outcount, Status )
6684 CALL ext_yyy_get_var_ti_real ( Hndl, Element, Varname, Data, &
6685 locCount, Outcount, Status )
6690 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6691 # if ( RWORDSIZE == DWORDSIZE )
6692 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
6693 locCount, Outcount, Status )
6695 CALL ext_gr1_get_var_ti_real ( Hndl, Element, Varname, Data, &
6696 locCount, Outcount, Status )
6699 IF ( .NOT. multi_files(io_form) ) THEN
6702 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6703 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6708 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6713 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6714 # if ( RWORDSIZE == DWORDSIZE )
6715 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
6716 locCount, Outcount, Status )
6718 CALL ext_gr2_get_var_ti_real ( Hndl, Element, Varname, Data, &
6719 locCount, Outcount, Status )
6722 IF ( .NOT. multi_files(io_form) ) THEN
6725 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6726 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6731 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6736 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6737 # if ( RWORDSIZE == DWORDSIZE )
6738 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
6739 locCount, Outcount, Status )
6741 CALL ext_int_get_var_ti_real ( Hndl, Element, Varname, Data, &
6742 locCount, Outcount, Status )
6745 IF ( .NOT. multi_files(io_form) ) THEN
6748 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6749 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6754 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6759 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
6760 CALL wrf_quilt_get_var_ti_real ( Hndl, Element, Varname, Data, &
6761 locCount, Outcount, Status )
6766 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6769 END SUBROUTINE wrf_get_var_ti_real_arr
6770 !--- get_var_ti_real
6772 SUBROUTINE wrf_get_var_ti_real_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
6776 ! Attempt to read time independent
6777 ! attribute "Element" of variable "Varname"
6778 ! from the open dataset described by DataHandle.
6779 ! Attribute of type real is
6780 ! stored in scalar Data.
6785 USE module_state_description
6787 INTEGER , INTENT(IN) :: DataHandle
6788 CHARACTER*(*) , INTENT(IN) :: Element
6790 CHARACTER*(*) , INTENT(IN) :: VarName
6794 INTEGER , INTENT(IN) :: Count
6795 INTEGER , INTENT(OUT) :: OutCount
6796 INTEGER , INTENT(OUT) :: Status
6798 #include "wrf_status_codes.h"
6799 INTEGER :: len_of_str
6801 INTEGER, EXTERNAL :: use_package
6802 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
6805 INTEGER io_form , Hndl
6807 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_real_sca " )
6814 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
6815 IF ( Hndl .GT. -1 ) THEN
6816 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
6817 SELECT CASE ( use_package( io_form ) )
6820 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6821 # if ( RWORDSIZE == DWORDSIZE )
6822 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
6823 locCount, Outcount, Status )
6825 CALL ext_ncd_get_var_ti_real ( Hndl, Element, Varname, Data, &
6826 locCount, Outcount, Status )
6829 IF ( .NOT. multi_files(io_form) ) THEN
6832 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6833 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6838 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6842 CASE ( IO_NETCDFPAR )
6843 # if ( RWORDSIZE == DWORDSIZE )
6844 CALL ext_ncdpar_get_var_ti_double ( Hndl, Element, Varname, Data, &
6845 locCount, Outcount, Status )
6847 CALL ext_ncdpar_get_var_ti_real ( Hndl, Element, Varname, Data, &
6848 locCount, Outcount, Status )
6854 # if ( RWORDSIZE == DWORDSIZE )
6855 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
6856 locCount, Outcount, Status )
6858 CALL ext_pnc_get_var_ti_real ( Hndl, Element, Varname, Data, &
6859 locCount, Outcount, Status )
6864 # if ( RWORDSIZE == DWORDSIZE )
6865 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
6866 locCount, Outcount, Status )
6868 CALL ext_pnc_get_var_ti_real ( Hndl, Element, Varname, Data, &
6869 locCount, Outcount, Status )
6874 # if ( RWORDSIZE == DWORDSIZE )
6875 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
6876 locCount, Outcount, Status )
6878 CALL ext_phdf5_get_var_ti_real ( Hndl, Element, Varname, Data, &
6879 locCount, Outcount, Status )
6884 # if ( RWORDSIZE == DWORDSIZE )
6885 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
6886 locCount, Outcount, Status )
6888 CALL ext_esmf_get_var_ti_real ( Hndl, Element, Varname, Data, &
6889 locCount, Outcount, Status )
6894 # if ( RWORDSIZE == DWORDSIZE )
6895 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
6896 locCount, Outcount, Status )
6898 CALL ext_xxx_get_var_ti_real ( Hndl, Element, Varname, Data, &
6899 locCount, Outcount, Status )
6904 # if ( RWORDSIZE == DWORDSIZE )
6905 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
6906 locCount, Outcount, Status )
6908 CALL ext_yyy_get_var_ti_real ( Hndl, Element, Varname, Data, &
6909 locCount, Outcount, Status )
6914 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6915 # if ( RWORDSIZE == DWORDSIZE )
6916 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
6917 locCount, Outcount, Status )
6919 CALL ext_gr1_get_var_ti_real ( Hndl, Element, Varname, Data, &
6920 locCount, Outcount, Status )
6923 IF ( .NOT. multi_files(io_form) ) THEN
6926 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6927 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6932 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6937 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6938 # if ( RWORDSIZE == DWORDSIZE )
6939 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
6940 locCount, Outcount, Status )
6942 CALL ext_gr2_get_var_ti_real ( Hndl, Element, Varname, Data, &
6943 locCount, Outcount, Status )
6946 IF ( .NOT. multi_files(io_form) ) THEN
6949 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6950 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6955 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6960 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
6961 # if ( RWORDSIZE == DWORDSIZE )
6962 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
6963 locCount, Outcount, Status )
6965 CALL ext_int_get_var_ti_real ( Hndl, Element, Varname, Data, &
6966 locCount, Outcount, Status )
6969 IF ( .NOT. multi_files(io_form) ) THEN
6972 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
6973 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
6978 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
6983 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
6984 CALL wrf_quilt_get_var_ti_real ( Hndl, Element, Varname, Data, &
6985 locCount, Outcount, Status )
6990 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
6993 END SUBROUTINE wrf_get_var_ti_real_sca
6996 !--- put_var_ti_real
6998 SUBROUTINE wrf_put_var_ti_real_arr ( DataHandle,Element, Varname, Data, Count, Status )
7002 ! Write Count words of time independent
7003 ! attribute "Element" of variable "Varname"
7004 ! to the open dataset described by DataHandle.
7005 ! Attribute of type real is
7006 ! copied from array Data.
7011 USE module_state_description
7013 INTEGER , INTENT(IN) :: DataHandle
7014 CHARACTER*(*) , INTENT(IN) :: Element
7016 CHARACTER*(*) , INTENT(IN) :: VarName
7020 INTEGER , INTENT(IN) :: Count
7022 INTEGER , INTENT(OUT) :: Status
7024 #include "wrf_status_codes.h"
7025 INTEGER :: len_of_str
7027 INTEGER, EXTERNAL :: use_package
7028 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
7031 INTEGER io_form , Hndl
7033 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_real_arr " )
7040 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7041 IF ( Hndl .GT. -1 ) THEN
7042 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
7043 SELECT CASE ( use_package( io_form ) )
7046 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7047 # if ( RWORDSIZE == DWORDSIZE )
7048 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
7051 CALL ext_ncd_put_var_ti_real ( Hndl, Element, Varname, Data, &
7055 IF ( .NOT. multi_files(io_form) ) THEN
7064 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7068 CASE ( IO_NETCDFPAR )
7069 # if ( RWORDSIZE == DWORDSIZE )
7070 CALL ext_ncdpar_put_var_ti_double ( Hndl, Element, Varname, Data, &
7073 CALL ext_ncdpar_put_var_ti_real ( Hndl, Element, Varname, Data, &
7080 # if ( RWORDSIZE == DWORDSIZE )
7081 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
7084 CALL ext_pnc_put_var_ti_real ( Hndl, Element, Varname, Data, &
7090 # if ( RWORDSIZE == DWORDSIZE )
7091 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
7094 CALL ext_phdf5_put_var_ti_real ( Hndl, Element, Varname, Data, &
7100 # if ( RWORDSIZE == DWORDSIZE )
7101 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
7104 CALL ext_esmf_put_var_ti_real ( Hndl, Element, Varname, Data, &
7110 # if ( RWORDSIZE == DWORDSIZE )
7111 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
7114 CALL ext_xxx_put_var_ti_real ( Hndl, Element, Varname, Data, &
7120 # if ( RWORDSIZE == DWORDSIZE )
7121 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
7124 CALL ext_yyy_put_var_ti_real ( Hndl, Element, Varname, Data, &
7130 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7131 # if ( RWORDSIZE == DWORDSIZE )
7132 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
7135 CALL ext_gr1_put_var_ti_real ( Hndl, Element, Varname, Data, &
7139 IF ( .NOT. multi_files(io_form) ) THEN
7148 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7153 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7154 # if ( RWORDSIZE == DWORDSIZE )
7155 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
7158 CALL ext_gr2_put_var_ti_real ( Hndl, Element, Varname, Data, &
7162 IF ( .NOT. multi_files(io_form) ) THEN
7171 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7176 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7177 # if ( RWORDSIZE == DWORDSIZE )
7178 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
7181 CALL ext_int_put_var_ti_real ( Hndl, Element, Varname, Data, &
7185 IF ( .NOT. multi_files(io_form) ) THEN
7194 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7199 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
7200 CALL wrf_quilt_put_var_ti_real ( Hndl, Element, Varname, Data, &
7206 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7209 END SUBROUTINE wrf_put_var_ti_real_arr
7210 !--- put_var_ti_real
7212 SUBROUTINE wrf_put_var_ti_real_sca ( DataHandle,Element, Varname, Data, Count, Status )
7216 ! Write time independent
7217 ! attribute "Element" of variable "Varname"
7218 ! to the open dataset described by DataHandle.
7219 ! Attribute of type real is
7220 ! copied from scalar Data.
7225 USE module_state_description
7227 INTEGER , INTENT(IN) :: DataHandle
7228 CHARACTER*(*) , INTENT(IN) :: Element
7230 CHARACTER*(*) , INTENT(IN) :: VarName
7234 INTEGER , INTENT(IN) :: Count
7236 INTEGER , INTENT(OUT) :: Status
7238 #include "wrf_status_codes.h"
7239 INTEGER :: len_of_str
7241 INTEGER, EXTERNAL :: use_package
7242 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
7245 INTEGER io_form , Hndl
7247 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_real_sca " )
7254 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7255 IF ( Hndl .GT. -1 ) THEN
7256 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
7257 SELECT CASE ( use_package( io_form ) )
7260 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7261 # if ( RWORDSIZE == DWORDSIZE )
7262 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
7265 CALL ext_ncd_put_var_ti_real ( Hndl, Element, Varname, Data, &
7269 IF ( .NOT. multi_files(io_form) ) THEN
7278 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7282 CASE ( IO_NETCDFPAR )
7283 # if ( RWORDSIZE == DWORDSIZE )
7284 CALL ext_ncdpar_put_var_ti_double ( Hndl, Element, Varname, Data, &
7287 CALL ext_ncdpar_put_var_ti_real ( Hndl, Element, Varname, Data, &
7294 # if ( RWORDSIZE == DWORDSIZE )
7295 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
7298 CALL ext_pnc_put_var_ti_real ( Hndl, Element, Varname, Data, &
7304 # if ( RWORDSIZE == DWORDSIZE )
7305 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
7308 CALL ext_phdf5_put_var_ti_real ( Hndl, Element, Varname, Data, &
7314 # if ( RWORDSIZE == DWORDSIZE )
7315 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
7318 CALL ext_esmf_put_var_ti_real ( Hndl, Element, Varname, Data, &
7324 # if ( RWORDSIZE == DWORDSIZE )
7325 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
7328 CALL ext_xxx_put_var_ti_real ( Hndl, Element, Varname, Data, &
7334 # if ( RWORDSIZE == DWORDSIZE )
7335 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
7338 CALL ext_yyy_put_var_ti_real ( Hndl, Element, Varname, Data, &
7344 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7345 # if ( RWORDSIZE == DWORDSIZE )
7346 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
7349 CALL ext_gr1_put_var_ti_real ( Hndl, Element, Varname, Data, &
7353 IF ( .NOT. multi_files(io_form) ) THEN
7362 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7367 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7368 # if ( RWORDSIZE == DWORDSIZE )
7369 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
7372 CALL ext_gr2_put_var_ti_real ( Hndl, Element, Varname, Data, &
7376 IF ( .NOT. multi_files(io_form) ) THEN
7385 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7390 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7391 # if ( RWORDSIZE == DWORDSIZE )
7392 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
7395 CALL ext_int_put_var_ti_real ( Hndl, Element, Varname, Data, &
7399 IF ( .NOT. multi_files(io_form) ) THEN
7408 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7413 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
7414 CALL wrf_quilt_put_var_ti_real ( Hndl, Element, Varname, Data, &
7420 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7423 END SUBROUTINE wrf_put_var_ti_real_sca
7426 !--- get_var_ti_double
7428 SUBROUTINE wrf_get_var_ti_double_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
7432 ! Attempt to read Count words of time independent
7433 ! attribute "Element" of variable "Varname"
7434 ! from the open dataset described by DataHandle.
7435 ! Attribute of type double is
7436 ! stored in array Data.
7437 ! Actual number of words read is returned in OutCount.
7441 USE module_state_description
7443 INTEGER , INTENT(IN) :: DataHandle
7444 CHARACTER*(*) , INTENT(IN) :: Element
7446 CHARACTER*(*) , INTENT(IN) :: VarName
7450 INTEGER , INTENT(IN) :: Count
7451 INTEGER , INTENT(OUT) :: OutCount
7452 INTEGER , INTENT(OUT) :: Status
7454 #include "wrf_status_codes.h"
7455 INTEGER :: len_of_str
7457 INTEGER, EXTERNAL :: use_package
7458 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
7461 INTEGER io_form , Hndl
7463 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_double_arr " )
7470 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7471 IF ( Hndl .GT. -1 ) THEN
7472 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
7473 SELECT CASE ( use_package( io_form ) )
7476 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7477 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
7478 locCount, Outcount, Status )
7480 IF ( .NOT. multi_files(io_form) ) THEN
7489 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7493 CASE ( IO_NETCDFPAR )
7494 CALL ext_ncdpar_get_var_ti_double ( Hndl, Element, Varname, Data, &
7495 locCount, Outcount, Status )
7500 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
7501 locCount, Outcount, Status )
7505 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
7506 locCount, Outcount, Status )
7510 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
7511 locCount, Outcount, Status )
7515 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
7516 locCount, Outcount, Status )
7520 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
7521 locCount, Outcount, Status )
7525 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7526 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
7527 locCount, Outcount, Status )
7529 IF ( .NOT. multi_files(io_form) ) THEN
7538 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7543 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7544 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
7545 locCount, Outcount, Status )
7547 IF ( .NOT. multi_files(io_form) ) THEN
7556 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7561 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7562 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
7563 locCount, Outcount, Status )
7565 IF ( .NOT. multi_files(io_form) ) THEN
7574 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7579 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
7580 CALL wrf_quilt_get_var_ti_double ( Hndl, Element, Varname, Data, &
7581 locCount, Outcount, Status )
7586 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7589 END SUBROUTINE wrf_get_var_ti_double_arr
7590 !--- get_var_ti_double
7592 SUBROUTINE wrf_get_var_ti_double_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
7596 ! Attempt to read time independent
7597 ! attribute "Element" of variable "Varname"
7598 ! from the open dataset described by DataHandle.
7599 ! Attribute of type double is
7600 ! stored in scalar Data.
7605 USE module_state_description
7607 INTEGER , INTENT(IN) :: DataHandle
7608 CHARACTER*(*) , INTENT(IN) :: Element
7610 CHARACTER*(*) , INTENT(IN) :: VarName
7614 INTEGER , INTENT(IN) :: Count
7615 INTEGER , INTENT(OUT) :: OutCount
7616 INTEGER , INTENT(OUT) :: Status
7618 #include "wrf_status_codes.h"
7619 INTEGER :: len_of_str
7621 INTEGER, EXTERNAL :: use_package
7622 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
7625 INTEGER io_form , Hndl
7627 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_double_sca " )
7634 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7635 IF ( Hndl .GT. -1 ) THEN
7636 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
7637 SELECT CASE ( use_package( io_form ) )
7640 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7641 CALL ext_ncd_get_var_ti_double ( Hndl, Element, Varname, Data, &
7642 locCount, Outcount, Status )
7644 IF ( .NOT. multi_files(io_form) ) THEN
7653 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7657 CASE ( IO_NETCDFPAR )
7658 CALL ext_ncdpar_get_var_ti_double ( Hndl, Element, Varname, Data, &
7659 locCount, Outcount, Status )
7664 CALL ext_pnc_get_var_ti_double ( Hndl, Element, Varname, Data, &
7665 locCount, Outcount, Status )
7669 CALL ext_phdf5_get_var_ti_double ( Hndl, Element, Varname, Data, &
7670 locCount, Outcount, Status )
7674 CALL ext_esmf_get_var_ti_double ( Hndl, Element, Varname, Data, &
7675 locCount, Outcount, Status )
7679 CALL ext_xxx_get_var_ti_double ( Hndl, Element, Varname, Data, &
7680 locCount, Outcount, Status )
7684 CALL ext_yyy_get_var_ti_double ( Hndl, Element, Varname, Data, &
7685 locCount, Outcount, Status )
7689 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7690 CALL ext_gr1_get_var_ti_double ( Hndl, Element, Varname, Data, &
7691 locCount, Outcount, Status )
7693 IF ( .NOT. multi_files(io_form) ) THEN
7702 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7707 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7708 CALL ext_gr2_get_var_ti_double ( Hndl, Element, Varname, Data, &
7709 locCount, Outcount, Status )
7711 IF ( .NOT. multi_files(io_form) ) THEN
7720 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7725 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7726 CALL ext_int_get_var_ti_double ( Hndl, Element, Varname, Data, &
7727 locCount, Outcount, Status )
7729 IF ( .NOT. multi_files(io_form) ) THEN
7738 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7743 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
7744 CALL wrf_quilt_get_var_ti_double ( Hndl, Element, Varname, Data, &
7745 locCount, Outcount, Status )
7750 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7753 END SUBROUTINE wrf_get_var_ti_double_sca
7756 !--- put_var_ti_double
7758 SUBROUTINE wrf_put_var_ti_double_arr ( DataHandle,Element, Varname, Data, Count, Status )
7762 ! Write Count words of time independent
7763 ! attribute "Element" of variable "Varname"
7764 ! to the open dataset described by DataHandle.
7765 ! Attribute of type double is
7766 ! copied from array Data.
7771 USE module_state_description
7773 INTEGER , INTENT(IN) :: DataHandle
7774 CHARACTER*(*) , INTENT(IN) :: Element
7776 CHARACTER*(*) , INTENT(IN) :: VarName
7780 INTEGER , INTENT(IN) :: Count
7782 INTEGER , INTENT(OUT) :: Status
7784 #include "wrf_status_codes.h"
7785 INTEGER :: len_of_str
7787 INTEGER, EXTERNAL :: use_package
7788 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
7791 INTEGER io_form , Hndl
7793 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_double_arr " )
7800 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7801 IF ( Hndl .GT. -1 ) THEN
7802 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
7803 SELECT CASE ( use_package( io_form ) )
7806 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7807 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
7810 IF ( .NOT. multi_files(io_form) ) THEN
7819 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7823 CASE ( IO_NETCDFPAR )
7824 CALL ext_ncdpar_put_var_ti_double ( Hndl, Element, Varname, Data, &
7830 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
7835 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
7840 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
7845 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
7850 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
7855 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7856 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
7859 IF ( .NOT. multi_files(io_form) ) THEN
7868 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7873 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7874 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
7877 IF ( .NOT. multi_files(io_form) ) THEN
7886 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7891 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7892 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
7895 IF ( .NOT. multi_files(io_form) ) THEN
7904 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7909 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
7910 CALL wrf_quilt_put_var_ti_double ( Hndl, Element, Varname, Data, &
7916 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
7919 END SUBROUTINE wrf_put_var_ti_double_arr
7920 !--- put_var_ti_double
7922 SUBROUTINE wrf_put_var_ti_double_sca ( DataHandle,Element, Varname, Data, Count, Status )
7926 ! Write time independent
7927 ! attribute "Element" of variable "Varname"
7928 ! to the open dataset described by DataHandle.
7929 ! Attribute of type double is
7930 ! copied from scalar Data.
7935 USE module_state_description
7937 INTEGER , INTENT(IN) :: DataHandle
7938 CHARACTER*(*) , INTENT(IN) :: Element
7940 CHARACTER*(*) , INTENT(IN) :: VarName
7944 INTEGER , INTENT(IN) :: Count
7946 INTEGER , INTENT(OUT) :: Status
7948 #include "wrf_status_codes.h"
7949 INTEGER :: len_of_str
7951 INTEGER, EXTERNAL :: use_package
7952 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
7955 INTEGER io_form , Hndl
7957 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_double_sca " )
7964 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
7965 IF ( Hndl .GT. -1 ) THEN
7966 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
7967 SELECT CASE ( use_package( io_form ) )
7970 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
7971 CALL ext_ncd_put_var_ti_double ( Hndl, Element, Varname, Data, &
7974 IF ( .NOT. multi_files(io_form) ) THEN
7983 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
7987 CASE ( IO_NETCDFPAR )
7988 CALL ext_ncdpar_put_var_ti_double ( Hndl, Element, Varname, Data, &
7994 CALL ext_pnc_put_var_ti_double ( Hndl, Element, Varname, Data, &
7999 CALL ext_phdf5_put_var_ti_double ( Hndl, Element, Varname, Data, &
8004 CALL ext_esmf_put_var_ti_double ( Hndl, Element, Varname, Data, &
8009 CALL ext_xxx_put_var_ti_double ( Hndl, Element, Varname, Data, &
8014 CALL ext_yyy_put_var_ti_double ( Hndl, Element, Varname, Data, &
8019 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8020 CALL ext_gr1_put_var_ti_double ( Hndl, Element, Varname, Data, &
8023 IF ( .NOT. multi_files(io_form) ) THEN
8032 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8037 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8038 CALL ext_gr2_put_var_ti_double ( Hndl, Element, Varname, Data, &
8041 IF ( .NOT. multi_files(io_form) ) THEN
8050 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8055 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8056 CALL ext_int_put_var_ti_double ( Hndl, Element, Varname, Data, &
8059 IF ( .NOT. multi_files(io_form) ) THEN
8068 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8073 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
8074 CALL wrf_quilt_put_var_ti_double ( Hndl, Element, Varname, Data, &
8080 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8083 END SUBROUTINE wrf_put_var_ti_double_sca
8086 !--- get_var_ti_integer
8088 SUBROUTINE wrf_get_var_ti_integer_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
8092 ! Attempt to read Count words of time independent
8093 ! attribute "Element" of variable "Varname"
8094 ! from the open dataset described by DataHandle.
8095 ! Attribute of type integer is
8096 ! stored in array Data.
8097 ! Actual number of words read is returned in OutCount.
8101 USE module_state_description
8103 INTEGER , INTENT(IN) :: DataHandle
8104 CHARACTER*(*) , INTENT(IN) :: Element
8106 CHARACTER*(*) , INTENT(IN) :: VarName
8110 INTEGER , INTENT(IN) :: Count
8111 INTEGER , INTENT(OUT) :: OutCount
8112 INTEGER , INTENT(OUT) :: Status
8114 #include "wrf_status_codes.h"
8115 INTEGER :: len_of_str
8117 INTEGER, EXTERNAL :: use_package
8118 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
8121 INTEGER io_form , Hndl
8123 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_integer_arr " )
8130 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8131 IF ( Hndl .GT. -1 ) THEN
8132 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
8133 SELECT CASE ( use_package( io_form ) )
8136 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8137 CALL ext_ncd_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8138 locCount, Outcount, Status )
8140 IF ( .NOT. multi_files(io_form) ) THEN
8141 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8142 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8149 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8153 CASE ( IO_NETCDFPAR )
8154 CALL ext_ncdpar_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8155 locCount, Outcount, Status )
8160 CALL ext_pnc_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8161 locCount, Outcount, Status )
8165 CALL ext_phdf5_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8166 locCount, Outcount, Status )
8170 CALL ext_esmf_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8171 locCount, Outcount, Status )
8175 CALL ext_xxx_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8176 locCount, Outcount, Status )
8180 CALL ext_yyy_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8181 locCount, Outcount, Status )
8185 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8186 CALL ext_gr1_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8187 locCount, Outcount, Status )
8189 IF ( .NOT. multi_files(io_form) ) THEN
8190 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8191 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8198 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8203 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8204 CALL ext_gr2_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8205 locCount, Outcount, Status )
8207 IF ( .NOT. multi_files(io_form) ) THEN
8208 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8209 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8216 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8221 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8222 CALL ext_int_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8223 locCount, Outcount, Status )
8225 IF ( .NOT. multi_files(io_form) ) THEN
8226 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8227 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8234 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8239 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
8240 CALL wrf_quilt_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8241 locCount, Outcount, Status )
8246 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8249 END SUBROUTINE wrf_get_var_ti_integer_arr
8250 !--- get_var_ti_integer
8252 SUBROUTINE wrf_get_var_ti_integer_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
8256 ! Attempt to read time independent
8257 ! attribute "Element" of variable "Varname"
8258 ! from the open dataset described by DataHandle.
8259 ! Attribute of type integer is
8260 ! stored in scalar Data.
8265 USE module_state_description
8267 INTEGER , INTENT(IN) :: DataHandle
8268 CHARACTER*(*) , INTENT(IN) :: Element
8270 CHARACTER*(*) , INTENT(IN) :: VarName
8274 INTEGER , INTENT(IN) :: Count
8275 INTEGER , INTENT(OUT) :: OutCount
8276 INTEGER , INTENT(OUT) :: Status
8278 #include "wrf_status_codes.h"
8279 INTEGER :: len_of_str
8281 INTEGER, EXTERNAL :: use_package
8282 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
8285 INTEGER io_form , Hndl
8287 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_integer_sca " )
8294 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8295 IF ( Hndl .GT. -1 ) THEN
8296 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
8297 SELECT CASE ( use_package( io_form ) )
8300 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8301 CALL ext_ncd_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8302 locCount, Outcount, Status )
8304 IF ( .NOT. multi_files(io_form) ) THEN
8305 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8306 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8313 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8317 CASE ( IO_NETCDFPAR )
8318 CALL ext_ncdpar_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8319 locCount, Outcount, Status )
8324 CALL ext_pnc_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8325 locCount, Outcount, Status )
8329 CALL ext_phdf5_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8330 locCount, Outcount, Status )
8334 CALL ext_esmf_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8335 locCount, Outcount, Status )
8339 CALL ext_xxx_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8340 locCount, Outcount, Status )
8344 CALL ext_yyy_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8345 locCount, Outcount, Status )
8349 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8350 CALL ext_gr1_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8351 locCount, Outcount, Status )
8353 IF ( .NOT. multi_files(io_form) ) THEN
8354 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8355 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8362 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8367 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8368 CALL ext_gr2_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8369 locCount, Outcount, Status )
8371 IF ( .NOT. multi_files(io_form) ) THEN
8372 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8373 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8380 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8385 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8386 CALL ext_int_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8387 locCount, Outcount, Status )
8389 IF ( .NOT. multi_files(io_form) ) THEN
8390 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8391 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
8398 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8403 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
8404 CALL wrf_quilt_get_var_ti_integer ( Hndl, Element, Varname, Data, &
8405 locCount, Outcount, Status )
8410 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8413 END SUBROUTINE wrf_get_var_ti_integer_sca
8416 !--- put_var_ti_integer
8418 SUBROUTINE wrf_put_var_ti_integer_arr ( DataHandle,Element, Varname, Data, Count, Status )
8422 ! Write Count words of time independent
8423 ! attribute "Element" of variable "Varname"
8424 ! to the open dataset described by DataHandle.
8425 ! Attribute of type integer is
8426 ! copied from array Data.
8431 USE module_state_description
8433 INTEGER , INTENT(IN) :: DataHandle
8434 CHARACTER*(*) , INTENT(IN) :: Element
8436 CHARACTER*(*) , INTENT(IN) :: VarName
8440 INTEGER , INTENT(IN) :: Count
8442 INTEGER , INTENT(OUT) :: Status
8444 #include "wrf_status_codes.h"
8445 INTEGER :: len_of_str
8447 INTEGER, EXTERNAL :: use_package
8448 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
8451 INTEGER io_form , Hndl
8453 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_integer_arr " )
8460 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8461 IF ( Hndl .GT. -1 ) THEN
8462 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
8463 SELECT CASE ( use_package( io_form ) )
8466 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8467 CALL ext_ncd_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8470 IF ( .NOT. multi_files(io_form) ) THEN
8479 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8483 CASE ( IO_NETCDFPAR )
8484 CALL ext_ncdpar_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8490 CALL ext_pnc_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8495 CALL ext_phdf5_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8500 CALL ext_esmf_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8505 CALL ext_xxx_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8510 CALL ext_yyy_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8515 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8516 CALL ext_gr1_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8519 IF ( .NOT. multi_files(io_form) ) THEN
8528 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8533 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8534 CALL ext_gr2_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8537 IF ( .NOT. multi_files(io_form) ) THEN
8546 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8551 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8552 CALL ext_int_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8555 IF ( .NOT. multi_files(io_form) ) THEN
8564 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8569 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
8570 CALL wrf_quilt_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8576 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8579 END SUBROUTINE wrf_put_var_ti_integer_arr
8580 !--- put_var_ti_integer
8582 SUBROUTINE wrf_put_var_ti_integer_sca ( DataHandle,Element, Varname, Data, Count, Status )
8586 ! Write time independent
8587 ! attribute "Element" of variable "Varname"
8588 ! to the open dataset described by DataHandle.
8589 ! Attribute of type integer is
8590 ! copied from scalar Data.
8595 USE module_state_description
8597 INTEGER , INTENT(IN) :: DataHandle
8598 CHARACTER*(*) , INTENT(IN) :: Element
8600 CHARACTER*(*) , INTENT(IN) :: VarName
8604 INTEGER , INTENT(IN) :: Count
8606 INTEGER , INTENT(OUT) :: Status
8608 #include "wrf_status_codes.h"
8609 INTEGER :: len_of_str
8611 INTEGER, EXTERNAL :: use_package
8612 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
8615 INTEGER io_form , Hndl
8617 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_integer_sca " )
8624 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8625 IF ( Hndl .GT. -1 ) THEN
8626 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
8627 SELECT CASE ( use_package( io_form ) )
8630 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8631 CALL ext_ncd_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8634 IF ( .NOT. multi_files(io_form) ) THEN
8643 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8647 CASE ( IO_NETCDFPAR )
8648 CALL ext_ncdpar_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8654 CALL ext_pnc_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8659 CALL ext_phdf5_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8664 CALL ext_esmf_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8669 CALL ext_xxx_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8674 CALL ext_yyy_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8679 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8680 CALL ext_gr1_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8683 IF ( .NOT. multi_files(io_form) ) THEN
8692 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8697 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8698 CALL ext_gr2_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8701 IF ( .NOT. multi_files(io_form) ) THEN
8710 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8715 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8716 CALL ext_int_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8719 IF ( .NOT. multi_files(io_form) ) THEN
8728 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8733 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
8734 CALL wrf_quilt_put_var_ti_integer ( Hndl, Element, Varname, Data, &
8740 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8743 END SUBROUTINE wrf_put_var_ti_integer_sca
8746 !--- get_var_ti_logical
8748 SUBROUTINE wrf_get_var_ti_logical_arr ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
8752 ! Attempt to read Count words of time independent
8753 ! attribute "Element" of variable "Varname"
8754 ! from the open dataset described by DataHandle.
8755 ! Attribute of type logical is
8756 ! stored in array Data.
8757 ! Actual number of words read is returned in OutCount.
8761 USE module_state_description
8763 INTEGER , INTENT(IN) :: DataHandle
8764 CHARACTER*(*) , INTENT(IN) :: Element
8766 CHARACTER*(*) , INTENT(IN) :: VarName
8770 INTEGER , INTENT(IN) :: Count
8771 INTEGER , INTENT(OUT) :: OutCount
8772 INTEGER , INTENT(OUT) :: Status
8774 #include "wrf_status_codes.h"
8775 INTEGER :: len_of_str
8777 INTEGER, EXTERNAL :: use_package
8778 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
8781 INTEGER io_form , Hndl
8783 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_logical_arr " )
8790 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8791 IF ( Hndl .GT. -1 ) THEN
8792 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
8793 SELECT CASE ( use_package( io_form ) )
8796 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8797 CALL ext_ncd_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8798 locCount, Outcount, Status )
8800 IF ( .NOT. multi_files(io_form) ) THEN
8805 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8806 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8809 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8813 CASE ( IO_NETCDFPAR )
8814 CALL ext_ncdpar_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8815 locCount, Outcount, Status )
8820 CALL ext_pnc_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8821 locCount, Outcount, Status )
8825 CALL ext_phdf5_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8826 locCount, Outcount, Status )
8830 CALL ext_esmf_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8831 locCount, Outcount, Status )
8835 CALL ext_xxx_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8836 locCount, Outcount, Status )
8840 CALL ext_yyy_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8841 locCount, Outcount, Status )
8845 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8846 CALL ext_gr1_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8847 locCount, Outcount, Status )
8849 IF ( .NOT. multi_files(io_form) ) THEN
8854 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8855 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8858 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8863 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8864 CALL ext_gr2_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8865 locCount, Outcount, Status )
8867 IF ( .NOT. multi_files(io_form) ) THEN
8872 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8873 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8876 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8881 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8882 CALL ext_int_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8883 locCount, Outcount, Status )
8885 IF ( .NOT. multi_files(io_form) ) THEN
8890 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8891 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8894 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8899 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
8900 CALL wrf_quilt_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8901 locCount, Outcount, Status )
8906 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
8909 END SUBROUTINE wrf_get_var_ti_logical_arr
8910 !--- get_var_ti_logical
8912 SUBROUTINE wrf_get_var_ti_logical_sca ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
8916 ! Attempt to read time independent
8917 ! attribute "Element" of variable "Varname"
8918 ! from the open dataset described by DataHandle.
8919 ! Attribute of type logical is
8920 ! stored in scalar Data.
8925 USE module_state_description
8927 INTEGER , INTENT(IN) :: DataHandle
8928 CHARACTER*(*) , INTENT(IN) :: Element
8930 CHARACTER*(*) , INTENT(IN) :: VarName
8934 INTEGER , INTENT(IN) :: Count
8935 INTEGER , INTENT(OUT) :: OutCount
8936 INTEGER , INTENT(OUT) :: Status
8938 #include "wrf_status_codes.h"
8939 INTEGER :: len_of_str
8941 INTEGER, EXTERNAL :: use_package
8942 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
8945 INTEGER io_form , Hndl
8947 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_logical_sca " )
8954 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
8955 IF ( Hndl .GT. -1 ) THEN
8956 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
8957 SELECT CASE ( use_package( io_form ) )
8960 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
8961 CALL ext_ncd_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8962 locCount, Outcount, Status )
8964 IF ( .NOT. multi_files(io_form) ) THEN
8969 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
8970 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
8973 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
8977 CASE ( IO_NETCDFPAR )
8978 CALL ext_ncdpar_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8979 locCount, Outcount, Status )
8984 CALL ext_pnc_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8985 locCount, Outcount, Status )
8989 CALL ext_phdf5_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8990 locCount, Outcount, Status )
8994 CALL ext_esmf_get_var_ti_logical ( Hndl, Element, Varname, Data, &
8995 locCount, Outcount, Status )
8999 CALL ext_xxx_get_var_ti_logical ( Hndl, Element, Varname, Data, &
9000 locCount, Outcount, Status )
9004 CALL ext_yyy_get_var_ti_logical ( Hndl, Element, Varname, Data, &
9005 locCount, Outcount, Status )
9009 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9010 CALL ext_gr1_get_var_ti_logical ( Hndl, Element, Varname, Data, &
9011 locCount, Outcount, Status )
9013 IF ( .NOT. multi_files(io_form) ) THEN
9018 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9019 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
9022 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9027 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9028 CALL ext_gr2_get_var_ti_logical ( Hndl, Element, Varname, Data, &
9029 locCount, Outcount, Status )
9031 IF ( .NOT. multi_files(io_form) ) THEN
9036 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9037 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
9040 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9045 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9046 CALL ext_int_get_var_ti_logical ( Hndl, Element, Varname, Data, &
9047 locCount, Outcount, Status )
9049 IF ( .NOT. multi_files(io_form) ) THEN
9054 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9055 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
9058 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9063 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
9064 CALL wrf_quilt_get_var_ti_logical ( Hndl, Element, Varname, Data, &
9065 locCount, Outcount, Status )
9070 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9073 END SUBROUTINE wrf_get_var_ti_logical_sca
9076 !--- put_var_ti_logical
9078 SUBROUTINE wrf_put_var_ti_logical_arr ( DataHandle,Element, Varname, Data, Count, Status )
9082 ! Write Count words of time independent
9083 ! attribute "Element" of variable "Varname"
9084 ! to the open dataset described by DataHandle.
9085 ! Attribute of type logical is
9086 ! copied from array Data.
9091 USE module_state_description
9093 INTEGER , INTENT(IN) :: DataHandle
9094 CHARACTER*(*) , INTENT(IN) :: Element
9096 CHARACTER*(*) , INTENT(IN) :: VarName
9100 INTEGER , INTENT(IN) :: Count
9102 INTEGER , INTENT(OUT) :: Status
9104 #include "wrf_status_codes.h"
9105 INTEGER :: len_of_str
9107 INTEGER, EXTERNAL :: use_package
9108 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
9111 INTEGER io_form , Hndl
9113 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_logical_arr " )
9120 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9121 IF ( Hndl .GT. -1 ) THEN
9122 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
9123 SELECT CASE ( use_package( io_form ) )
9126 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9127 CALL ext_ncd_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9130 IF ( .NOT. multi_files(io_form) ) THEN
9139 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9143 CASE ( IO_NETCDFPAR )
9144 CALL ext_ncdpar_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9150 CALL ext_pnc_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9155 CALL ext_phdf5_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9160 CALL ext_esmf_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9165 CALL ext_xxx_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9170 CALL ext_yyy_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9175 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9176 CALL ext_gr1_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9179 IF ( .NOT. multi_files(io_form) ) THEN
9188 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9193 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9194 CALL ext_gr2_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9197 IF ( .NOT. multi_files(io_form) ) THEN
9206 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9211 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9212 CALL ext_int_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9215 IF ( .NOT. multi_files(io_form) ) THEN
9224 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9229 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
9230 CALL wrf_quilt_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9236 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9239 END SUBROUTINE wrf_put_var_ti_logical_arr
9240 !--- put_var_ti_logical
9242 SUBROUTINE wrf_put_var_ti_logical_sca ( DataHandle,Element, Varname, Data, Count, Status )
9246 ! Write time independent
9247 ! attribute "Element" of variable "Varname"
9248 ! to the open dataset described by DataHandle.
9249 ! Attribute of type logical is
9250 ! copied from scalar Data.
9255 USE module_state_description
9257 INTEGER , INTENT(IN) :: DataHandle
9258 CHARACTER*(*) , INTENT(IN) :: Element
9260 CHARACTER*(*) , INTENT(IN) :: VarName
9264 INTEGER , INTENT(IN) :: Count
9266 INTEGER , INTENT(OUT) :: Status
9268 #include "wrf_status_codes.h"
9269 INTEGER :: len_of_str
9271 INTEGER, EXTERNAL :: use_package
9272 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
9275 INTEGER io_form , Hndl
9277 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_logical_sca " )
9284 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9285 IF ( Hndl .GT. -1 ) THEN
9286 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
9287 SELECT CASE ( use_package( io_form ) )
9290 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9291 CALL ext_ncd_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9294 IF ( .NOT. multi_files(io_form) ) THEN
9303 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9307 CASE ( IO_NETCDFPAR )
9308 CALL ext_ncdpar_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9314 CALL ext_pnc_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9319 CALL ext_phdf5_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9324 CALL ext_esmf_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9329 CALL ext_xxx_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9334 CALL ext_yyy_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9339 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9340 CALL ext_gr1_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9343 IF ( .NOT. multi_files(io_form) ) THEN
9352 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9357 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9358 CALL ext_gr2_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9361 IF ( .NOT. multi_files(io_form) ) THEN
9370 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9375 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9376 CALL ext_int_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9379 IF ( .NOT. multi_files(io_form) ) THEN
9388 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9393 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
9394 CALL wrf_quilt_put_var_ti_logical ( Hndl, Element, Varname, Data, &
9400 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9403 END SUBROUTINE wrf_put_var_ti_logical_sca
9406 !--- get_var_ti_char
9408 SUBROUTINE wrf_get_var_ti_char_arr ( DataHandle,Element, Varname, Data, Status )
9412 ! Attempt to read time independent
9413 ! attribute "Element" of variable "Varname"
9414 ! from the open dataset described by DataHandle.
9415 ! Attribute of type char is
9416 ! stored in string Data.
9421 USE module_state_description
9423 INTEGER , INTENT(IN) :: DataHandle
9424 CHARACTER*(*) , INTENT(IN) :: Element
9426 CHARACTER*(*) , INTENT(IN) :: VarName
9428 CHARACTER*(*) :: Data
9432 INTEGER , INTENT(OUT) :: Status
9434 #include "wrf_status_codes.h"
9435 INTEGER :: len_of_str
9437 INTEGER, EXTERNAL :: use_package
9438 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
9441 INTEGER io_form , Hndl
9443 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_ti_char_arr " )
9450 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9451 IF ( Hndl .GT. -1 ) THEN
9452 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
9453 SELECT CASE ( use_package( io_form ) )
9456 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9457 CALL ext_ncd_get_var_ti_char ( Hndl, Element, Varname, Data, &
9460 IF ( .NOT. multi_files(io_form) ) THEN
9467 len_of_str = LEN(Data)
9468 CALL wrf_dm_bcast_string( Data, len_of_str )
9469 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9473 CASE ( IO_NETCDFPAR )
9474 CALL ext_ncdpar_get_var_ti_char ( Hndl, Element, Varname, Data, &
9480 CALL ext_pnc_get_var_ti_char ( Hndl, Element, Varname, Data, &
9485 CALL ext_phdf5_get_var_ti_char ( Hndl, Element, Varname, Data, &
9490 CALL ext_esmf_get_var_ti_char ( Hndl, Element, Varname, Data, &
9495 CALL ext_xxx_get_var_ti_char ( Hndl, Element, Varname, Data, &
9500 CALL ext_yyy_get_var_ti_char ( Hndl, Element, Varname, Data, &
9505 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9506 CALL ext_gr1_get_var_ti_char ( Hndl, Element, Varname, Data, &
9509 IF ( .NOT. multi_files(io_form) ) THEN
9516 len_of_str = LEN(Data)
9517 CALL wrf_dm_bcast_string( Data, len_of_str )
9518 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9523 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9524 CALL ext_gr2_get_var_ti_char ( Hndl, Element, Varname, Data, &
9527 IF ( .NOT. multi_files(io_form) ) THEN
9534 len_of_str = LEN(Data)
9535 CALL wrf_dm_bcast_string( Data, len_of_str )
9536 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9541 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9542 CALL ext_int_get_var_ti_char ( Hndl, Element, Varname, Data, &
9545 IF ( .NOT. multi_files(io_form) ) THEN
9552 len_of_str = LEN(Data)
9553 CALL wrf_dm_bcast_string( Data, len_of_str )
9554 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9559 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
9560 CALL wrf_quilt_get_var_ti_char ( Hndl, Element, Varname, Data, &
9566 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9569 END SUBROUTINE wrf_get_var_ti_char_arr
9572 !--- put_var_ti_char
9574 SUBROUTINE wrf_put_var_ti_char_arr ( DataHandle,Element, Varname, Data, Status )
9578 ! Write time independent
9579 ! attribute "Element" of variable "Varname"
9580 ! to the open dataset described by DataHandle.
9581 ! Attribute of type char is
9582 ! copied from string Data.
9587 USE module_state_description
9589 INTEGER , INTENT(IN) :: DataHandle
9590 CHARACTER*(*) , INTENT(IN) :: Element
9592 CHARACTER*(*) , INTENT(IN) :: VarName
9594 CHARACTER*(*) :: Data
9598 INTEGER , INTENT(OUT) :: Status
9600 #include "wrf_status_codes.h"
9601 INTEGER :: len_of_str
9603 INTEGER, EXTERNAL :: use_package
9604 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
9607 INTEGER io_form , Hndl
9609 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_ti_char_arr " )
9616 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9617 IF ( Hndl .GT. -1 ) THEN
9618 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
9619 SELECT CASE ( use_package( io_form ) )
9622 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9623 CALL ext_ncd_put_var_ti_char ( Hndl, Element, Varname, Data, &
9626 IF ( .NOT. multi_files(io_form) ) THEN
9635 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9639 CASE ( IO_NETCDFPAR )
9640 CALL ext_ncdpar_put_var_ti_char ( Hndl, Element, Varname, Data, &
9646 CALL ext_pnc_put_var_ti_char ( Hndl, Element, Varname, Data, &
9651 CALL ext_phdf5_put_var_ti_char ( Hndl, Element, Varname, Data, &
9656 CALL ext_esmf_put_var_ti_char ( Hndl, Element, Varname, Data, &
9661 CALL ext_xxx_put_var_ti_char ( Hndl, Element, Varname, Data, &
9666 CALL ext_yyy_put_var_ti_char ( Hndl, Element, Varname, Data, &
9671 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9672 CALL ext_gr1_put_var_ti_char ( Hndl, Element, Varname, Data, &
9675 IF ( .NOT. multi_files(io_form) ) THEN
9684 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9689 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9690 CALL ext_gr2_put_var_ti_char ( Hndl, Element, Varname, Data, &
9693 IF ( .NOT. multi_files(io_form) ) THEN
9702 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9707 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9708 CALL ext_int_put_var_ti_char ( Hndl, Element, Varname, Data, &
9711 IF ( .NOT. multi_files(io_form) ) THEN
9720 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9725 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
9726 CALL wrf_quilt_put_var_ti_char ( Hndl, Element, Varname, Data, &
9732 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9735 END SUBROUTINE wrf_put_var_ti_char_arr
9739 !--- get_var_td_real
9741 SUBROUTINE wrf_get_var_td_real_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
9745 ! Attempt to read Count words of time dependent
9746 ! attribute "Element" of variable "Varname" valid at time DateStr
9747 ! from the open dataset described by DataHandle.
9748 ! Attribute of type real is
9749 ! stored in array Data.
9750 ! Actual number of words read is returned in OutCount.
9754 USE module_state_description
9756 INTEGER , INTENT(IN) :: DataHandle
9757 CHARACTER*(*) , INTENT(IN) :: Element
9758 CHARACTER*(*) , INTENT(IN) :: DateStr
9759 CHARACTER*(*) , INTENT(IN) :: VarName
9763 INTEGER , INTENT(IN) :: Count
9764 INTEGER , INTENT(OUT) :: OutCount
9765 INTEGER , INTENT(OUT) :: Status
9767 #include "wrf_status_codes.h"
9768 INTEGER :: len_of_str
9770 INTEGER, EXTERNAL :: use_package
9771 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
9774 INTEGER io_form , Hndl
9776 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_real_arr " )
9783 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9784 IF ( Hndl .GT. -1 ) THEN
9785 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
9786 SELECT CASE ( use_package( io_form ) )
9789 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9790 # if ( RWORDSIZE == DWORDSIZE )
9791 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9792 locCount, Outcount, Status )
9794 CALL ext_ncd_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9795 locCount, Outcount, Status )
9798 IF ( .NOT. multi_files(io_form) ) THEN
9801 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9802 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9807 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9811 CASE ( IO_NETCDFPAR )
9812 # if ( RWORDSIZE == DWORDSIZE )
9813 CALL ext_ncdpar_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9814 locCount, Outcount, Status )
9816 CALL ext_ncdpar_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9817 locCount, Outcount, Status )
9823 # if ( RWORDSIZE == DWORDSIZE )
9824 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9825 locCount, Outcount, Status )
9827 CALL ext_pnc_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9828 locCount, Outcount, Status )
9833 # if ( RWORDSIZE == DWORDSIZE )
9834 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9835 locCount, Outcount, Status )
9837 CALL ext_phdf5_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9838 locCount, Outcount, Status )
9843 # if ( RWORDSIZE == DWORDSIZE )
9844 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9845 locCount, Outcount, Status )
9847 CALL ext_esmf_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9848 locCount, Outcount, Status )
9853 # if ( RWORDSIZE == DWORDSIZE )
9854 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9855 locCount, Outcount, Status )
9857 CALL ext_xxx_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9858 locCount, Outcount, Status )
9863 # if ( RWORDSIZE == DWORDSIZE )
9864 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9865 locCount, Outcount, Status )
9867 CALL ext_yyy_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9868 locCount, Outcount, Status )
9873 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9874 # if ( RWORDSIZE == DWORDSIZE )
9875 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9876 locCount, Outcount, Status )
9878 CALL ext_gr1_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9879 locCount, Outcount, Status )
9882 IF ( .NOT. multi_files(io_form) ) THEN
9885 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9886 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9891 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9896 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9897 # if ( RWORDSIZE == DWORDSIZE )
9898 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9899 locCount, Outcount, Status )
9901 CALL ext_gr2_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9902 locCount, Outcount, Status )
9905 IF ( .NOT. multi_files(io_form) ) THEN
9908 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9909 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9914 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9919 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
9920 # if ( RWORDSIZE == DWORDSIZE )
9921 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
9922 locCount, Outcount, Status )
9924 CALL ext_int_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9925 locCount, Outcount, Status )
9928 IF ( .NOT. multi_files(io_form) ) THEN
9931 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
9932 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
9937 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
9942 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
9943 CALL wrf_quilt_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
9944 locCount, Outcount, Status )
9949 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
9952 END SUBROUTINE wrf_get_var_td_real_arr
9953 !--- get_var_td_real
9955 SUBROUTINE wrf_get_var_td_real_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
9959 ! Attempt to read time dependent
9960 ! attribute "Element" of variable "Varname" valid at time DateStr
9961 ! from the open dataset described by DataHandle.
9962 ! Attribute of type real is
9963 ! stored in scalar Data.
9968 USE module_state_description
9970 INTEGER , INTENT(IN) :: DataHandle
9971 CHARACTER*(*) , INTENT(IN) :: Element
9972 CHARACTER*(*) , INTENT(IN) :: DateStr
9973 CHARACTER*(*) , INTENT(IN) :: VarName
9977 INTEGER , INTENT(IN) :: Count
9978 INTEGER , INTENT(OUT) :: OutCount
9979 INTEGER , INTENT(OUT) :: Status
9981 #include "wrf_status_codes.h"
9982 INTEGER :: len_of_str
9984 INTEGER, EXTERNAL :: use_package
9985 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
9988 INTEGER io_form , Hndl
9990 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_real_sca " )
9997 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
9998 IF ( Hndl .GT. -1 ) THEN
9999 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
10000 SELECT CASE ( use_package( io_form ) )
10003 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10004 # if ( RWORDSIZE == DWORDSIZE )
10005 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10006 locCount, Outcount, Status )
10008 CALL ext_ncd_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10009 locCount, Outcount, Status )
10012 IF ( .NOT. multi_files(io_form) ) THEN
10015 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10016 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
10021 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10025 CASE ( IO_NETCDFPAR )
10026 # if ( RWORDSIZE == DWORDSIZE )
10027 CALL ext_ncdpar_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10028 locCount, Outcount, Status )
10030 CALL ext_ncdpar_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10031 locCount, Outcount, Status )
10036 CASE ( IO_PNETCDF )
10037 # if ( RWORDSIZE == DWORDSIZE )
10038 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10039 locCount, Outcount, Status )
10041 CALL ext_pnc_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10042 locCount, Outcount, Status )
10047 # if ( RWORDSIZE == DWORDSIZE )
10048 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10049 locCount, Outcount, Status )
10051 CALL ext_phdf5_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10052 locCount, Outcount, Status )
10057 # if ( RWORDSIZE == DWORDSIZE )
10058 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10059 locCount, Outcount, Status )
10061 CALL ext_esmf_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10062 locCount, Outcount, Status )
10067 # if ( RWORDSIZE == DWORDSIZE )
10068 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10069 locCount, Outcount, Status )
10071 CALL ext_xxx_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10072 locCount, Outcount, Status )
10077 # if ( RWORDSIZE == DWORDSIZE )
10078 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10079 locCount, Outcount, Status )
10081 CALL ext_yyy_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10082 locCount, Outcount, Status )
10087 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10088 # if ( RWORDSIZE == DWORDSIZE )
10089 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10090 locCount, Outcount, Status )
10092 CALL ext_gr1_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10093 locCount, Outcount, Status )
10096 IF ( .NOT. multi_files(io_form) ) THEN
10099 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10100 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
10105 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10110 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10111 # if ( RWORDSIZE == DWORDSIZE )
10112 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10113 locCount, Outcount, Status )
10115 CALL ext_gr2_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10116 locCount, Outcount, Status )
10119 IF ( .NOT. multi_files(io_form) ) THEN
10122 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10123 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
10128 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10133 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10134 # if ( RWORDSIZE == DWORDSIZE )
10135 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10136 locCount, Outcount, Status )
10138 CALL ext_int_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10139 locCount, Outcount, Status )
10142 IF ( .NOT. multi_files(io_form) ) THEN
10145 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
10146 CALL wrf_dm_bcast_bytes( Data, RWORDSIZE*locCount )
10151 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10156 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
10157 CALL wrf_quilt_get_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10158 locCount, Outcount, Status )
10163 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10166 END SUBROUTINE wrf_get_var_td_real_sca
10169 !--- put_var_td_real
10171 SUBROUTINE wrf_put_var_td_real_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
10175 ! Write Count words of time dependent
10176 ! attribute "Element" of variable "Varname" valid at time DateStr
10177 ! to the open dataset described by DataHandle.
10178 ! Attribute of type real is
10179 ! copied from array Data.
10184 USE module_state_description
10186 INTEGER , INTENT(IN) :: DataHandle
10187 CHARACTER*(*) , INTENT(IN) :: Element
10188 CHARACTER*(*) , INTENT(IN) :: DateStr
10189 CHARACTER*(*) , INTENT(IN) :: VarName
10193 INTEGER , INTENT(IN) :: Count
10195 INTEGER , INTENT(OUT) :: Status
10197 #include "wrf_status_codes.h"
10198 INTEGER :: len_of_str
10200 INTEGER, EXTERNAL :: use_package
10201 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
10202 INTEGER :: locCount
10204 INTEGER io_form , Hndl
10206 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_real_arr " )
10213 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10214 IF ( Hndl .GT. -1 ) THEN
10215 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
10216 SELECT CASE ( use_package( io_form ) )
10219 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10220 # if ( RWORDSIZE == DWORDSIZE )
10221 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10224 CALL ext_ncd_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10228 IF ( .NOT. multi_files(io_form) ) THEN
10237 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10241 CASE ( IO_NETCDFPAR )
10242 # if ( RWORDSIZE == DWORDSIZE )
10243 CALL ext_ncdpar_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10246 CALL ext_ncdpar_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10252 CASE ( IO_PNETCDF )
10253 # if ( RWORDSIZE == DWORDSIZE )
10254 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10257 CALL ext_pnc_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10263 # if ( RWORDSIZE == DWORDSIZE )
10264 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10267 CALL ext_phdf5_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10273 # if ( RWORDSIZE == DWORDSIZE )
10274 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10277 CALL ext_esmf_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10283 # if ( RWORDSIZE == DWORDSIZE )
10284 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10287 CALL ext_xxx_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10293 # if ( RWORDSIZE == DWORDSIZE )
10294 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10297 CALL ext_yyy_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10303 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10304 # if ( RWORDSIZE == DWORDSIZE )
10305 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10308 CALL ext_gr1_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10312 IF ( .NOT. multi_files(io_form) ) THEN
10321 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10326 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10327 # if ( RWORDSIZE == DWORDSIZE )
10328 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10331 CALL ext_gr2_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10335 IF ( .NOT. multi_files(io_form) ) THEN
10344 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10349 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10350 # if ( RWORDSIZE == DWORDSIZE )
10351 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10354 CALL ext_int_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10358 IF ( .NOT. multi_files(io_form) ) THEN
10367 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10372 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
10373 CALL wrf_quilt_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10379 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10382 END SUBROUTINE wrf_put_var_td_real_arr
10383 !--- put_var_td_real
10385 SUBROUTINE wrf_put_var_td_real_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
10389 ! Write time dependent
10390 ! attribute "Element" of variable "Varname" valid at time DateStr
10391 ! to the open dataset described by DataHandle.
10392 ! Attribute of type real is
10393 ! copied from scalar Data.
10398 USE module_state_description
10400 INTEGER , INTENT(IN) :: DataHandle
10401 CHARACTER*(*) , INTENT(IN) :: Element
10402 CHARACTER*(*) , INTENT(IN) :: DateStr
10403 CHARACTER*(*) , INTENT(IN) :: VarName
10407 INTEGER , INTENT(IN) :: Count
10409 INTEGER , INTENT(OUT) :: Status
10411 #include "wrf_status_codes.h"
10412 INTEGER :: len_of_str
10414 INTEGER, EXTERNAL :: use_package
10415 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
10416 INTEGER :: locCount
10418 INTEGER io_form , Hndl
10420 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_real_sca " )
10427 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10428 IF ( Hndl .GT. -1 ) THEN
10429 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
10430 SELECT CASE ( use_package( io_form ) )
10433 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10434 # if ( RWORDSIZE == DWORDSIZE )
10435 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10438 CALL ext_ncd_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10442 IF ( .NOT. multi_files(io_form) ) THEN
10451 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10455 CASE ( IO_NETCDFPAR )
10456 # if ( RWORDSIZE == DWORDSIZE )
10457 CALL ext_ncdpar_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10460 CALL ext_ncdpar_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10466 CASE ( IO_PNETCDF )
10467 # if ( RWORDSIZE == DWORDSIZE )
10468 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10471 CALL ext_pnc_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10477 # if ( RWORDSIZE == DWORDSIZE )
10478 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10481 CALL ext_phdf5_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10487 # if ( RWORDSIZE == DWORDSIZE )
10488 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10491 CALL ext_esmf_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10497 # if ( RWORDSIZE == DWORDSIZE )
10498 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10501 CALL ext_xxx_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10507 # if ( RWORDSIZE == DWORDSIZE )
10508 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10511 CALL ext_yyy_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10517 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10518 # if ( RWORDSIZE == DWORDSIZE )
10519 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10522 CALL ext_gr1_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10526 IF ( .NOT. multi_files(io_form) ) THEN
10535 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10540 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10541 # if ( RWORDSIZE == DWORDSIZE )
10542 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10545 CALL ext_gr2_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10549 IF ( .NOT. multi_files(io_form) ) THEN
10558 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10563 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10564 # if ( RWORDSIZE == DWORDSIZE )
10565 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10568 CALL ext_int_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10572 IF ( .NOT. multi_files(io_form) ) THEN
10581 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10586 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
10587 CALL wrf_quilt_put_var_td_real ( Hndl, Element, DateStr, Varname, Data, &
10593 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10596 END SUBROUTINE wrf_put_var_td_real_sca
10599 !--- get_var_td_double
10601 SUBROUTINE wrf_get_var_td_double_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
10605 ! Attempt to read Count words of time dependent
10606 ! attribute "Element" of variable "Varname" valid at time DateStr
10607 ! from the open dataset described by DataHandle.
10608 ! Attribute of type double is
10609 ! stored in array Data.
10610 ! Actual number of words read is returned in OutCount.
10614 USE module_state_description
10616 INTEGER , INTENT(IN) :: DataHandle
10617 CHARACTER*(*) , INTENT(IN) :: Element
10618 CHARACTER*(*) , INTENT(IN) :: DateStr
10619 CHARACTER*(*) , INTENT(IN) :: VarName
10623 INTEGER , INTENT(IN) :: Count
10624 INTEGER , INTENT(OUT) :: OutCount
10625 INTEGER , INTENT(OUT) :: Status
10627 #include "wrf_status_codes.h"
10628 INTEGER :: len_of_str
10630 INTEGER, EXTERNAL :: use_package
10631 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
10632 INTEGER :: locCount
10634 INTEGER io_form , Hndl
10636 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_double_arr " )
10643 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10644 IF ( Hndl .GT. -1 ) THEN
10645 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
10646 SELECT CASE ( use_package( io_form ) )
10649 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10650 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10651 locCount, Outcount, Status )
10653 IF ( .NOT. multi_files(io_form) ) THEN
10662 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10666 CASE ( IO_NETCDFPAR )
10667 CALL ext_ncdpar_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10668 locCount, Outcount, Status )
10672 CASE ( IO_PNETCDF )
10673 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10674 locCount, Outcount, Status )
10678 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10679 locCount, Outcount, Status )
10683 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10684 locCount, Outcount, Status )
10688 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10689 locCount, Outcount, Status )
10693 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10694 locCount, Outcount, Status )
10698 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10699 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10700 locCount, Outcount, Status )
10702 IF ( .NOT. multi_files(io_form) ) THEN
10711 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10716 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10717 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10718 locCount, Outcount, Status )
10720 IF ( .NOT. multi_files(io_form) ) THEN
10729 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10734 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10735 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10736 locCount, Outcount, Status )
10738 IF ( .NOT. multi_files(io_form) ) THEN
10747 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10752 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
10753 CALL wrf_quilt_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10754 locCount, Outcount, Status )
10759 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10762 END SUBROUTINE wrf_get_var_td_double_arr
10763 !--- get_var_td_double
10765 SUBROUTINE wrf_get_var_td_double_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
10769 ! Attempt to read time dependent
10770 ! attribute "Element" of variable "Varname" valid at time DateStr
10771 ! from the open dataset described by DataHandle.
10772 ! Attribute of type double is
10773 ! stored in scalar Data.
10778 USE module_state_description
10780 INTEGER , INTENT(IN) :: DataHandle
10781 CHARACTER*(*) , INTENT(IN) :: Element
10782 CHARACTER*(*) , INTENT(IN) :: DateStr
10783 CHARACTER*(*) , INTENT(IN) :: VarName
10787 INTEGER , INTENT(IN) :: Count
10788 INTEGER , INTENT(OUT) :: OutCount
10789 INTEGER , INTENT(OUT) :: Status
10791 #include "wrf_status_codes.h"
10792 INTEGER :: len_of_str
10794 INTEGER, EXTERNAL :: use_package
10795 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
10796 INTEGER :: locCount
10798 INTEGER io_form , Hndl
10800 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_double_sca " )
10807 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10808 IF ( Hndl .GT. -1 ) THEN
10809 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
10810 SELECT CASE ( use_package( io_form ) )
10813 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10814 CALL ext_ncd_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10815 locCount, Outcount, Status )
10817 IF ( .NOT. multi_files(io_form) ) THEN
10826 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10830 CASE ( IO_NETCDFPAR )
10831 CALL ext_ncdpar_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10832 locCount, Outcount, Status )
10836 CASE ( IO_PNETCDF )
10837 CALL ext_pnc_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10838 locCount, Outcount, Status )
10842 CALL ext_phdf5_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10843 locCount, Outcount, Status )
10847 CALL ext_esmf_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10848 locCount, Outcount, Status )
10852 CALL ext_xxx_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10853 locCount, Outcount, Status )
10857 CALL ext_yyy_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10858 locCount, Outcount, Status )
10862 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10863 CALL ext_gr1_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10864 locCount, Outcount, Status )
10866 IF ( .NOT. multi_files(io_form) ) THEN
10875 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10880 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10881 CALL ext_gr2_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10882 locCount, Outcount, Status )
10884 IF ( .NOT. multi_files(io_form) ) THEN
10893 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10898 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10899 CALL ext_int_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10900 locCount, Outcount, Status )
10902 IF ( .NOT. multi_files(io_form) ) THEN
10911 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10916 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
10917 CALL wrf_quilt_get_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10918 locCount, Outcount, Status )
10923 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
10926 END SUBROUTINE wrf_get_var_td_double_sca
10929 !--- put_var_td_double
10931 SUBROUTINE wrf_put_var_td_double_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
10935 ! Write Count words of time dependent
10936 ! attribute "Element" of variable "Varname" valid at time DateStr
10937 ! to the open dataset described by DataHandle.
10938 ! Attribute of type double is
10939 ! copied from array Data.
10944 USE module_state_description
10946 INTEGER , INTENT(IN) :: DataHandle
10947 CHARACTER*(*) , INTENT(IN) :: Element
10948 CHARACTER*(*) , INTENT(IN) :: DateStr
10949 CHARACTER*(*) , INTENT(IN) :: VarName
10953 INTEGER , INTENT(IN) :: Count
10955 INTEGER , INTENT(OUT) :: Status
10957 #include "wrf_status_codes.h"
10958 INTEGER :: len_of_str
10960 INTEGER, EXTERNAL :: use_package
10961 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
10962 INTEGER :: locCount
10964 INTEGER io_form , Hndl
10966 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_double_arr " )
10973 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
10974 IF ( Hndl .GT. -1 ) THEN
10975 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
10976 SELECT CASE ( use_package( io_form ) )
10979 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
10980 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
10983 IF ( .NOT. multi_files(io_form) ) THEN
10992 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
10996 CASE ( IO_NETCDFPAR )
10997 CALL ext_ncdpar_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11002 CASE ( IO_PNETCDF )
11003 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11008 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11013 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11018 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11023 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11028 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11029 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11032 IF ( .NOT. multi_files(io_form) ) THEN
11041 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11046 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11047 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11050 IF ( .NOT. multi_files(io_form) ) THEN
11059 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11064 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11065 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11068 IF ( .NOT. multi_files(io_form) ) THEN
11077 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11082 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
11083 CALL wrf_quilt_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11089 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11092 END SUBROUTINE wrf_put_var_td_double_arr
11093 !--- put_var_td_double
11095 SUBROUTINE wrf_put_var_td_double_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11099 ! Write time dependent
11100 ! attribute "Element" of variable "Varname" valid at time DateStr
11101 ! to the open dataset described by DataHandle.
11102 ! Attribute of type double is
11103 ! copied from scalar Data.
11108 USE module_state_description
11110 INTEGER , INTENT(IN) :: DataHandle
11111 CHARACTER*(*) , INTENT(IN) :: Element
11112 CHARACTER*(*) , INTENT(IN) :: DateStr
11113 CHARACTER*(*) , INTENT(IN) :: VarName
11117 INTEGER , INTENT(IN) :: Count
11119 INTEGER , INTENT(OUT) :: Status
11121 #include "wrf_status_codes.h"
11122 INTEGER :: len_of_str
11124 INTEGER, EXTERNAL :: use_package
11125 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
11126 INTEGER :: locCount
11128 INTEGER io_form , Hndl
11130 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_double_sca " )
11137 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11138 IF ( Hndl .GT. -1 ) THEN
11139 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
11140 SELECT CASE ( use_package( io_form ) )
11143 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11144 CALL ext_ncd_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11147 IF ( .NOT. multi_files(io_form) ) THEN
11156 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11160 CASE ( IO_NETCDFPAR )
11161 CALL ext_ncdpar_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11166 CASE ( IO_PNETCDF )
11167 CALL ext_pnc_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11172 CALL ext_phdf5_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11177 CALL ext_esmf_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11182 CALL ext_xxx_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11187 CALL ext_yyy_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11192 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11193 CALL ext_gr1_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11196 IF ( .NOT. multi_files(io_form) ) THEN
11205 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11210 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11211 CALL ext_gr2_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11214 IF ( .NOT. multi_files(io_form) ) THEN
11223 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11228 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11229 CALL ext_int_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11232 IF ( .NOT. multi_files(io_form) ) THEN
11241 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11246 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
11247 CALL wrf_quilt_put_var_td_double ( Hndl, Element, DateStr, Varname, Data, &
11253 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11256 END SUBROUTINE wrf_put_var_td_double_sca
11259 !--- get_var_td_integer
11261 SUBROUTINE wrf_get_var_td_integer_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
11265 ! Attempt to read Count words of time dependent
11266 ! attribute "Element" of variable "Varname" valid at time DateStr
11267 ! from the open dataset described by DataHandle.
11268 ! Attribute of type integer is
11269 ! stored in array Data.
11270 ! Actual number of words read is returned in OutCount.
11274 USE module_state_description
11276 INTEGER , INTENT(IN) :: DataHandle
11277 CHARACTER*(*) , INTENT(IN) :: Element
11278 CHARACTER*(*) , INTENT(IN) :: DateStr
11279 CHARACTER*(*) , INTENT(IN) :: VarName
11281 integer :: Data (*)
11283 INTEGER , INTENT(IN) :: Count
11284 INTEGER , INTENT(OUT) :: OutCount
11285 INTEGER , INTENT(OUT) :: Status
11287 #include "wrf_status_codes.h"
11288 INTEGER :: len_of_str
11290 INTEGER, EXTERNAL :: use_package
11291 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
11292 INTEGER :: locCount
11294 INTEGER io_form , Hndl
11296 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_integer_arr " )
11303 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11304 IF ( Hndl .GT. -1 ) THEN
11305 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
11306 SELECT CASE ( use_package( io_form ) )
11309 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11310 CALL ext_ncd_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11311 locCount, Outcount, Status )
11313 IF ( .NOT. multi_files(io_form) ) THEN
11314 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11315 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11322 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11326 CASE ( IO_NETCDFPAR )
11327 CALL ext_ncdpar_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11328 locCount, Outcount, Status )
11332 CASE ( IO_PNETCDF )
11333 CALL ext_pnc_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11334 locCount, Outcount, Status )
11338 CALL ext_phdf5_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11339 locCount, Outcount, Status )
11343 CALL ext_esmf_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11344 locCount, Outcount, Status )
11348 CALL ext_xxx_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11349 locCount, Outcount, Status )
11353 CALL ext_yyy_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11354 locCount, Outcount, Status )
11358 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11359 CALL ext_gr1_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11360 locCount, Outcount, Status )
11362 IF ( .NOT. multi_files(io_form) ) THEN
11363 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11364 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11371 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11376 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11377 CALL ext_gr2_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11378 locCount, Outcount, Status )
11380 IF ( .NOT. multi_files(io_form) ) THEN
11381 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11382 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11389 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11394 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11395 CALL ext_int_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11396 locCount, Outcount, Status )
11398 IF ( .NOT. multi_files(io_form) ) THEN
11399 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11400 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11407 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11412 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
11413 CALL wrf_quilt_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11414 locCount, Outcount, Status )
11419 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11422 END SUBROUTINE wrf_get_var_td_integer_arr
11423 !--- get_var_td_integer
11425 SUBROUTINE wrf_get_var_td_integer_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
11429 ! Attempt to read time dependent
11430 ! attribute "Element" of variable "Varname" valid at time DateStr
11431 ! from the open dataset described by DataHandle.
11432 ! Attribute of type integer is
11433 ! stored in scalar Data.
11438 USE module_state_description
11440 INTEGER , INTENT(IN) :: DataHandle
11441 CHARACTER*(*) , INTENT(IN) :: Element
11442 CHARACTER*(*) , INTENT(IN) :: DateStr
11443 CHARACTER*(*) , INTENT(IN) :: VarName
11447 INTEGER , INTENT(IN) :: Count
11448 INTEGER , INTENT(OUT) :: OutCount
11449 INTEGER , INTENT(OUT) :: Status
11451 #include "wrf_status_codes.h"
11452 INTEGER :: len_of_str
11454 INTEGER, EXTERNAL :: use_package
11455 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
11456 INTEGER :: locCount
11458 INTEGER io_form , Hndl
11460 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_integer_sca " )
11467 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11468 IF ( Hndl .GT. -1 ) THEN
11469 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
11470 SELECT CASE ( use_package( io_form ) )
11473 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11474 CALL ext_ncd_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11475 locCount, Outcount, Status )
11477 IF ( .NOT. multi_files(io_form) ) THEN
11478 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11479 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11486 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11490 CASE ( IO_NETCDFPAR )
11491 CALL ext_ncdpar_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11492 locCount, Outcount, Status )
11496 CASE ( IO_PNETCDF )
11497 CALL ext_pnc_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11498 locCount, Outcount, Status )
11502 CALL ext_phdf5_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11503 locCount, Outcount, Status )
11507 CALL ext_esmf_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11508 locCount, Outcount, Status )
11512 CALL ext_xxx_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11513 locCount, Outcount, Status )
11517 CALL ext_yyy_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11518 locCount, Outcount, Status )
11522 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11523 CALL ext_gr1_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11524 locCount, Outcount, Status )
11526 IF ( .NOT. multi_files(io_form) ) THEN
11527 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11528 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11535 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11540 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11541 CALL ext_gr2_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11542 locCount, Outcount, Status )
11544 IF ( .NOT. multi_files(io_form) ) THEN
11545 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11546 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11553 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11558 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11559 CALL ext_int_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11560 locCount, Outcount, Status )
11562 IF ( .NOT. multi_files(io_form) ) THEN
11563 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11564 CALL wrf_dm_bcast_bytes( Data, IWORDSIZE*locCount )
11571 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11576 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
11577 CALL wrf_quilt_get_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11578 locCount, Outcount, Status )
11583 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11586 END SUBROUTINE wrf_get_var_td_integer_sca
11589 !--- put_var_td_integer
11591 SUBROUTINE wrf_put_var_td_integer_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11595 ! Write Count words of time dependent
11596 ! attribute "Element" of variable "Varname" valid at time DateStr
11597 ! to the open dataset described by DataHandle.
11598 ! Attribute of type integer is
11599 ! copied from array Data.
11604 USE module_state_description
11606 INTEGER , INTENT(IN) :: DataHandle
11607 CHARACTER*(*) , INTENT(IN) :: Element
11608 CHARACTER*(*) , INTENT(IN) :: DateStr
11609 CHARACTER*(*) , INTENT(IN) :: VarName
11611 integer :: Data (*)
11613 INTEGER , INTENT(IN) :: Count
11615 INTEGER , INTENT(OUT) :: Status
11617 #include "wrf_status_codes.h"
11618 INTEGER :: len_of_str
11620 INTEGER, EXTERNAL :: use_package
11621 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
11622 INTEGER :: locCount
11624 INTEGER io_form , Hndl
11626 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_integer_arr " )
11633 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11634 IF ( Hndl .GT. -1 ) THEN
11635 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
11636 SELECT CASE ( use_package( io_form ) )
11639 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11640 CALL ext_ncd_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11643 IF ( .NOT. multi_files(io_form) ) THEN
11652 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11656 CASE ( IO_NETCDFPAR )
11657 CALL ext_ncdpar_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11662 CASE ( IO_PNETCDF )
11663 CALL ext_pnc_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11668 CALL ext_phdf5_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11673 CALL ext_esmf_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11678 CALL ext_xxx_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11683 CALL ext_yyy_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11688 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11689 CALL ext_gr1_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11692 IF ( .NOT. multi_files(io_form) ) THEN
11701 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11706 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11707 CALL ext_gr2_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11710 IF ( .NOT. multi_files(io_form) ) THEN
11719 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11724 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11725 CALL ext_int_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11728 IF ( .NOT. multi_files(io_form) ) THEN
11737 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11742 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
11743 CALL wrf_quilt_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11749 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11752 END SUBROUTINE wrf_put_var_td_integer_arr
11753 !--- put_var_td_integer
11755 SUBROUTINE wrf_put_var_td_integer_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
11759 ! Write time dependent
11760 ! attribute "Element" of variable "Varname" valid at time DateStr
11761 ! to the open dataset described by DataHandle.
11762 ! Attribute of type integer is
11763 ! copied from scalar Data.
11768 USE module_state_description
11770 INTEGER , INTENT(IN) :: DataHandle
11771 CHARACTER*(*) , INTENT(IN) :: Element
11772 CHARACTER*(*) , INTENT(IN) :: DateStr
11773 CHARACTER*(*) , INTENT(IN) :: VarName
11777 INTEGER , INTENT(IN) :: Count
11779 INTEGER , INTENT(OUT) :: Status
11781 #include "wrf_status_codes.h"
11782 INTEGER :: len_of_str
11784 INTEGER, EXTERNAL :: use_package
11785 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
11786 INTEGER :: locCount
11788 INTEGER io_form , Hndl
11790 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_integer_sca " )
11797 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11798 IF ( Hndl .GT. -1 ) THEN
11799 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
11800 SELECT CASE ( use_package( io_form ) )
11803 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11804 CALL ext_ncd_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11807 IF ( .NOT. multi_files(io_form) ) THEN
11816 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11820 CASE ( IO_NETCDFPAR )
11821 CALL ext_ncdpar_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11826 CASE ( IO_PNETCDF )
11827 CALL ext_pnc_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11832 CALL ext_phdf5_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11837 CALL ext_esmf_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11842 CALL ext_xxx_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11847 CALL ext_yyy_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11852 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11853 CALL ext_gr1_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11856 IF ( .NOT. multi_files(io_form) ) THEN
11865 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11870 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11871 CALL ext_gr2_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11874 IF ( .NOT. multi_files(io_form) ) THEN
11883 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11888 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11889 CALL ext_int_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11892 IF ( .NOT. multi_files(io_form) ) THEN
11901 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11906 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
11907 CALL wrf_quilt_put_var_td_integer ( Hndl, Element, DateStr, Varname, Data, &
11913 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
11916 END SUBROUTINE wrf_put_var_td_integer_sca
11919 !--- get_var_td_logical
11921 SUBROUTINE wrf_get_var_td_logical_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
11925 ! Attempt to read Count words of time dependent
11926 ! attribute "Element" of variable "Varname" valid at time DateStr
11927 ! from the open dataset described by DataHandle.
11928 ! Attribute of type logical is
11929 ! stored in array Data.
11930 ! Actual number of words read is returned in OutCount.
11934 USE module_state_description
11936 INTEGER , INTENT(IN) :: DataHandle
11937 CHARACTER*(*) , INTENT(IN) :: Element
11938 CHARACTER*(*) , INTENT(IN) :: DateStr
11939 CHARACTER*(*) , INTENT(IN) :: VarName
11941 logical :: Data (*)
11943 INTEGER , INTENT(IN) :: Count
11944 INTEGER , INTENT(OUT) :: OutCount
11945 INTEGER , INTENT(OUT) :: Status
11947 #include "wrf_status_codes.h"
11948 INTEGER :: len_of_str
11950 INTEGER, EXTERNAL :: use_package
11951 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
11952 INTEGER :: locCount
11954 INTEGER io_form , Hndl
11956 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_logical_arr " )
11963 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
11964 IF ( Hndl .GT. -1 ) THEN
11965 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
11966 SELECT CASE ( use_package( io_form ) )
11969 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
11970 CALL ext_ncd_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11971 locCount, Outcount, Status )
11973 IF ( .NOT. multi_files(io_form) ) THEN
11978 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
11979 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
11982 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
11986 CASE ( IO_NETCDFPAR )
11987 CALL ext_ncdpar_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11988 locCount, Outcount, Status )
11992 CASE ( IO_PNETCDF )
11993 CALL ext_pnc_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11994 locCount, Outcount, Status )
11998 CALL ext_phdf5_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
11999 locCount, Outcount, Status )
12003 CALL ext_esmf_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12004 locCount, Outcount, Status )
12008 CALL ext_xxx_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12009 locCount, Outcount, Status )
12013 CALL ext_yyy_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12014 locCount, Outcount, Status )
12018 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12019 CALL ext_gr1_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12020 locCount, Outcount, Status )
12022 IF ( .NOT. multi_files(io_form) ) THEN
12027 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12028 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12031 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12036 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12037 CALL ext_gr2_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12038 locCount, Outcount, Status )
12040 IF ( .NOT. multi_files(io_form) ) THEN
12045 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12046 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12049 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12054 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12055 CALL ext_int_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12056 locCount, Outcount, Status )
12058 IF ( .NOT. multi_files(io_form) ) THEN
12063 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12064 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12067 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12072 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
12073 CALL wrf_quilt_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12074 locCount, Outcount, Status )
12079 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12082 END SUBROUTINE wrf_get_var_td_logical_arr
12083 !--- get_var_td_logical
12085 SUBROUTINE wrf_get_var_td_logical_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Outcount, Status )
12089 ! Attempt to read time dependent
12090 ! attribute "Element" of variable "Varname" valid at time DateStr
12091 ! from the open dataset described by DataHandle.
12092 ! Attribute of type logical is
12093 ! stored in scalar Data.
12098 USE module_state_description
12100 INTEGER , INTENT(IN) :: DataHandle
12101 CHARACTER*(*) , INTENT(IN) :: Element
12102 CHARACTER*(*) , INTENT(IN) :: DateStr
12103 CHARACTER*(*) , INTENT(IN) :: VarName
12107 INTEGER , INTENT(IN) :: Count
12108 INTEGER , INTENT(OUT) :: OutCount
12109 INTEGER , INTENT(OUT) :: Status
12111 #include "wrf_status_codes.h"
12112 INTEGER :: len_of_str
12114 INTEGER, EXTERNAL :: use_package
12115 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
12116 INTEGER :: locCount
12118 INTEGER io_form , Hndl
12120 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_logical_sca " )
12127 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12128 IF ( Hndl .GT. -1 ) THEN
12129 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
12130 SELECT CASE ( use_package( io_form ) )
12133 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12134 CALL ext_ncd_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12135 locCount, Outcount, Status )
12137 IF ( .NOT. multi_files(io_form) ) THEN
12142 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12143 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12146 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12150 CASE ( IO_NETCDFPAR )
12151 CALL ext_ncdpar_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12152 locCount, Outcount, Status )
12156 CASE ( IO_PNETCDF )
12157 CALL ext_pnc_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12158 locCount, Outcount, Status )
12162 CALL ext_phdf5_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12163 locCount, Outcount, Status )
12167 CALL ext_esmf_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12168 locCount, Outcount, Status )
12172 CALL ext_xxx_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12173 locCount, Outcount, Status )
12177 CALL ext_yyy_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12178 locCount, Outcount, Status )
12182 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12183 CALL ext_gr1_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12184 locCount, Outcount, Status )
12186 IF ( .NOT. multi_files(io_form) ) THEN
12191 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12192 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12195 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12200 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12201 CALL ext_gr2_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12202 locCount, Outcount, Status )
12204 IF ( .NOT. multi_files(io_form) ) THEN
12209 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12210 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12213 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12218 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12219 CALL ext_int_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12220 locCount, Outcount, Status )
12222 IF ( .NOT. multi_files(io_form) ) THEN
12227 CALL wrf_dm_bcast_bytes( locCount, IWORDSIZE )
12228 CALL wrf_dm_bcast_bytes( Data, LWORDSIZE*locCount )
12231 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12236 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
12237 CALL wrf_quilt_get_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12238 locCount, Outcount, Status )
12243 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12246 END SUBROUTINE wrf_get_var_td_logical_sca
12249 !--- put_var_td_logical
12251 SUBROUTINE wrf_put_var_td_logical_arr ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
12255 ! Write Count words of time dependent
12256 ! attribute "Element" of variable "Varname" valid at time DateStr
12257 ! to the open dataset described by DataHandle.
12258 ! Attribute of type logical is
12259 ! copied from array Data.
12264 USE module_state_description
12266 INTEGER , INTENT(IN) :: DataHandle
12267 CHARACTER*(*) , INTENT(IN) :: Element
12268 CHARACTER*(*) , INTENT(IN) :: DateStr
12269 CHARACTER*(*) , INTENT(IN) :: VarName
12271 logical :: Data (*)
12273 INTEGER , INTENT(IN) :: Count
12275 INTEGER , INTENT(OUT) :: Status
12277 #include "wrf_status_codes.h"
12278 INTEGER :: len_of_str
12280 INTEGER, EXTERNAL :: use_package
12281 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
12282 INTEGER :: locCount
12284 INTEGER io_form , Hndl
12286 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_logical_arr " )
12293 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12294 IF ( Hndl .GT. -1 ) THEN
12295 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
12296 SELECT CASE ( use_package( io_form ) )
12299 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12300 CALL ext_ncd_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12303 IF ( .NOT. multi_files(io_form) ) THEN
12312 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12316 CASE ( IO_NETCDFPAR )
12317 CALL ext_ncdpar_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12322 CASE ( IO_PNETCDF )
12323 CALL ext_pnc_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12328 CALL ext_phdf5_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12333 CALL ext_esmf_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12338 CALL ext_xxx_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12343 CALL ext_yyy_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12348 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12349 CALL ext_gr1_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12352 IF ( .NOT. multi_files(io_form) ) THEN
12361 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12366 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12367 CALL ext_gr2_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12370 IF ( .NOT. multi_files(io_form) ) THEN
12379 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12384 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12385 CALL ext_int_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12388 IF ( .NOT. multi_files(io_form) ) THEN
12397 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12402 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
12403 CALL wrf_quilt_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12409 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12412 END SUBROUTINE wrf_put_var_td_logical_arr
12413 !--- put_var_td_logical
12415 SUBROUTINE wrf_put_var_td_logical_sca ( DataHandle,Element, DateStr, Varname, Data, Count, Status )
12419 ! Write time dependent
12420 ! attribute "Element" of variable "Varname" valid at time DateStr
12421 ! to the open dataset described by DataHandle.
12422 ! Attribute of type logical is
12423 ! copied from scalar Data.
12428 USE module_state_description
12430 INTEGER , INTENT(IN) :: DataHandle
12431 CHARACTER*(*) , INTENT(IN) :: Element
12432 CHARACTER*(*) , INTENT(IN) :: DateStr
12433 CHARACTER*(*) , INTENT(IN) :: VarName
12437 INTEGER , INTENT(IN) :: Count
12439 INTEGER , INTENT(OUT) :: Status
12441 #include "wrf_status_codes.h"
12442 INTEGER :: len_of_str
12444 INTEGER, EXTERNAL :: use_package
12445 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
12446 INTEGER :: locCount
12448 INTEGER io_form , Hndl
12450 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_logical_sca " )
12457 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12458 IF ( Hndl .GT. -1 ) THEN
12459 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
12460 SELECT CASE ( use_package( io_form ) )
12463 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12464 CALL ext_ncd_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12467 IF ( .NOT. multi_files(io_form) ) THEN
12476 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12480 CASE ( IO_NETCDFPAR )
12481 CALL ext_ncdpar_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12486 CASE ( IO_PNETCDF )
12487 CALL ext_pnc_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12492 CALL ext_phdf5_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12497 CALL ext_esmf_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12502 CALL ext_xxx_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12507 CALL ext_yyy_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12512 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12513 CALL ext_gr1_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12516 IF ( .NOT. multi_files(io_form) ) THEN
12525 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12530 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12531 CALL ext_gr2_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12534 IF ( .NOT. multi_files(io_form) ) THEN
12543 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12548 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12549 CALL ext_int_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12552 IF ( .NOT. multi_files(io_form) ) THEN
12561 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12566 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
12567 CALL wrf_quilt_put_var_td_logical ( Hndl, Element, DateStr, Varname, Data, &
12573 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12576 END SUBROUTINE wrf_put_var_td_logical_sca
12579 !--- get_var_td_char
12581 SUBROUTINE wrf_get_var_td_char_arr ( DataHandle,Element, DateStr, Varname, Data, Status )
12585 ! Attempt to read time dependent
12586 ! attribute "Element" of variable "Varname" valid at time DateStr
12587 ! from the open dataset described by DataHandle.
12588 ! Attribute of type char is
12589 ! stored in string Data.
12594 USE module_state_description
12596 INTEGER , INTENT(IN) :: DataHandle
12597 CHARACTER*(*) , INTENT(IN) :: Element
12598 CHARACTER*(*) , INTENT(IN) :: DateStr
12599 CHARACTER*(*) , INTENT(IN) :: VarName
12601 CHARACTER*(*) :: Data
12605 INTEGER , INTENT(OUT) :: Status
12607 #include "wrf_status_codes.h"
12608 INTEGER :: len_of_str
12610 INTEGER, EXTERNAL :: use_package
12611 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
12612 INTEGER :: locCount
12614 INTEGER io_form , Hndl
12616 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_get_var_td_char_arr " )
12623 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12624 IF ( Hndl .GT. -1 ) THEN
12625 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
12626 SELECT CASE ( use_package( io_form ) )
12629 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12630 CALL ext_ncd_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12633 IF ( .NOT. multi_files(io_form) ) THEN
12640 len_of_str = LEN(Data)
12641 CALL wrf_dm_bcast_string( Data, len_of_str )
12642 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12646 CASE ( IO_NETCDFPAR )
12647 CALL ext_ncdpar_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12652 CASE ( IO_PNETCDF )
12653 CALL ext_pnc_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12658 CALL ext_phdf5_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12663 CALL ext_esmf_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12668 CALL ext_xxx_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12673 CALL ext_yyy_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12678 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12679 CALL ext_gr1_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12682 IF ( .NOT. multi_files(io_form) ) THEN
12689 len_of_str = LEN(Data)
12690 CALL wrf_dm_bcast_string( Data, len_of_str )
12691 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12696 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12697 CALL ext_gr2_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12700 IF ( .NOT. multi_files(io_form) ) THEN
12707 len_of_str = LEN(Data)
12708 CALL wrf_dm_bcast_string( Data, len_of_str )
12709 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12714 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12715 CALL ext_int_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12718 IF ( .NOT. multi_files(io_form) ) THEN
12725 len_of_str = LEN(Data)
12726 CALL wrf_dm_bcast_string( Data, len_of_str )
12727 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12732 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
12733 CALL wrf_quilt_get_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12739 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12742 END SUBROUTINE wrf_get_var_td_char_arr
12745 !--- put_var_td_char
12747 SUBROUTINE wrf_put_var_td_char_arr ( DataHandle,Element, DateStr, Varname, Data, Status )
12751 ! Write time dependent
12752 ! attribute "Element" of variable "Varname" valid at time DateStr
12753 ! to the open dataset described by DataHandle.
12754 ! Attribute of type char is
12755 ! copied from string Data.
12760 USE module_state_description
12762 INTEGER , INTENT(IN) :: DataHandle
12763 CHARACTER*(*) , INTENT(IN) :: Element
12764 CHARACTER*(*) , INTENT(IN) :: DateStr
12765 CHARACTER*(*) , INTENT(IN) :: VarName
12767 CHARACTER*(*) :: Data
12771 INTEGER , INTENT(OUT) :: Status
12773 #include "wrf_status_codes.h"
12774 INTEGER :: len_of_str
12776 INTEGER, EXTERNAL :: use_package
12777 LOGICAL, EXTERNAL :: wrf_dm_on_monitor, multi_files, use_output_servers_for
12778 INTEGER :: locCount
12780 INTEGER io_form , Hndl
12782 CALL wrf_debug( DEBUG_LVL, "module_io.F (md_calls.m4) : in wrf_put_var_td_char_arr " )
12789 CALL get_handle ( Hndl, io_form , for_out, DataHandle )
12790 IF ( Hndl .GT. -1 ) THEN
12791 IF ( multi_files( io_form ) .OR. .NOT. (for_out .AND. use_output_servers_for(io_form)) ) THEN
12792 SELECT CASE ( use_package( io_form ) )
12795 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12796 CALL ext_ncd_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12799 IF ( .NOT. multi_files(io_form) ) THEN
12808 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12812 CASE ( IO_NETCDFPAR )
12813 CALL ext_ncdpar_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12818 CASE ( IO_PNETCDF )
12819 CALL ext_pnc_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12824 CALL ext_phdf5_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12829 CALL ext_esmf_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12834 CALL ext_xxx_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12839 CALL ext_yyy_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12844 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12845 CALL ext_gr1_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12848 IF ( .NOT. multi_files(io_form) ) THEN
12857 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12862 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12863 CALL ext_gr2_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12866 IF ( .NOT. multi_files(io_form) ) THEN
12875 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12880 IF ( multi_files(io_form) .OR. wrf_dm_on_monitor() ) THEN
12881 CALL ext_int_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12884 IF ( .NOT. multi_files(io_form) ) THEN
12893 CALL wrf_dm_bcast_bytes( Status, IWORDSIZE )
12898 ELSE IF ( for_out .AND. use_output_servers_for(io_form) ) THEN
12899 CALL wrf_quilt_put_var_td_char ( Hndl, Element, DateStr, Varname, Data, &
12905 Status = WRF_ERR_FATAL_BAD_FILE_STATUS
12908 END SUBROUTINE wrf_put_var_td_char_arr