19 hprogram,hrec,pfield,kresp,hcomment)
27 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
28 CHARACTER(LEN=*),
INTENT(IN) :: hrec
29 REAL,
INTENT(IN) :: pfield
30 INTEGER,
INTENT(OUT):: kresp
31 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
36 hprogram,hrec,pfield,kresp,hcomment,hdir,hnam_dim)
44 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
45 CHARACTER(LEN=*),
INTENT(IN) :: hrec
46 REAL,
DIMENSION(:),
INTENT(IN) :: pfield
47 INTEGER,
INTENT(OUT) :: kresp
48 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
49 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
53 CHARACTER(LEN=16),
OPTIONAL,
INTENT(IN) :: hnam_dim
57 hprogram,hrec,pfield,kresp,hcomment,hdir,hnam_dim)
65 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
66 CHARACTER(LEN=*),
INTENT(IN) :: hrec
67 REAL,
DIMENSION(:,:),
INTENT(IN) :: pfield
68 INTEGER,
INTENT(OUT) :: kresp
69 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
70 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
74 CHARACTER(LEN=16),
OPTIONAL,
INTENT(IN) :: hnam_dim
80 hprogram,hrec,kfield,kresp,hcomment)
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
97 hprogram,hrec,kfield,kresp,hcomment,hdir,hnam_dim)
105 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
106 CHARACTER(LEN=*),
INTENT(IN) :: hrec
107 INTEGER,
DIMENSION(:),
INTENT(IN) :: kfield
108 INTEGER,
INTENT(OUT) :: kresp
109 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
110 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
114 CHARACTER(LEN=16),
OPTIONAL,
INTENT(IN) :: hnam_dim
118 hprogram,hrec,hfield,kresp,hcomment)
126 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
127 CHARACTER(LEN=*),
INTENT(IN) :: hrec
128 CHARACTER(LEN=*),
INTENT(IN) :: hfield
129 INTEGER,
INTENT(OUT) :: kresp
130 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
135 hprogram,hrec,ofield,kresp,hcomment)
143 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
144 CHARACTER(LEN=*),
INTENT(IN) :: hrec
145 LOGICAL,
INTENT(IN) :: ofield
146 INTEGER,
INTENT(OUT) :: kresp
147 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
152 hprogram,hrec,ofield,kresp,hcomment,hdir)
160 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
161 CHARACTER(LEN=*),
INTENT(IN) :: hrec
162 LOGICAL,
DIMENSION(:),
INTENT(IN) :: ofield
163 INTEGER,
INTENT(OUT) :: kresp
164 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
165 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
172 hprogram,hrec,tfield,kresp,hcomment)
182 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
183 CHARACTER(LEN=*),
INTENT(IN) :: hrec
185 INTEGER,
INTENT(OUT) :: kresp
186 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
191 hprogram,hrec,tfield,kresp,hcomment)
201 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
202 CHARACTER(LEN=*),
INTENT(IN) :: hrec
203 TYPE (date_time),
DIMENSION(:),
INTENT(IN) :: tfield
204 INTEGER,
INTENT(OUT) :: kresp
205 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
210 hprogram,hrec,tfield,kresp,hcomment)
220 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
221 CHARACTER(LEN=*),
INTENT(IN) :: hrec
222 TYPE (date_time),
DIMENSION(:,:),
INTENT(IN) :: tfield
223 INTEGER,
INTENT(OUT) :: kresp
224 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
234 hprogram,hrec,pfield,kresp,hcomment)
246 USE yomhook
,ONLY : lhook, dr_hook
247 USE parkind1
,ONLY : jprb
273 USE modi_write_surfx0_mnh
276 USE modi_test_record_len
290 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
291 CHARACTER(LEN=*),
INTENT(IN) :: hrec
292 REAL,
INTENT(IN) :: pfield
293 INTEGER,
INTENT(OUT):: kresp
294 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
298 CHARACTER(LEN=12) :: yrec
301 REAL(KIND=JPRB) :: zhook_handle
303 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX0',0,zhook_handle)
308 hprogram,yrec,lnowrite)
309 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX0',1,zhook_handle)
312 IF (hprogram==
'MESONH')
THEN
314 CALL write_surfx0_mnh(yrec,pfield,kresp,hcomment)
318 IF (hprogram==
'AROME ')
THEN
320 CALL write_surfx0_aro(yrec,pfield,kresp,hcomment)
324 IF (nrank==npio)
THEN
332 IF (hprogram==
'ASCII ')
THEN
335 yrec,pfield,kresp,hcomment)
339 IF (hprogram==
'FA ')
THEN
342 yrec,pfield,kresp,hcomment)
346 IF (hprogram==
'OFFLIN')
THEN
348 IF (yrec==
'time')
THEN
356 IF (hprogram==
'TEXTE ')
THEN
362 IF (hprogram==
'BINARY')
THEN
368 IF (hprogram==
'LFI ')
THEN
371 yrec,pfield,kresp,hcomment)
375 IF (hprogram==
'NC ')
THEN
378 yrec,pfield,kresp,hcomment)
385 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
390 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX0',1,zhook_handle)
396 hprogram,hrec,pfield,kresp,hcomment,hdir,hnam_dim)
409 USE yomhook
,ONLY : lhook, dr_hook
410 USE parkind1
,ONLY : jprb
434 USE modi_write_surfx1_mnh
437 USE modi_test_record_len
443 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
448 CHARACTER(LEN=*),
INTENT(IN) :: hrec
449 REAL,
DIMENSION(:),
INTENT(IN) :: pfield
450 INTEGER,
INTENT(OUT) :: kresp
451 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
452 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
456 CHARACTER(LEN=16),
OPTIONAL,
INTENT(IN) :: hnam_dim
459 CHARACTER(LEN=12) :: yrec
461 CHARACTER(LEN=1) :: ydir
463 REAL(KIND=JPRB) :: zhook_handle
465 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX1',0,zhook_handle)
469 IF (present(hdir)) ydir = hdir
473 hprogram,yrec,lnowrite)
474 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX1',1,zhook_handle)
477 IF (hprogram==
'MESONH')
THEN
479 CALL write_surfx1_mnh(yrec,il,pfield,kresp,hcomment,ydir)
483 IF (hprogram==
'AROME ')
THEN
485 CALL write_surfx1_aro(yrec,il,pfield,kresp,hcomment,ydir)
489 IF (hprogram==
'OFFLIN')
THEN
492 yrec,pfield,kresp,hcomment,ydir)
496 IF (hprogram==
'TEXTE ')
THEN
499 yrec,pfield,kresp,hcomment,ydir)
503 IF (hprogram==
'BINARY')
THEN
506 yrec,pfield,kresp,hcomment,ydir)
510 IF (hprogram==
'LFI ')
THEN
513 yrec,pfield,kresp,hcomment,ydir)
517 IF (hprogram==
'NC ')
THEN
519 IF (present(hnam_dim))
THEN
521 yrec,pfield,kresp,hcomment,ydir,hnam_dim)
524 yrec,pfield,kresp,hcomment,ydir)
529 IF (hprogram==
'ASCII ')
THEN
532 yrec,pfield,kresp,hcomment,ydir)
536 IF (hprogram==
'FA ')
THEN
539 yrec,il,pfield,kresp,hcomment,ydir)
543 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX1',1,zhook_handle)
549 hprogram,hrec,pfield,kresp,hcomment,hdir,hnam_dim)
562 USE yomhook
,ONLY : lhook, dr_hook
563 USE parkind1
,ONLY : jprb
587 USE modi_write_surfx2_mnh
590 USE modi_test_record_len
596 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
601 CHARACTER(LEN=*),
INTENT(IN) :: hrec
602 REAL,
DIMENSION(:,:),
INTENT(IN) :: pfield
603 INTEGER,
INTENT(OUT) :: kresp
604 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
605 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
609 CHARACTER(LEN=16),
OPTIONAL,
INTENT(IN) :: hnam_dim
612 CHARACTER(LEN=12) :: yrec
615 CHARACTER(LEN=1) :: ydir
617 REAL(KIND=JPRB) :: zhook_handle
619 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX2',0,zhook_handle)
623 IF (present(hdir)) ydir = hdir
628 hprogram,yrec,lnowrite)
629 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX2',1,zhook_handle)
632 IF (hprogram==
'MESONH')
THEN
634 CALL write_surfx2_mnh(yrec,il1,il2,pfield,kresp,hcomment,ydir)
638 IF (hprogram==
'AROME ')
THEN
640 CALL write_surfx2_aro(yrec,il1,il2,pfield,kresp,hcomment,ydir)
644 IF (hprogram==
'OFFLIN')
THEN
650 IF (hprogram==
'TEXTE ')
THEN
653 yrec,pfield,kresp,hcomment,ydir)
657 IF (hprogram==
'BINARY')
THEN
660 yrec,pfield,kresp,hcomment,ydir)
664 IF (hprogram==
'LFI ')
THEN
667 yrec,pfield,kresp,hcomment,ydir)
671 IF (hprogram==
'NC ')
THEN
673 IF (present(hnam_dim))
THEN
675 yrec,pfield,kresp,hcomment,ydir,hnam_dim)
678 yrec,pfield,kresp,hcomment,ydir)
683 IF (hprogram==
'ASCII ')
THEN
686 yrec,pfield,kresp,hcomment,ydir)
690 IF (hprogram==
'FA ')
THEN
693 yrec,il1,il2,pfield,kresp,hcomment,ydir)
697 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFX2',1,zhook_handle)
703 hprogram,hrec,kfield,kresp,hcomment)
715 USE yomhook
,ONLY : lhook, dr_hook
716 USE parkind1
,ONLY : jprb
742 USE modi_write_surfn0_mnh
745 USE modi_test_record_len
759 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
760 CHARACTER(LEN=*),
INTENT(IN) :: hrec
761 INTEGER,
INTENT(IN) :: kfield
762 INTEGER,
INTENT(OUT) :: kresp
763 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
767 CHARACTER(LEN=12) :: yrec
770 REAL(KIND=JPRB) :: zhook_handle
772 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN0',0,zhook_handle)
777 hprogram,yrec,lnowrite)
778 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN0',1,zhook_handle)
782 IF (hprogram==
'MESONH')
THEN
784 CALL write_surfn0_mnh(yrec,kfield,kresp,hcomment)
788 IF (hprogram==
'AROME ')
THEN
790 CALL write_surfn0_aro(yrec,kfield,kresp,hcomment)
794 IF (nrank==npio)
THEN
802 IF (hprogram==
'ASCII ')
THEN
805 yrec,kfield,kresp,hcomment)
809 IF (hprogram==
'FA ')
THEN
812 yrec,kfield,kresp,hcomment)
816 IF (hprogram==
'OFFLIN')
THEN
822 IF (hprogram==
'TEXTE ')
THEN
828 IF (hprogram==
'BINARY')
THEN
834 IF (hprogram==
'LFI ')
THEN
837 yrec,kfield,kresp,hcomment)
841 IF (hprogram==
'NC ')
THEN
844 yrec,kfield,kresp,hcomment)
851 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
856 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN0',1,zhook_handle)
862 hprogram,hrec,kfield,kresp,hcomment,hdir,hnam_dim)
875 USE yomhook
,ONLY : lhook, dr_hook
876 USE parkind1
,ONLY : jprb
900 USE modi_write_surfn1_mnh
903 USE modi_test_record_len
909 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
914 CHARACTER(LEN=*),
INTENT(IN) :: hrec
915 INTEGER,
DIMENSION(:),
INTENT(IN) :: kfield
916 INTEGER,
INTENT(OUT) :: kresp
917 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
918 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
922 CHARACTER(LEN=16),
OPTIONAL,
INTENT(IN) :: hnam_dim
925 CHARACTER(LEN=12) :: yrec
927 CHARACTER(LEN=1) :: ydir
929 REAL(KIND=JPRB) :: zhook_handle
931 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN1',0,zhook_handle)
935 IF (present(hdir)) ydir = hdir
939 hprogram,yrec,lnowrite)
940 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN1',1,zhook_handle)
943 IF (hprogram==
'MESONH')
THEN
945 CALL write_surfn1_mnh(yrec,il,kfield,kresp,hcomment,ydir)
949 IF (hprogram==
'AROME ')
THEN
951 CALL write_surfn1_aro(yrec,il,kfield,kresp,hcomment,ydir)
955 IF (hprogram==
'OFFLIN')
THEN
958 yrec,kfield,kresp,hcomment,ydir)
962 IF (hprogram==
'TEXTE ')
THEN
968 IF (hprogram==
'BINARY')
THEN
974 IF (hprogram==
'LFI ')
THEN
977 yrec,kfield,kresp,hcomment,ydir)
981 IF (hprogram==
'NC ')
THEN
983 IF (present(hnam_dim))
THEN
985 yrec,kfield,kresp,hcomment,ydir,hnam_dim)
988 yrec,kfield,kresp,hcomment,ydir)
993 IF (hprogram==
'ASCII ')
THEN
996 yrec,kfield,kresp,hcomment,ydir)
1000 IF (hprogram==
'FA ')
THEN
1003 yrec,il,kfield,kresp,hcomment,ydir)
1007 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFN1',1,zhook_handle)
1013 hprogram,hrec,hfield,kresp,hcomment)
1025 USE yomhook
,ONLY : lhook, dr_hook
1026 USE parkind1
,ONLY : jprb
1052 USE modi_write_surfc0_mnh
1055 USE modi_test_record_len
1069 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
1070 CHARACTER(LEN=*),
INTENT(IN) :: hrec
1071 CHARACTER(LEN=*),
INTENT(IN) :: hfield
1072 INTEGER,
INTENT(OUT) :: kresp
1073 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
1077 CHARACTER(LEN=12) :: yrec
1078 CHARACTER(LEN=40) :: yfield
1081 REAL(KIND=JPRB) :: zhook_handle
1083 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFC0',0,zhook_handle)
1087 yfield(1:len(hfield)) = hfield
1090 hprogram,yrec,lnowrite)
1091 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFC0',1,zhook_handle)
1094 IF (hprogram==
'MESONH')
THEN
1096 CALL write_surfc0_mnh(yrec,yfield,kresp,hcomment)
1100 IF (hprogram==
'AROME ')
THEN
1102 CALL write_surfc0_aro(yrec,yfield,kresp,hcomment)
1106 IF (nrank==npio)
THEN
1109 xtime0 = mpi_wtime()
1114 IF (hprogram==
'ASCII ')
THEN
1117 yrec,yfield,kresp,hcomment)
1121 IF (hprogram==
'FA ')
THEN
1124 yrec,yfield,kresp,hcomment)
1128 IF (hprogram==
'OFFLIN')
THEN
1134 IF (hprogram==
'TEXTE ')
THEN
1140 IF (hprogram==
'BINARY')
THEN
1146 IF (hprogram==
'LFI ')
THEN
1149 yrec,yfield,kresp,hcomment)
1153 IF (hprogram==
'NC ')
THEN
1156 yrec,yfield,kresp,hcomment)
1163 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
1167 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFC0',1,zhook_handle)
1173 hprogram,hrec,ofield,kresp,hcomment)
1185 USE yomhook
,ONLY : lhook, dr_hook
1186 USE parkind1
,ONLY : jprb
1212 USE modi_write_surfl0_mnh
1215 USE modi_test_record_len
1229 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
1230 CHARACTER(LEN=*),
INTENT(IN) :: hrec
1231 LOGICAL,
INTENT(IN) :: ofield
1232 INTEGER,
INTENT(OUT) :: kresp
1233 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
1237 CHARACTER(LEN=12) :: yrec
1240 REAL(KIND=JPRB) :: zhook_handle
1242 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL0',0,zhook_handle)
1247 hprogram,yrec,lnowrite)
1248 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL0',1,zhook_handle)
1251 IF (hprogram==
'MESONH')
THEN
1253 CALL write_surfl0_mnh(yrec,ofield,kresp,hcomment)
1257 IF (hprogram==
'AROME ')
THEN
1259 CALL write_surfl0_aro(yrec,ofield,kresp,hcomment)
1263 IF (nrank==npio)
THEN
1266 xtime0 = mpi_wtime()
1271 IF (hprogram==
'ASCII ')
THEN
1274 yrec,ofield,kresp,hcomment)
1278 IF (hprogram==
'FA ')
THEN
1281 yrec,ofield,kresp,hcomment)
1285 IF (hprogram==
'OFFLIN')
THEN
1291 IF (hprogram==
'TEXTE ')
THEN
1297 IF (hprogram==
'BINARY')
THEN
1303 IF (hprogram==
'LFI ')
THEN
1306 yrec,ofield,kresp,hcomment)
1310 IF (hprogram==
'NC ')
THEN
1313 yrec,ofield,kresp,hcomment)
1320 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
1325 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL0',1,zhook_handle)
1331 hprogram,hrec,ofield,kresp,hcomment,hdir)
1344 USE yomhook
,ONLY : lhook, dr_hook
1345 USE parkind1
,ONLY : jprb
1369 USE modi_write_surfl1_mnh
1372 USE modi_test_record_len
1378 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
1383 CHARACTER(LEN=*),
INTENT(IN) :: hrec
1384 LOGICAL,
DIMENSION(:),
INTENT(IN) :: ofield
1385 INTEGER,
INTENT(OUT) :: kresp
1386 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
1387 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: hdir
1393 CHARACTER(LEN=12) :: yrec
1395 CHARACTER(LEN=1) :: ydir
1397 REAL(KIND=JPRB) :: zhook_handle
1399 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL1',0,zhook_handle)
1403 IF (present(hdir)) ydir = hdir
1407 hprogram,yrec,lnowrite)
1408 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL1',1,zhook_handle)
1411 IF (hprogram==
'MESONH')
THEN
1413 CALL write_surfl1_mnh(yrec,il,ofield,kresp,hcomment,ydir)
1417 IF (hprogram==
'AROME ')
THEN
1419 CALL write_surfl1_aro(yrec,il,ofield,kresp,hcomment,ydir)
1423 IF (hprogram==
'OFFLIN')
THEN
1429 IF (hprogram==
'TEXTE ')
THEN
1435 IF (hprogram==
'BINARY')
THEN
1441 IF (hprogram==
'LFI ')
THEN
1444 yrec,ofield,kresp,hcomment,ydir)
1448 IF (hprogram==
'NC ')
THEN
1451 yrec,ofield,kresp,hcomment,ydir)
1455 IF (hprogram==
'ASCII ')
THEN
1458 yrec,ofield,kresp,hcomment,ydir)
1462 IF (hprogram==
'FA ')
THEN
1465 yrec,il,ofield,kresp,hcomment,ydir)
1469 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFL1',1,zhook_handle)
1475 hprogram,hrec,tfield,kresp,hcomment)
1491 USE yomhook
,ONLY : lhook, dr_hook
1492 USE parkind1
,ONLY : jprb
1516 USE modi_write_surft0_mnh
1519 USE modi_test_record_len
1533 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
1534 CHARACTER(LEN=*),
INTENT(IN) :: hrec
1536 INTEGER,
INTENT(OUT) :: kresp
1537 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
1541 CHARACTER(LEN=12) :: yrec
1548 REAL(KIND=JPRB) :: zhook_handle
1550 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT0',0,zhook_handle)
1554 iyear = tfield%TDATE%YEAR
1555 imonth = tfield%TDATE%MONTH
1556 iday = tfield%TDATE%DAY
1560 hprogram,yrec,lnowrite)
1561 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT0',1,zhook_handle)
1564 IF (hprogram==
'MESONH')
THEN
1566 CALL write_surft0_mnh(yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1570 IF (hprogram==
'AROME ')
THEN
1572 CALL write_surft0_aro(yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1576 IF (nrank==npio)
THEN
1579 xtime0 = mpi_wtime()
1584 IF (hprogram==
'ASCII ')
THEN
1587 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1591 IF (hprogram==
'FA ')
THEN
1594 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1598 IF (hprogram==
'OFFLIN')
THEN
1604 IF (hprogram==
'TEXTE ')
THEN
1610 IF (hprogram==
'BINARY')
THEN
1616 IF (hprogram==
'LFI ')
THEN
1619 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1623 IF (hprogram==
'NC ')
THEN
1626 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1633 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
1638 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT0',1,zhook_handle)
1644 hprogram,hrec,tfield,kresp,hcomment)
1659 USE yomhook
,ONLY : lhook, dr_hook
1660 USE parkind1
,ONLY : jprb
1672 USE modi_write_surft1_mnh
1676 USE modi_test_record_len
1682 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
1687 CHARACTER(LEN=*),
INTENT(IN) :: hrec
1688 TYPE (date_time),
DIMENSION(:),
INTENT(IN) :: tfield
1689 INTEGER,
INTENT(OUT) :: kresp
1690 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
1694 CHARACTER(LEN=12) :: yrec
1696 REAL ,
DIMENSION(SIZE(TFIELD,1)) :: ztime
1697 INTEGER,
DIMENSION(SIZE(TFIELD,1)) :: iday
1698 INTEGER,
DIMENSION(SIZE(TFIELD,1)) :: imonth
1699 INTEGER,
DIMENSION(SIZE(TFIELD,1)) :: iyear
1701 REAL(KIND=JPRB) :: zhook_handle
1703 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT1',0,zhook_handle)
1706 il1 =
SIZE(tfield,1)
1708 iyear(:) = tfield(:)%TDATE%YEAR
1709 imonth(:) = tfield(:)%TDATE%MONTH
1710 iday(:) = tfield(:)%TDATE%DAY
1711 ztime(:) = tfield(:)%TIME
1714 hprogram,yrec,lnowrite)
1715 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT1',1,zhook_handle)
1718 IF (hprogram==
'MESONH')
THEN
1722 CALL write_surft1_mnh(yrec,il1,iyear,imonth,iday,ztime,kresp,hcomment)
1726 IF (hprogram==
'AROME ')
THEN
1728 CALL write_surft1_aro(yrec,il1,iyear,imonth,iday,ztime,kresp,hcomment)
1740 IF (hprogram==
'LFI ')
THEN
1743 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1747 IF (hprogram==
'NC ')
THEN
1750 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1754 IF (hprogram==
'ASCII ')
THEN
1757 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1761 IF (hprogram==
'FA ')
THEN
1762 CALL
abor1_sfx(
'WRITE_SURFT1: NOT AVAILABLE FOR FA')
1765 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT1',1,zhook_handle)
1771 hprogram,hrec,tfield,kresp,hcomment)
1786 USE yomhook
,ONLY : lhook, dr_hook
1787 USE parkind1
,ONLY : jprb
1809 USE modi_test_record_len
1815 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
1820 CHARACTER(LEN=*),
INTENT(IN) :: hrec
1821 TYPE (date_time),
DIMENSION(:,:),
INTENT(IN) :: tfield
1822 INTEGER,
INTENT(OUT) :: kresp
1823 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
1827 CHARACTER(LEN=12) :: yrec
1829 REAL ,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: ztime
1830 INTEGER,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: iday
1831 INTEGER,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: imonth
1832 INTEGER,
DIMENSION(SIZE(TFIELD,1),SIZE(TFIELD,2)) :: iyear
1834 REAL(KIND=JPRB) :: zhook_handle
1836 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT2',0,zhook_handle)
1839 il1 =
SIZE(tfield,1)
1840 il2 =
SIZE(tfield,2)
1842 iyear(:,:) = tfield(:,:)%TDATE%YEAR
1843 imonth(:,:) = tfield(:,:)%TDATE%MONTH
1844 iday(:,:) = tfield(:,:)%TDATE%DAY
1845 ztime(:,:) = tfield(:,:)%TIME
1848 hprogram,yrec,lnowrite)
1849 IF(lnowrite .AND. lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT2',1,zhook_handle)
1852 IF (hprogram==
'MESONH')
THEN
1853 CALL
abor1_sfx(
'WRITE_SURFT2: NOT AVAILABLE FOR MESONH')
1856 IF (hprogram==
'AROME ')
THEN
1857 CALL
abor1_sfx(
'WRITE_SURFT2: NOT AVAILABLE FOR AROME')
1864 IF (hprogram==
'LFI ')
THEN
1867 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1871 IF (hprogram==
'TEXTE ')
THEN
1877 IF (hprogram==
'BINARY')
THEN
1883 IF (hprogram==
'ASCII ')
THEN
1886 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1890 IF (hprogram==
'FA ')
THEN
1893 yrec,il1,il2,iyear,imonth,iday,ztime,kresp,hcomment)
1897 IF (hprogram==
'NC ')
THEN
1900 yrec,iyear,imonth,iday,ztime,kresp,hcomment)
1904 IF (lhook) CALL dr_hook(
'MODI_WRITE_SURF:WRITE_SURFT2',1,zhook_handle)
subroutine write_surfx0(DGU, U, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT)
subroutine write_surfl1(DGU, U, HPROGRAM, HREC, OFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surfx1(DGU, U, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine abor1_sfx(YTEXT)
subroutine write_surfl0(DGU, U, HPROGRAM, HREC, OFIELD, KRESP, HCOMMENT)
subroutine write_surfc0(DGU, U, HPROGRAM, HREC, HFIELD, KRESP, HCOMMENT)
subroutine write_surft2(DGU, U, HPROGRAM, HREC, TFIELD, KRESP, HCOMMENT)
subroutine write_surfn0(DGU, U, HPROGRAM, HREC, KFIELD, KRESP, HCOMMENT)
subroutine write_surft1(DGU, U, HPROGRAM, HREC, TFIELD, KRESP, HCOMMENT)
subroutine test_record_len(DGU, HPROGRAM, HREC, ONOWRITE)
subroutine write_surfx2(DGU, U, HPROGRAM, HREC, PFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine write_surfn1(DGU, U, HPROGRAM, HREC, KFIELD, KRESP, HCOMMENT, HDIR, HNAM_DIM)
subroutine wlog_mpi(HLOG, PLOG, KLOG, KLOG2, OLOG)
subroutine write_surft0(DGU, U, HPROGRAM, HREC, TFIELD, KRESP, HCOMMENT)