18 SUBROUTINE write_surfx0 (HSELECT, HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT)
21 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
23 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
24 CHARACTER(LEN=*),
INTENT(IN) :: HREC
25 REAL,
INTENT(IN) :: PFIELD
26 INTEGER,
INTENT(OUT):: KRESP
27 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
31 SUBROUTINE write_surfx1 (HSELECT, HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
33 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
35 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
36 CHARACTER(LEN=*),
INTENT(IN) :: HREC
37 REAL,
DIMENSION(:),
INTENT(IN) :: PFIELD
38 INTEGER,
INTENT(OUT) :: KRESP
39 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
40 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
44 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
47 SUBROUTINE write_surfx2 ( HSELECT,HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
50 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
52 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
53 CHARACTER(LEN=*),
INTENT(IN) :: HREC
54 REAL,
DIMENSION(:,:),
INTENT(IN) :: PFIELD
55 INTEGER,
INTENT(OUT) :: KRESP
56 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
57 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
61 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
64 SUBROUTINE write_surfx3 ( HSELECT,HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
67 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
69 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
70 CHARACTER(LEN=*),
INTENT(IN) :: HREC
71 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: PFIELD
72 INTEGER,
INTENT(OUT) :: KRESP
73 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
74 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
78 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
83 SUBROUTINE write_surfn0 ( HSELECT, HPROGRAM,HREC,KFIELD,KRESP,HCOMMENT)
86 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
88 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
89 CHARACTER(LEN=*),
INTENT(IN) :: HREC
90 INTEGER,
INTENT(IN) :: KFIELD
91 INTEGER,
INTENT(OUT) :: KRESP
92 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
96 SUBROUTINE write_surfn1 ( HSELECT, HPROGRAM,HREC,KFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
98 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
100 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
101 CHARACTER(LEN=*),
INTENT(IN) :: HREC
102 INTEGER,
DIMENSION(:),
INTENT(IN) :: KFIELD
103 INTEGER,
INTENT(OUT) :: KRESP
104 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
105 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
109 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
112 SUBROUTINE write_surfc0 ( HSELECT, HPROGRAM,HREC,HFIELD,KRESP,HCOMMENT)
114 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
116 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
117 CHARACTER(LEN=*),
INTENT(IN) :: HREC
118 CHARACTER(LEN=*),
INTENT(IN) :: HFIELD
119 INTEGER,
INTENT(OUT) :: KRESP
120 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
124 SUBROUTINE write_surfl0 ( HSELECT, HPROGRAM,HREC,OFIELD,KRESP,HCOMMENT)
126 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
128 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
129 CHARACTER(LEN=*),
INTENT(IN) :: HREC
130 LOGICAL,
INTENT(IN) :: OFIELD
131 INTEGER,
INTENT(OUT) :: KRESP
132 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
136 SUBROUTINE write_surfl1 ( HSELECT, HPROGRAM,HREC,OFIELD,KRESP,HCOMMENT,HDIR)
138 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
140 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
141 CHARACTER(LEN=*),
INTENT(IN) :: HREC
142 LOGICAL,
DIMENSION(:),
INTENT(IN) :: OFIELD
143 INTEGER,
INTENT(OUT) :: KRESP
144 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
145 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
151 SUBROUTINE write_surft0 ( HSELECT, HPROGRAM,HREC,TFIELD,KRESP,HCOMMENT)
156 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
158 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
159 CHARACTER(LEN=*),
INTENT(IN) :: HREC
161 INTEGER,
INTENT(OUT) :: KRESP
162 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
166 SUBROUTINE write_surft1 ( HSELECT, HPROGRAM,HREC,TFIELD,KRESP,HCOMMENT)
170 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
172 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
173 CHARACTER(LEN=*),
INTENT(IN) :: HREC
174 type(
date_time),
DIMENSION(:),
INTENT(IN) :: tfield
175 INTEGER,
INTENT(OUT) :: KRESP
176 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
180 SUBROUTINE write_surft2 ( HSELECT, HPROGRAM,HREC,TFIELD,KRESP,HCOMMENT)
185 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
187 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
188 CHARACTER(LEN=*),
INTENT(IN) :: HREC
189 type(
date_time),
DIMENSION(:,:),
INTENT(IN) :: tfield
190 INTEGER,
INTENT(OUT) :: KRESP
191 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
201 HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT)
234 USE modi_write_surfx0_mnh
237 USE modi_write_surf_xios
240 USE modi_write_surfx0_aro
243 USE modi_test_record_len
252 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
257 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
258 CHARACTER(LEN=*),
INTENT(IN) :: HREC
259 REAL,
INTENT(IN) :: PFIELD
260 INTEGER,
INTENT(OUT):: KRESP
261 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
265 CHARACTER(LEN=16) :: YREC2
266 CHARACTER(LEN=12) :: YREC
269 REAL(KIND=JPRB) :: ZHOOK_HANDLE
271 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX0',0,zhook_handle)
277 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX0',1,zhook_handle)
280 IF (hprogram==
'MESONH')
THEN 283 CALL write_surfx0_mnh(yrec2,pfield,kresp,hcomment)
287 IF (hprogram==
'AROME ')
THEN 289 CALL write_surfx0_aro(yrec,pfield,kresp,hcomment)
299 IF (hprogram==
'ASCII ')
THEN 305 IF (hprogram==
'FA ')
THEN 311 IF (hprogram==
'OFFLIN')
THEN 313 IF (yrec==
'time')
THEN 321 IF (hprogram==
'TEXTE ')
THEN 327 IF (hprogram==
'BINARY')
THEN 333 IF (hprogram==
'LFI ')
THEN 339 IF (hprogram==
'NC ')
THEN 351 IF (
trim(hprogram)==
'XIOS')
THEN 357 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX0',1,zhook_handle)
362 SUBROUTINE write_surfx1 ( HSELECT,HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
393 USE modi_write_surfx1_mnh
396 USE modi_write_surf_xios
399 USE modi_write_surfx1_aro
402 USE modi_test_record_len
409 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
411 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
413 CHARACTER(LEN=*),
INTENT(IN) :: HREC
414 REAL,
DIMENSION(:),
INTENT(IN) :: PFIELD
415 INTEGER,
INTENT(OUT) :: KRESP
416 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
417 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
421 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
424 CHARACTER(LEN=16) :: YREC2
425 CHARACTER(LEN=12) :: YREC
427 CHARACTER(LEN=1) :: YDIR
429 REAL(KIND=JPRB) :: ZHOOK_HANDLE
431 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX1',0,zhook_handle)
437 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX1',1,zhook_handle)
440 IF (
trim(hprogram)==
'XIOS')
THEN 447 IF (
PRESENT(hdir)) ydir = hdir
450 IF (hprogram==
'MESONH')
THEN 453 CALL write_surfx1_mnh(yrec2,il,pfield,kresp,hcomment,ydir)
457 IF (hprogram==
'AROME ')
THEN 459 CALL write_surfx1_aro(yrec,il,pfield,kresp,hcomment,ydir)
463 IF (hprogram==
'OFFLIN')
THEN 469 IF (hprogram==
'TEXTE ')
THEN 475 IF (hprogram==
'BINARY')
THEN 481 IF (hprogram==
'LFI ')
THEN 487 IF (hprogram==
'NC ')
THEN 489 IF (
PRESENT(hnam_dim))
THEN 490 CALL write_surfn_nc( hselect, yrec,pfield,kresp,hcomment,ydir,hnam_dim)
497 IF (hprogram==
'ASCII ')
THEN 503 IF (hprogram==
'FA ')
THEN 511 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX1',1,zhook_handle)
516 SUBROUTINE write_surfx2 ( HSELECT, HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
547 USE modi_write_surfx2_mnh
550 USE modi_write_surf_xios
553 USE modi_test_record_len
556 USE modi_write_surfx2_aro
563 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
565 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
567 CHARACTER(LEN=*),
INTENT(IN) :: HREC
568 REAL,
DIMENSION(:,:),
INTENT(IN) :: PFIELD
569 INTEGER,
INTENT(OUT) :: KRESP
570 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
571 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
575 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
578 CHARACTER(LEN=16) :: YREC2
579 CHARACTER(LEN=12) :: YREC
582 CHARACTER(LEN=1) :: YDIR
584 REAL(KIND=JPRB) :: ZHOOK_HANDLE
586 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX2',0,zhook_handle)
592 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX2',1,zhook_handle)
595 IF (
trim(hprogram)==
'XIOS')
THEN 602 IF (
PRESENT(hdir)) ydir = hdir
606 IF (hprogram==
'MESONH')
THEN 609 CALL write_surfx2_mnh(yrec2,il1,il2,pfield,kresp,hcomment,ydir)
613 IF (hprogram==
'AROME ')
THEN 615 CALL write_surfx2_aro(yrec,il1,il2,pfield,kresp,hcomment,ydir)
619 IF (hprogram==
'OFFLIN')
THEN 621 IF (
PRESENT(hnam_dim))
THEN 622 CALL write_surfl1x2_ol(hselect,yrec,pfield,kresp,hcomment,ydir,hnam_dim=hnam_dim)
629 IF (hprogram==
'TEXTE ')
THEN 635 IF (hprogram==
'BINARY')
THEN 641 IF (hprogram==
'LFI ')
THEN 647 IF (hprogram==
'NC ')
THEN 649 IF (
PRESENT(hnam_dim))
THEN 650 CALL write_surfn_nc( hselect, yrec,pfield,kresp,hcomment,ydir,hnam_dim)
657 IF (hprogram==
'ASCII ')
THEN 663 IF (hprogram==
'FA ')
THEN 671 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX2',1,zhook_handle)
676 SUBROUTINE write_surfx3 ( HSELECT, HPROGRAM,HREC,PFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
715 USE modi_write_surf_xios
718 USE modi_write_surfx2_aro
722 USE modi_test_record_len
729 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
731 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
733 CHARACTER(LEN=*),
INTENT(IN) :: HREC
734 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: PFIELD
735 INTEGER,
INTENT(OUT) :: KRESP
736 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
737 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
741 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
744 CHARACTER(LEN=12) :: YREC
747 CHARACTER(LEN=1) :: YDIR
749 REAL(KIND=JPRB) :: ZHOOK_HANDLE
751 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX3',0,zhook_handle)
757 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX3',1,zhook_handle)
760 IF (
trim(hprogram)==
'XIOS')
THEN 767 IF (
PRESENT(hdir)) ydir = hdir
772 IF (hprogram==
'MESONH')
THEN 778 IF (hprogram==
'AROME ')
THEN 784 IF (hprogram==
'OFFLIN')
THEN 786 IF (
PRESENT(hnam_dim))
THEN 787 CALL write_surfl1x2_ol(hselect,yrec,pfield,kresp,hcomment,ydir,hnam_dim=hnam_dim)
794 IF (hprogram==
'TEXTE ')
THEN 800 IF (hprogram==
'BINARY')
THEN 806 IF (hprogram==
'LFI ')
THEN 812 IF (hprogram==
'NC ')
THEN 814 IF (
PRESENT(hnam_dim))
THEN 815 CALL write_surfn_nc( hselect, yrec,pfield,kresp,hcomment,ydir,hnam_dim)
822 IF (hprogram==
'ASCII ')
THEN 828 IF (hprogram==
'FA ')
THEN 836 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX3',1,zhook_handle)
841 SUBROUTINE write_surfn0 ( HSELECT, HPROGRAM,HREC,KFIELD,KRESP,HCOMMENT)
878 USE modi_write_surfn0_mnh
881 USE modi_write_surf_xios
884 USE modi_write_surfn0_aro
888 USE modi_test_record_len
897 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
902 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
903 CHARACTER(LEN=*),
INTENT(IN) :: HREC
904 INTEGER,
INTENT(IN) :: KFIELD
905 INTEGER,
INTENT(OUT) :: KRESP
906 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
910 CHARACTER(LEN=16) :: YREC2
911 CHARACTER(LEN=12) :: YREC
914 REAL(KIND=JPRB) :: ZHOOK_HANDLE
916 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN0',0,zhook_handle)
922 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN0',1,zhook_handle)
926 IF (hprogram==
'MESONH')
THEN 929 CALL write_surfn0_mnh(yrec2,kfield,kresp,hcomment)
933 IF (hprogram==
'AROME ')
THEN 935 CALL write_surfn0_aro(yrec,kfield,kresp,hcomment)
945 IF (hprogram==
'ASCII ')
THEN 951 IF (hprogram==
'FA ')
THEN 957 IF (hprogram==
'OFFLIN')
THEN 963 IF (hprogram==
'TEXTE ')
THEN 969 IF (hprogram==
'BINARY')
THEN 975 IF (hprogram==
'LFI ')
THEN 981 IF (hprogram==
'NC ')
THEN 993 IF (
trim(hprogram)==
'XIOS')
THEN 999 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN0',1,zhook_handle)
1004 SUBROUTINE write_surfn1 ( HSELECT, HPROGRAM,HREC,KFIELD,KRESP,HCOMMENT,HDIR,HNAM_DIM)
1035 USE modi_write_surfn1_mnh
1038 USE modi_write_surf_xios
1041 USE modi_write_surfn1_aro
1044 USE modi_test_record_len
1051 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1053 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1055 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1056 INTEGER,
DIMENSION(:),
INTENT(IN) :: KFIELD
1057 INTEGER,
INTENT(OUT) :: KRESP
1058 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1059 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
1063 CHARACTER(LEN=*),
OPTIONAL,
INTENT(IN) :: HNAM_DIM
1066 CHARACTER(LEN=16) :: YREC2
1067 CHARACTER(LEN=12) :: YREC
1069 CHARACTER(LEN=1) :: YDIR
1071 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1073 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN1',0,zhook_handle)
1077 IF (
PRESENT(hdir)) ydir = hdir
1082 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN1',1,zhook_handle)
1085 IF (hprogram==
'MESONH')
THEN 1088 CALL write_surfn1_mnh(yrec2,il,kfield,kresp,hcomment,ydir)
1092 IF (hprogram==
'AROME ')
THEN 1094 CALL write_surfn1_aro(yrec,il,kfield,kresp,hcomment,ydir)
1098 IF (hprogram==
'OFFLIN')
THEN 1104 IF (hprogram==
'TEXTE ')
THEN 1110 IF (hprogram==
'BINARY')
THEN 1116 IF (hprogram==
'LFI ')
THEN 1122 IF (hprogram==
'NC ')
THEN 1124 IF (
PRESENT(hnam_dim))
THEN 1125 CALL write_surfn_nc( hselect, yrec,kfield,kresp,hcomment,ydir,hnam_dim)
1132 IF (hprogram==
'ASCII ')
THEN 1138 IF (hprogram==
'FA ')
THEN 1141 yrec,il,kfield,kresp,hcomment,ydir)
1145 IF (
trim(hprogram)==
'XIOS')
THEN 1151 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN1',1,zhook_handle)
1156 SUBROUTINE write_surfc0 ( HSELECT, HPROGRAM,HREC,HFIELD,KRESP,HCOMMENT)
1188 USE modi_write_surfc0_mnh
1191 USE modi_write_surf_xios
1194 USE modi_write_surfc0_aro
1198 USE modi_test_record_len
1207 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1212 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1213 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1214 CHARACTER(LEN=*),
INTENT(IN) :: HFIELD
1215 INTEGER,
INTENT(OUT) :: KRESP
1216 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1220 CHARACTER(LEN=12) :: YREC
1221 CHARACTER(LEN=16) :: YREC2
1222 CHARACTER(LEN=40) :: YFIELD
1225 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1227 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFC0',0,zhook_handle)
1231 yfield(1:len(hfield)) = hfield
1235 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFC0',1,zhook_handle)
1238 IF (hprogram==
'MESONH')
THEN 1241 CALL write_surfc0_mnh(yrec2,yfield,kresp,hcomment)
1245 IF (hprogram==
'AROME ')
THEN 1247 CALL write_surfc0_aro(yrec,yfield,kresp,hcomment)
1254 xtime0 = mpi_wtime()
1257 IF (hprogram==
'ASCII ')
THEN 1263 IF (hprogram==
'FA ')
THEN 1269 IF (hprogram==
'OFFLIN')
THEN 1275 IF (hprogram==
'TEXTE ')
THEN 1281 IF (hprogram==
'BINARY')
THEN 1287 IF (hprogram==
'LFI ')
THEN 1293 IF (hprogram==
'NC ')
THEN 1305 IF (
trim(hprogram)==
'XIOS')
THEN 1311 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFC0',1,zhook_handle)
1316 SUBROUTINE write_surfl0 ( HSELECT, HPROGRAM,HREC,OFIELD,KRESP,HCOMMENT)
1348 USE modi_write_surfl0_mnh
1351 USE modi_write_surf_xios
1354 USE modi_write_surfl0_aro
1358 USE modi_test_record_len
1367 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1372 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1373 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1374 LOGICAL,
INTENT(IN) :: OFIELD
1375 INTEGER,
INTENT(OUT) :: KRESP
1376 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1380 CHARACTER(LEN=12) :: YREC
1381 CHARACTER(LEN=16) :: YREC2
1384 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1386 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL0',0,zhook_handle)
1392 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL0',1,zhook_handle)
1395 IF (hprogram==
'MESONH')
THEN 1398 CALL write_surfl0_mnh(yrec2,ofield,kresp,hcomment)
1402 IF (hprogram==
'AROME ')
THEN 1404 CALL write_surfl0_aro(yrec,ofield,kresp,hcomment)
1411 xtime0 = mpi_wtime()
1414 IF (hprogram==
'ASCII ')
THEN 1420 IF (hprogram==
'FA ')
THEN 1426 IF (hprogram==
'OFFLIN')
THEN 1432 IF (hprogram==
'TEXTE ')
THEN 1438 IF (hprogram==
'BINARY')
THEN 1444 IF (hprogram==
'LFI ')
THEN 1450 IF (hprogram==
'NC ')
THEN 1462 IF (
trim(hprogram)==
'XIOS')
THEN 1468 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL0',1,zhook_handle)
1473 SUBROUTINE write_surfl1 ( HSELECT, HPROGRAM,HREC,OFIELD,KRESP,HCOMMENT,HDIR)
1509 USE modi_write_surfl1_mnh
1512 USE modi_write_surfl1_aro
1516 USE modi_test_record_len
1523 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1525 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1527 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1528 LOGICAL,
DIMENSION(:),
INTENT(IN) :: OFIELD
1529 INTEGER,
INTENT(OUT) :: KRESP
1530 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1531 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
1537 CHARACTER(LEN=16) :: YREC2
1538 CHARACTER(LEN=12) :: YREC
1540 CHARACTER(LEN=1) :: YDIR
1542 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1544 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL1',0,zhook_handle)
1548 IF (
PRESENT(hdir)) ydir = hdir
1553 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL1',1,zhook_handle)
1556 IF (hprogram==
'MESONH')
THEN 1559 CALL write_surfl1_mnh(yrec2,il,ofield,kresp,hcomment,ydir)
1563 IF (hprogram==
'AROME ')
THEN 1565 CALL write_surfl1_aro(yrec,il,ofield,kresp,hcomment,ydir)
1569 IF (hprogram==
'OFFLIN')
THEN 1575 IF (hprogram==
'TEXTE ')
THEN 1581 IF (hprogram==
'BINARY')
THEN 1587 IF (hprogram==
'LFI ')
THEN 1593 IF (hprogram==
'NC ')
THEN 1599 IF (hprogram==
'ASCII ')
THEN 1605 IF (hprogram==
'FA ')
THEN 1611 IF (
trim(hprogram)==
'XIOS')
THEN 1615 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL1',1,zhook_handle)
1620 SUBROUTINE write_surft0 ( HSELECT,HPROGRAM,HREC,TFIELD,KRESP,HCOMMENT)
1654 USE modi_write_surft0_mnh
1657 USE modi_write_surft0_aro
1661 USE modi_test_record_len
1670 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1675 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1676 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1678 INTEGER,
INTENT(OUT) :: KRESP
1679 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1683 CHARACTER(LEN=16) :: YREC2
1684 CHARACTER(LEN=12) :: YREC
1691 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1693 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT0',0,zhook_handle)
1697 iyear = tfield%TDATE%YEAR
1698 imonth = tfield%TDATE%MONTH
1699 iday = tfield%TDATE%DAY
1704 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT0',1,zhook_handle)
1707 IF (hprogram==
'MESONH')
THEN 1710 CALL write_surft0_mnh(yrec2,iyear,imonth,iday,ztime,kresp,hcomment)
1714 IF (hprogram==
'AROME ')
THEN 1716 CALL write_surft0_aro(yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1723 xtime0 = mpi_wtime()
1726 IF (hprogram==
'ASCII ')
THEN 1732 IF (hprogram==
'FA ')
THEN 1738 IF (hprogram==
'OFFLIN')
THEN 1740 CALL write_surft_ol(hselect,yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1744 IF (hprogram==
'TEXTE ')
THEN 1750 IF (hprogram==
'BINARY')
THEN 1756 IF (hprogram==
'LFI ')
THEN 1762 IF (hprogram==
'NC ')
THEN 1764 CALL write_surft_nc( hselect, yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1774 IF (
trim(hprogram)==
'XIOS')
THEN 1778 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT0',1,zhook_handle)
1783 SUBROUTINE write_surft1 ( HSELECT, HPROGRAM,HREC,TFIELD,KRESP,HCOMMENT)
1804 USE modi_write_surft1_mnh
1807 USE modi_write_surft1_aro
1813 USE modi_test_record_len
1820 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1822 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1824 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1825 type(
date_time),
DIMENSION(:),
INTENT(IN) :: tfield
1826 INTEGER,
INTENT(OUT) :: KRESP
1827 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1831 CHARACTER(LEN=16) :: YREC2
1832 CHARACTER(LEN=12) :: YREC
1834 REAL ,
DIMENSION(SIZE(TFIELD,1)) :: ZTIME
1835 INTEGER,
DIMENSION(SIZE(TFIELD,1)) :: IDAY
1836 INTEGER,
DIMENSION(SIZE(TFIELD,1)) :: IMONTH
1837 INTEGER,
DIMENSION(SIZE(TFIELD,1)) :: IYEAR
1839 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1841 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT1',0,zhook_handle)
1844 il1 =
SIZE(tfield,1)
1846 iyear(:) = tfield(:)%TDATE%YEAR
1847 imonth(:) = tfield(:)%TDATE%MONTH
1848 iday(:) = tfield(:)%TDATE%DAY
1849 ztime(:) = tfield(:)%TIME
1853 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT1',1,zhook_handle)
1856 IF (hprogram==
'MESONH')
THEN 1861 CALL write_surft1_mnh(yrec2,il1,iyear,imonth,iday,ztime,kresp,hcomment)
1865 IF (hprogram==
'AROME ')
THEN 1867 CALL write_surft1_aro(yrec,il1,iyear,imonth,iday,ztime,kresp,hcomment)
1879 IF (hprogram==
'LFI ')
THEN 1885 IF (hprogram==
'NC ')
THEN 1887 CALL write_surft_nc( hselect, yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1891 IF (hprogram==
'ASCII ')
THEN 1897 IF (hprogram==
'FA ')
THEN 1898 CALL abor1_sfx(
'WRITE_SURFT1: NOT AVAILABLE FOR FA')
1901 IF (
trim(hprogram)==
'XIOS')
THEN 1905 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT1',1,zhook_handle)
1910 SUBROUTINE write_surft2 ( HSELECT, HPROGRAM,HREC,TFIELD,KRESP,HCOMMENT)
1947 USE modi_test_record_len
1953 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
1955 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
1957 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1958 type(
date_time),
DIMENSION(:,:),
INTENT(IN) :: tfield
1959 INTEGER,
INTENT(OUT) :: KRESP
1960 CHARACTER(LEN=100),
INTENT(IN) :: HCOMMENT
1964 CHARACTER(LEN=12) :: YREC
1966 REAL ,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: ZTIME
1967 INTEGER,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: IDAY
1968 INTEGER,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: IMONTH
1969 INTEGER,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: IYEAR
1971 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1973 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT2',0,zhook_handle)
1976 il1 =
SIZE(tfield,1)
1977 il2 =
SIZE(tfield,2)
1979 iyear(:,:) = tfield(:,:)%TDATE%YEAR
1980 imonth(:,:) = tfield(:,:)%TDATE%MONTH
1981 iday(:,:) = tfield(:,:)%TDATE%DAY
1982 ztime(:,:) = tfield(:,:)%TIME
1986 IF(gnowrite .AND.
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT2',1,zhook_handle)
1989 IF (hprogram==
'MESONH')
THEN 1990 CALL abor1_sfx(
'WRITE_SURFT2: NOT AVAILABLE FOR MESONH')
1993 IF (hprogram==
'AROME ')
THEN 1994 CALL abor1_sfx(
'WRITE_SURFT2: NOT AVAILABLE FOR AROME')
2001 IF (hprogram==
'LFI ')
THEN 2004 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
2008 IF (hprogram==
'TEXTE ')
THEN 2014 IF (hprogram==
'BINARY')
THEN 2020 IF (hprogram==
'ASCII ')
THEN 2026 IF (hprogram==
'FA ')
THEN 2028 CALL write_surft_fa(yrec,il1,il2,iyear,imonth,iday,ztime,kresp,hcomment)
2032 IF (hprogram==
'NC ')
THEN 2034 CALL write_surft_nc( hselect, yrec,iyear,imonth,iday,ztime,kresp,hcomment)
2038 IF (
trim(hprogram)==
'XIOS')
THEN 2042 IF (
lhook)
CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT2',1,zhook_handle)
subroutine write_surfl0(HSELECT, HPROGRAM, HREC, OFIELD, KRESP, HCOMMENT)
static const char * trim(const char *name, int *n)
subroutine write_surfx0(HSELECT, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT)
subroutine write_surft0(HSELECT, HPROGRAM, HREC, TFIELD, KRESP, HCOMMENT)
subroutine write_surf_xios(HREC, HCOMMENT, KFIELD, PFIELD, OFIELD, HFIELD, PFIELD1, PFIELD2, PFIELD3, HAXIS, HAXIS2)
subroutine write_surfx3(HSELECT, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine write_surft1(HSELECT, HPROGRAM, HREC, TFIELD, KRESP, HCOMMENT)
subroutine abor1_sfx(YTEXT)
subroutine write_surfn0(HSELECT, HPROGRAM, HREC, KFIELD, KRESP, HCOMMENT)
subroutine test_record_len(HPROGRAM, HREC, HSELECT, ONOWRITE)
subroutine write_surfn1(HSELECT, HPROGRAM, HREC, KFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine write_surft2(HSELECT, HPROGRAM, HREC, TFIELD, KRESP, HCOMMENT)
subroutine write_surfx1(HSELECT, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine write_surfc0(HSELECT, HPROGRAM, HREC, HFIELD, KRESP, HCOMMENT)
subroutine write_surfx2(HSELECT, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine wlog_mpi(HLOG, PLOG, KLOG, KLOG2, OLOG)
subroutine write_surfl1(HSELECT, HPROGRAM, HREC, OFIELD, KRESP, HCOMMENT, HDIR)