68 USE modi_error_read_surf_lfi
77 CHARACTER(LEN=*),
INTENT(IN) :: HREC
78 REAL,
INTENT(OUT) :: PFIELD
79 INTEGER,
INTENT(OUT) :: KRESP
80 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
86 REAL(KIND=JPRB) :: ZHOOK_HANDLE
88 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX0_LFI',0,zhook_handle)
96 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX0_LFI',1,zhook_handle)
113 USE modi_error_read_surf_lfi
115 USE modi_get_surf_undef
128 CHARACTER(LEN=*),
INTENT(IN) :: HREC
129 REAL,
DIMENSION(:),
INTENT(OUT) :: PFIELD
130 INTEGER,
INTENT(OUT) :: KRESP
131 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
132 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
138 CHARACTER(LEN=18) :: YREC
142 INTEGER :: IVERSION, IBUGFIX
143 INTEGER :: IL1, INFOMPI, JJ
145 REAL,
DIMENSION(:),
ALLOCATABLE :: ZWORK
147 INTEGER,
DIMENSION(MPI_STATUS_SIZE) :: ISTATUS
149 DOUBLE PRECISION :: XTIME0
150 REAL(KIND=JPRB) :: ZHOOK_HANDLE
152 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI',0,zhook_handle)
170 ELSEIF (hdir/=
'-')
THEN 171 ALLOCATE(zwork(
nfull))
181 IF (hrec(1:2)==
'D_')
THEN 184 IF (iversion<=2 .OR. (iversion==3 .AND. ibugfix<=5)) yrec =
'DATA_'//hrec(3:12)
188 IF (hdir==
'H' .OR. hdir==
'A' .OR. hdir==
'E' .OR. &
189 hrec==
'XX' .OR. hrec==
'YY'.OR. hrec==
'DX' .OR. hrec==
'DY')
THEN 200 ELSEIF (hdir/=
'-')
THEN 212 ELSEIF (hdir==
'A')
THEN 217 pfield(:) = zwork(1:il1)
222 ELSEIF (hdir==
'-')
THEN 226 CALL mpi_bcast(zwork,il1*kind(zwork)/4,mpi_real,
npio,
ncomm,infompi)
241 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI',1,zhook_handle)
255 USE modi_error_read_surf_lfi
264 CHARACTER(LEN=*),
INTENT(IN) :: HREC
265 REAL,
DIMENSION(:),
INTENT(OUT):: PFIELD
266 INTEGER,
INTENT(OUT):: KRESP
267 CHARACTER(LEN=100),
INTENT(OUT):: HCOMMENT
268 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
275 CHARACTER(LEN=4) :: YREC1D
278 INTEGER :: IGRID, ILENCH
280 REAL,
DIMENSION(:),
ALLOCATABLE :: ZWORK1D
281 REAL,
DIMENSION(NIU,NJU) :: ZWORK2D
282 REAL(KIND=JPRB) :: ZHOOK_HANDLE, ZHOOK_HANDLE_OMP
284 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_1',0,zhook_handle)
288 IF (hrec==
'XX ' .OR. hrec==
'DX ')
THEN 289 ALLOCATE(zwork1d(
niu))
292 ELSEIF (hrec==
'YY ' .OR. hrec==
'DY ')
THEN 293 ALLOCATE(zwork1d(
nju))
297 ALLOCATE(zwork1d(
niu))
300 ALLOCATE(zwork1d(
nju))
304 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_1',1,zhook_handle)
306 IF (hrec==
'XX' .OR. hrec==
'YY'.OR. hrec==
'DX' .OR. hrec==
'DY')
THEN 308 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_2',0,zhook_handle)
311 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_2',1,zhook_handle)
316 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_31',0,zhook_handle_omp)
319 zwork2d(ji,:) = 0.5 * zwork1d(ji) + 0.5 * zwork1d(ji+1)
322 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_31',1,zhook_handle_omp)
326 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_32',0,zhook_handle_omp)
329 zwork2d(ji,:) = - zwork1d(ji) + zwork1d(ji+1)
332 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_32',1,zhook_handle_omp)
336 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_33',0,zhook_handle_omp)
339 zwork2d(:,jj) = 0.5 * zwork1d(jj) + 0.5 * zwork1d(jj+1)
342 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_33',1,zhook_handle_omp)
346 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_34',0,zhook_handle_omp)
349 zwork2d(:,jj) = - zwork1d(jj) + zwork1d(jj+1)
352 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_34',1,zhook_handle_omp)
360 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_41',0,zhook_handle)
362 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_41',1,zhook_handle)
365 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_42',0,zhook_handle_omp)
367 DO jj = 1,
SIZE(zwork2d,2)
371 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_42',1,zhook_handle_omp)
374 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_43',0,zhook_handle)
376 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_43',1,zhook_handle)
380 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_51',0,zhook_handle)
382 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_51',1,zhook_handle)
385 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_52',0,zhook_handle_omp)
387 DO ji = 1,
SIZE(zwork2d,1)
391 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_52',1,zhook_handle_omp)
394 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_53',0,zhook_handle)
396 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_53',1,zhook_handle)
400 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_6',0,zhook_handle)
402 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_6',1,zhook_handle)
407 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_7',0,zhook_handle_omp)
411 pfield(ji+(
nie-
nib+1)*(jj-1)) = zwork2d(
nib+ji-1,
njb+jj-1)
415 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_7',1,zhook_handle_omp)
418 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_8',0,zhook_handle)
421 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX1_LFI:READ_IN_LFI_X1_FOR_MNH_8',1,zhook_handle)
440 USE modi_error_read_surf_lfi
442 USE modi_get_surf_undef
455 CHARACTER(LEN=*),
INTENT(IN) :: HREC
456 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PFIELD
457 INTEGER,
INTENT(OUT) :: KRESP
458 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
459 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
465 CHARACTER(LEN=16) :: YREC
469 INTEGER :: IVERSION, IBUGFIX
470 INTEGER :: IL1, IL2, INFOMPI, JJ
472 REAL,
DIMENSION(:,:),
ALLOCATABLE :: ZWORK2
474 INTEGER,
DIMENSION(MPI_STATUS_SIZE,NPROC-1) :: ISTATUS
476 DOUBLE PRECISION :: XTIME0
477 REAL(KIND=JPRB) :: ZHOOK_HANDLE
479 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI',0,zhook_handle)
492 ALLOCATE(zwork2(il1,il2))
498 ALLOCATE(zwork2(il1,il2))
499 ELSEIF (hdir/=
'-')
THEN 500 ALLOCATE(zwork2(
nfull,il2))
510 IF (hrec(1:2)==
'D_')
THEN 513 IF (iversion<=2 .OR. (iversion==3 .AND. ibugfix<=5)) yrec =
'DATA_'//hrec(3:12)
514 IF (yrec(13:15)==
'SOI') yrec=yrec(1:15)//
'L' 515 IF (yrec(12:14)==
'SOI') yrec=yrec(1:14)//
'L' 519 IF (hdir==
'H' .OR. hdir==
'A' .OR. hdir==
'E')
THEN 530 ELSEIF (hdir/=
'-')
THEN 531 ALLOCATE(zwork2(0,0))
542 ELSEIF (hdir==
'A')
THEN 547 pfield(:,:) = zwork2(1:il1,:)
552 ELSEIF (hdir==
'-')
THEN 556 CALL mpi_bcast(zwork2,il1*il2*kind(zwork2)/4,mpi_real,
npio,
ncomm,infompi)
560 pfield(:,:) = zwork2(1:il1,:)
570 IF (hdir==
'H' .OR. hdir==
'A')
THEN 572 WHERE(pfield==999.) pfield=zundef
575 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI',1,zhook_handle)
589 USE modi_error_read_surf_lfi
598 CHARACTER(LEN=*),
INTENT(IN) :: HREC
599 REAL,
DIMENSION(:,:),
INTENT(OUT):: PFIELD
600 INTEGER,
INTENT(OUT):: KRESP
601 CHARACTER(LEN=100),
INTENT(OUT):: HCOMMENT
602 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
609 INTEGER :: IGRID, ILENCH
610 REAL,
DIMENSION(NIU,NJU,SIZE(PFIELD,2)):: ZWORK3D
611 REAL,
DIMENSION(:,:),
ALLOCATABLE :: ZWORK2D
612 REAL(KIND=JPRB) :: ZHOOK_HANDLE, ZHOOK_HANDLE_OMP
614 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_1',0,zhook_handle)
616 zwork3d(:,:,:) = 999.
619 ALLOCATE(zwork2d(
niu,
SIZE(pfield,2)))
622 ALLOCATE(zwork2d(
nju,
SIZE(pfield,2)))
626 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_1',1,zhook_handle)
630 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_21',0,zhook_handle)
632 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_21',1,zhook_handle)
635 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_22',0,zhook_handle_omp)
637 DO jj = 1,
SIZE(zwork3d,2)
641 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_22',1,zhook_handle_omp)
644 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_23',0,zhook_handle)
646 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_23',1,zhook_handle)
650 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_31',0,zhook_handle)
652 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_31',1,zhook_handle)
655 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_32',0,zhook_handle_omp)
657 DO ji = 1,
SIZE(zwork3d,1)
661 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_32',1,zhook_handle_omp)
664 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_33',0,zhook_handle)
666 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_33',1,zhook_handle)
670 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_4',0,zhook_handle)
672 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_4',1,zhook_handle)
677 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_5',0,zhook_handle_omp)
681 pfield(ji+(
nie-
nib+1)*(jj-1),:) = zwork3d(
nib+ji-1,
njb+jj-1,:)
685 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_5',1,zhook_handle_omp)
688 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_6',0,zhook_handle)
690 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFX2_LFI:READ_IN_LFI_X2_FOR_MNH_6',1,zhook_handle)
707 USE modi_error_read_surf_lfi
716 CHARACTER(LEN=*),
INTENT(IN) :: HREC
717 INTEGER,
INTENT(OUT) :: KFIELD
718 INTEGER,
INTENT(OUT) :: KRESP
719 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
723 CHARACTER(LEN=40) :: YGRID
726 INTEGER :: IIMAX, IJMAX
729 REAL(KIND=JPRB) :: ZHOOK_HANDLE
731 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFN0_LFI',0,zhook_handle)
741 IF (hrec/=
'DIM_FULL' .AND.
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFN0_LFI',1,zhook_handle)
742 IF (hrec/=
'DIM_FULL')
RETURN 777 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFN0_LFI',1,zhook_handle)
792 USE modi_error_read_surf_lfi
806 CHARACTER(LEN=*),
INTENT(IN) :: HREC
807 INTEGER,
DIMENSION(:),
INTENT(OUT) :: KFIELD
808 INTEGER,
INTENT(OUT) :: KRESP
809 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
810 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
818 INTEGER :: IL1, INFOMPI, JJ
820 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IWORK
822 INTEGER,
DIMENSION(MPI_STATUS_SIZE,NPROC-1) :: ISTATUS
824 DOUBLE PRECISION :: XTIME0
825 REAL(KIND=JPRB) :: ZHOOK_HANDLE
827 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFN1_LFI',0,zhook_handle)
845 ELSEIF (hdir/=
'-')
THEN 846 ALLOCATE(iwork(
nfull))
868 kfield(:) = iwork(1:il1)
873 ELSEIF (hdir==
'-')
THEN 877 CALL mpi_bcast(iwork,il1*kind(iwork)/4,mpi_integer,
npio,
ncomm,infompi)
881 kfield(:) = iwork(1:il1)
891 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFN1_LFI',1,zhook_handle)
904 USE modi_error_read_surf_lfi
913 CHARACTER(LEN=*),
INTENT(IN) :: HREC
914 CHARACTER(LEN=40),
INTENT(OUT) :: HFIELD
915 INTEGER,
INTENT(OUT) :: KRESP
916 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
922 REAL(KIND=JPRB) :: ZHOOK_HANDLE
924 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFC0_LFI',0,zhook_handle)
932 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFC0_LFI',1,zhook_handle)
945 USE modi_error_read_surf_lfi
954 CHARACTER(LEN=*),
INTENT(IN) :: HREC
955 LOGICAL,
INTENT(OUT) :: OFIELD
956 INTEGER,
INTENT(OUT) :: KRESP
957 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
963 REAL(KIND=JPRB) :: ZHOOK_HANDLE
965 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFL0_LFI',0,zhook_handle)
973 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFL0_LFI',1,zhook_handle)
988 USE modi_error_read_surf_lfi
1003 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1004 LOGICAL,
DIMENSION(:),
INTENT(OUT) :: OFIELD
1005 INTEGER,
INTENT(OUT) :: KRESP
1006 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
1007 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
1016 INTEGER :: IL1, INFOMPI
1017 DOUBLE PRECISION :: XTIME0
1018 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1020 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFL1_LFI',0,zhook_handle)
1025 xtime0 = mpi_wtime()
1034 WRITE(iluout,*)
'Error: 1D logical vector for reading on an horizontal grid:' 1035 WRITE(iluout,*)
'this option is not coded in READ_SURFL1_LFI' 1036 CALL abor1_sfx(
'MODE_READ_SURF_LFI: 1D LOGICAL VECTOR FOR READING NOT CODED IN READ_SURFL1_LFI')
1049 IF (
nproc>1 .AND. hdir/=
'A')
THEN 1051 xtime0 = mpi_wtime()
1052 CALL mpi_bcast(ofield,il1,mpi_logical,
npio,
ncomm,infompi)
1059 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFL1_LFI',1,zhook_handle)
1064 SUBROUTINE read_surft0_lfi(HREC,KYEAR,KMONTH,KDAY,PTIME,KRESP,HCOMMENT)
1072 USE modi_error_read_surf_lfi
1081 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1082 INTEGER,
INTENT(OUT) :: KYEAR
1083 INTEGER,
INTENT(OUT) :: KMONTH
1084 INTEGER,
INTENT(OUT) :: KDAY
1085 REAL,
INTENT(OUT) :: PTIME
1086 INTEGER,
INTENT(OUT) :: KRESP
1087 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
1091 CHARACTER(LEN=12) :: YREC
1092 INTEGER,
DIMENSION(3) :: ITDATE
1096 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1098 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFT0_LFI',0,zhook_handle)
1102 yrec=trim(hrec)//
'%TDATE' 1106 yrec=trim(hrec)//
'%TIME' 1114 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFT0_LFI',1,zhook_handle)
1119 SUBROUTINE read_surft1_lfi(HREC,KYEAR,KMONTH,KDAY,PTIME,KRESP,HCOMMENT)
1127 USE modi_error_read_surf_lfi
1136 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1137 INTEGER,
DIMENSION(:),
INTENT(OUT) :: KYEAR
1138 INTEGER,
DIMENSION(:),
INTENT(OUT) :: KMONTH
1139 INTEGER,
DIMENSION(:),
INTENT(OUT) :: KDAY
1140 REAL,
DIMENSION(:),
INTENT(OUT) :: PTIME
1141 INTEGER,
INTENT(OUT) :: KRESP
1142 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
1146 CHARACTER(LEN=12) :: YREC
1150 INTEGER,
DIMENSION(3,SIZE(KYEAR)) :: ITDATE
1151 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1153 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFT1_LFI',0,zhook_handle)
1157 yrec=trim(hrec)//
'%TDATE' 1161 yrec=trim(hrec)//
'%TIME' 1165 kyear(:) = itdate(1,:)
1166 kmonth(:) = itdate(2,:)
1167 kday(:) = itdate(3,:)
1169 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFT1_LFI',1,zhook_handle)
1174 SUBROUTINE read_surft2_lfi(HREC,KYEAR,KMONTH,KDAY,PTIME,KRESP,HCOMMENT)
1182 USE modi_error_read_surf_lfi
1191 CHARACTER(LEN=*),
INTENT(IN) :: HREC
1192 INTEGER,
DIMENSION(:,:),
INTENT(OUT) :: KYEAR
1193 INTEGER,
DIMENSION(:,:),
INTENT(OUT) :: KMONTH
1194 INTEGER,
DIMENSION(:,:),
INTENT(OUT) :: KDAY
1195 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PTIME
1196 INTEGER,
INTENT(OUT) :: KRESP
1197 CHARACTER(LEN=100),
INTENT(OUT) :: HCOMMENT
1201 CHARACTER(LEN=12) :: YREC
1205 REAL(KIND=JPRB) :: ZHOOK_HANDLE
1207 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFT2_LFI',0,zhook_handle)
1211 yrec=trim(hrec)//
'%YEAR' 1215 yrec=trim(hrec)//
'%MONTH' 1219 yrec=trim(hrec)//
'%DAY' 1223 yrec=trim(hrec)//
'%TIME' 1227 IF (
lhook)
CALL dr_hook(
'MODE_READ_SURF_LFI:READ_SURFT2_LFI',1,zhook_handle)
subroutine read_surfx0_lfi(HREC, PFIELD, KRESP, HCOMMENT)
subroutine error_read_surf_lfi(HREC, KRESP)
subroutine read_surfc0_lfi(HREC, HFIELD, KRESP, HCOMMENT)
subroutine read_surfn1_lfi(HREC, KFIELD, KRESP, HCOMMENT, HDIR)
subroutine read_surfl1_lfi(HREC, OFIELD, KRESP, HCOMMENT, HDIR)
subroutine fmreadc0(HFILEM, HRECFM, HFIPRI, KLENG, HFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
integer, dimension(:), allocatable nreq
subroutine fmreadn2(HFILEM, HRECFM, HFIPRI, KLENG, KFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
subroutine read_in_lfi_x2_for_mnh(HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine fmreadx0(HFILEM, HRECFM, HFIPRI, KLENG, PFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
subroutine read_surfn0_lfi(HREC, KFIELD, KRESP, HCOMMENT)
subroutine get_surf_undef(PUNDEF)
character(len=28), save cluout_lfi
subroutine read_surft2_lfi(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)
subroutine fmreadn1(HFILEM, HRECFM, HFIPRI, KLENG, KFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
subroutine abor1_sfx(YTEXT)
subroutine read_surfx2_lfi(HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine fmreadx1(HFILEM, HRECFM, HFIPRI, KLENG, PFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
subroutine read_surft1_lfi(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)
subroutine fmreadx2(HFILEM, HRECFM, HFIPRI, KLENG, PFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
character(len=28), save cfile_lfi
subroutine read_in_lfi_x1_for_mnh(HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine fmreadn0(HFILEM, HRECFM, HFIPRI, KLENG, KFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
character(len=28), save cfilepgd_lfi
subroutine fmreadx3(HFILEM, HRECFM, HFIPRI, KLENG, PFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
integer, dimension(:), pointer nmask
subroutine read_surfx1_lfi(HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine fmreadl1(HFILEM, HRECFM, HFIPRI, KLENG, OFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
subroutine fmreadl0(HFILEM, HRECFM, HFIPRI, KLENG, OFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
subroutine read_surfl0_lfi(HREC, OFIELD, KRESP, HCOMMENT)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine read_surft0_lfi(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)