Newer
Older
PATC(:,:,:,JSV-NSV_PPBEG+1) = 0.
END SELECT
END DO
END IF
#ifdef MNH_FOREFIRE
IF (NSV_FFEND>=NSV_FFBEG) THEN
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'kg kg-1'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .TRUE.
!
DO JSV = NSV_FFBEG,NSV_FFEND
SELECT CASE(HGETSVT(JSV))
CASE ('READ')
WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'SVT',JSV

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PSVT(:,:,:,JSV),IRESP)
IF (IRESP /= 0) THEN
PSVT(:,:,:,JSV) = 0.
END IF
CASE ('INIT')
PSVT(:,:,:,JSV) = 0.
END SELECT
END DO
END IF
#endif
!
IF (NSV_CSEND>=NSV_CSBEG) THEN
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'kg kg-1'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .TRUE.
!
DO JSV = NSV_CSBEG,NSV_CSEND
SELECT CASE(HGETSVT(JSV))
CASE ('READ')
WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'SVT',JSV

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PSVT(:,:,:,JSV),IRESP)
IF (IRESP /= 0) THEN
PSVT(:,:,:,JSV) = 0.
END IF
CASE ('INIT')
PSVT(:,:,:,JSV) = 0.
END SELECT
END DO
END IF
IF (NSV_LNOXEND>=NSV_LNOXBEG) THEN
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'ppp'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .TRUE.
!
DO JSV = NSV_LNOXBEG,NSV_LNOXEND
SELECT CASE(HGETSVT(JSV))
CASE ('READ')
TZFIELD%CMNHNAME = 'LINOXT'

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)') 'X_Y_Z_','SVT',JSV
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PSVT(:,:,:,JSV))
CASE ('INIT')
PSVT(:,:,:,JSV) = 0.
END SELECT
END DO
END IF
!
IF (NSV_SNWEND>=NSV_SNWBEG) THEN
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'kg kg-1'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .TRUE.
DO JSV = NSV_SNWBEG,NSV_SNWEND
SELECT CASE(HGETSVT(JSV))
CASE ('READ')
TZFIELD%CMNHNAME = TRIM(CSNOWNAMES(JSV-NSV_SNWBEG+1))//'T'
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)') 'X_Y_Z_','SVT',JSV
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PSVT(:,:,:,JSV))
CASE ('INIT')
PSVT(:,:,:,JSV) = 0.
END SELECT
END DO
END IF
IF (NSV_SNW>=1) THEN
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'kg kg-1'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 2
TZFIELD%LTIMEDEP = .TRUE.
DO JSV = 1,NSV_SNW
SELECT CASE(HGETSVT(JSV))
CASE ('READ')
WRITE(TZFIELD%CMNHNAME,'(A10,I3.3)')'SNOWCANO_M',JSV
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
WRITE(TZFIELD%CCOMMENT,'(A6,A8,I3.3)') 'X_Y_Z_','SNOWCANO',JSV
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,XSNWCANO(:,:,JSV))
CASE ('INIT')
XSNWCANO(:,:,JSV) = 0.
END SELECT
END DO
END IF

Gaelle DELAUTIER
committed
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
IF (CTEMP_SCHEME/='LEFR') THEN
CALL IO_READ_FIELD(TPINIFILE,'US_PRES',PRUS_PRES)
CALL IO_READ_FIELD(TPINIFILE,'VS_PRES',PRVS_PRES)
CALL IO_READ_FIELD(TPINIFILE,'WS_PRES',PRWS_PRES)
END IF
IF (LSPLIT_CFL) THEN
CALL IO_READ_FIELD(TPINIFILE,'THS_CLD',PRTHS_CLD)
DO JRR = 1, SIZE(PRT,4)
SELECT CASE(JRR)
CASE (1)
CALL IO_READ_FIELD(TPINIFILE,'RVS_CLD',PRRS_CLD(:,:,:,JRR))
CASE (2)
CALL IO_READ_FIELD(TPINIFILE,'RCS_CLD',PRRS_CLD(:,:,:,JRR))
CASE (3)
CALL IO_READ_FIELD(TPINIFILE,'RRS_CLD',PRRS_CLD(:,:,:,JRR))
CASE (4)
CALL IO_READ_FIELD(TPINIFILE,'RIS_CLD',PRRS_CLD(:,:,:,JRR))
CASE (5)
CALL IO_READ_FIELD(TPINIFILE,'RSS_CLD',PRRS_CLD(:,:,:,JRR))
CASE (6)
CALL IO_READ_FIELD(TPINIFILE,'RGS_CLD',PRRS_CLD(:,:,:,JRR))
CASE (7)
CALL IO_READ_FIELD(TPINIFILE,'RHS_CLD',PRRS_CLD(:,:,:,JRR))
CASE DEFAULT
CALL PRINT_MSG(NVERB_FATAL,'GEN','READ_FIELD','PRT is too big')
END SELECT
END DO
DO JSV = NSV_C2R2BEG,NSV_C2R2END
IF (JSV == NSV_C2R2BEG ) THEN
TZFIELD%CMNHNAME = 'RSVS_CLD1'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'RSVS_CLD1'
TZFIELD%CUNITS = '1'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_RHS_CLD'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .TRUE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PRSVS_CLD(:,:,:,JSV))
END IF
IF (JSV == NSV_C2R2BEG ) THEN
TZFIELD%CMNHNAME = 'RSVS_CLD2'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'RSVS_CLD2'
TZFIELD%CUNITS = '1'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_RHS_CLD'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .TRUE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PRSVS_CLD(:,:,:,JSV))
END IF
END DO
END IF
IF (CPROGRAM=='MESONH' .AND. HUVW_ADV_SCHEME(1:3)=='CEN' .AND. &
HTEMP_SCHEME == 'LEFR' ) THEN

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'UM', PUM)
CALL IO_READ_FIELD(TPINIFILE,'VM', PVM)
CALL IO_READ_FIELD(TPINIFILE,'WM', PWM)
CALL IO_READ_FIELD(TPINIFILE,'DUM',PDUM)
CALL IO_READ_FIELD(TPINIFILE,'DVM',PDVM)
CALL IO_READ_FIELD(TPINIFILE,'DWM',PDWM)
ELSE
PUM = PUT
PVM = PVT
PWM = PWT
END IF
END IF
!
!* 2.2a 3D LS fields
!
!
CALL INI_LS(TPINIFILE,HGETRVT,GLSOURCE,PLSUM,PLSVM,PLSWM,PLSTHM,PLSRVM)
!
!
!* 2.2b 2D "surfacic" LB fields
!
!
CALL INI_LB(TPINIFILE,GLSOURCE,ISV, &
KSIZELBX_ll,KSIZELBXU_ll,KSIZELBY_ll,KSIZELBYV_ll, &
KSIZELBXTKE_ll,KSIZELBYTKE_ll, &
KSIZELBXR_ll,KSIZELBYR_ll,KSIZELBXSV_ll,KSIZELBYSV_ll, &
HGETTKET,HGETRVT,HGETRCT,HGETRRT,HGETRIT,HGETRST, &
HGETRGT,HGETRHT,HGETSVT, &
PLBXUM,PLBXVM,PLBXWM,PLBXTHM,PLBXTKEM,PLBXRM,PLBXSVM, &
PLBYUM,PLBYVM,PLBYWM,PLBYTHM,PLBYTKEM,PLBYRM,PLBYSVM )

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'DRYMASST',PDRYMASST) ! dry mass
SELECT CASE(HGETSRCT) ! turbulent flux SRC at time t
CALL IO_READ_FIELD(TPINIFILE,'SRCT',PSRCT)
CASE('INIT')
PSRCT(:,:,:)=0.
END SELECT
!
SELECT CASE(HGETSIGS) ! subgrid condensation
CASE('READ')

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'SIGS',PSIGS)
CASE('INIT')
PSIGS(:,:,:)=0.
END SELECT
!
SELECT CASE(HGETPHC) ! pH in cloud water
CASE('READ')

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'PHC',PPHC)
END SELECT
!
SELECT CASE(HGETPHR) ! pH in rainwater
CASE('READ')

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'PHR',PPHR)
END SELECT
!
IRESP=0
IF(HGETCLDFR=='READ') THEN ! cloud fraction

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'CLDFR',PCLDFR,IRESP)
ENDIF
IF(HGETCLDFR=='INIT' .OR. IRESP /= 0) THEN
IF(SIZE(PRT,4) > 3) THEN
WHERE(PRT(:,:,:,2)+PRT(:,:,:,4) > 1.E-30)
PCLDFR(:,:,:) = 1.
ELSEWHERE
PCLDFR(:,:,:) = 0.
ENDWHERE
ELSE
WHERE(PRT(:,:,:,2) > 1.E-30)
PCLDFR(:,:,:) = 1.
ELSEWHERE
PCLDFR(:,:,:) = 0.
ENDWHERE
ENDIF
ENDIF
!
!* boundary layer depth
!
IF (HGETBL_DEPTH=='READ') THEN

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'BL_DEPTH',PBL_DEPTH)
ELSE
PBL_DEPTH(:,:)=XUNDEF
END IF
!
!* surface boundary layer depth
!
IF (HGETSBL_DEPTH=='READ') THEN

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,'SBL_DEPTH',PSBL_DEPTH)
ELSE
PSBL_DEPTH(:,:)=0.
END IF
!
!* Contribution from MAss Flux parameterizations to vert. flux of buoyancy
!
SELECT CASE(HGETTKET)
CASE('READ')

Gaelle DELAUTIER
committed
IF (CSCONV=='EDKF') THEN
CALL IO_READ_FIELD(TPINIFILE,'WTHVMF',PWTHVMF)
ELSE
PWTHVMF(:,:,:)=0
ENDIF
CASE('INIT')
PWTHVMF(:,:,:)=0.
END SELECT
!-------------------------------------------------------------------------------
!
! ----------------------
!
!
IF ( LFORCING ) THEN
DO JT=1,KFRC
!
WRITE (YFRC,'(I3.3)') JT
!
TZFIELD%CMNHNAME = 'DTFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'seconds since YYYY-MM-DD HH:MM:SS.S'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Date of forcing profile '//YFRC
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEDATE
TZFIELD%NDIMS = 0
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,TPDTFRC(JT))
!
TZFIELD%CMNHNAME = 'UFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'm s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Zonal component of horizontal forcing wind'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PUFRC(:,JT))
!
TZFIELD%CMNHNAME = 'VFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'm s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Meridian component of horizontal forcing wind'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PVFRC(:,JT))
!
TZFIELD%CMNHNAME = 'WFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'm s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Vertical forcing wind'
TZFIELD%NGRID = 4
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PWFRC(:,JT))
!
TZFIELD%CMNHNAME = 'THFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Forcing potential temperature'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTHFRC(:,JT))
!
TZFIELD%CMNHNAME = 'RVFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'kg kg-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Forcing vapor mixing ratio'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PRVFRC(:,JT))
!
TZFIELD%CMNHNAME = 'TENDTHFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Large-scale potential temperature tendency for forcing'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTENDTHFRC(:,JT))
!
TZFIELD%CMNHNAME = 'TENDRVFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'kg kg-1 s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Large-scale vapor mixing ratio tendency for forcing'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTENDRVFRC(:,JT))
!
TZFIELD%CMNHNAME = 'GXTHFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K m-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Large-scale potential temperature gradient for forcing'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PGXTHFRC(:,JT))
!
TZFIELD%CMNHNAME = 'GYTHFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K m-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Large-scale potential temperature gradient for forcing'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PGYTHFRC(:,JT))
!
TZFIELD%CMNHNAME = 'PGROUNDFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'Pa'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Forcing ground pressure'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 0
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PPGROUNDFRC(JT))

WAUTELET Philippe
committed
TZFIELD%CMNHNAME = 'TENDUFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)

WAUTELET Philippe
committed
TZFIELD%CUNITS = 'm s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Large-scale U tendency for forcing'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTENDUFRC(:,JT))
!
TZFIELD%CMNHNAME = 'TENDVFRC'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)

WAUTELET Philippe
committed
TZFIELD%CUNITS = 'm s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Large-scale V tendency for forcing'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
TZFIELD%LTIMEDEP = .FALSE.

WAUTELET Philippe
committed
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTENDVFRC(:,JT))
END DO
END IF
!
!-------------------------------------------------------------------------------
IF (L2D_ADV_FRC) THEN
DO JT=1,KADVFRC
WRITE (YFRC,'(I3.3)') JT
!
TZFIELD%CMNHNAME = 'DTADV'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'seconds since YYYY-MM-DD HH:MM:SS.S'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Date and time of the advecting forcing '//YFRC
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEDATE
TZFIELD%NDIMS = 0
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,TPDTADVFRC(JT))
TZFIELD%CMNHNAME = 'TH_ADV'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = ''
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PDTHFRC(:,:,:,JT))
!
TZFIELD%CMNHNAME = 'Q_ADV'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'kg kg-1 s-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = ''
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PDRVFRC(:,:,:,JT))
ENDDO
ENDIF
!
IF (L2D_REL_FRC) THEN
DO JT=1,KRELFRC
WRITE (YFRC,'(I3.3)') JT
!
TZFIELD%CMNHNAME = 'DTREL'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'seconds since YYYY-MM-DD HH:MM:SS.S'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = 'Date and time of the relaxation forcing '//YFRC
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEDATE
TZFIELD%NDIMS = 0
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,TPDTRELFRC(JT))
!
TZFIELD%CMNHNAME = 'TH_REL'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = ''
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTHREL(:,:,:,JT))
TZFIELD%CMNHNAME = 'Q_REL'//YFRC
TZFIELD%CSTDNAME = ''

WAUTELET Philippe
committed
TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'kg kg-1'
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = ''
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
TZFIELD%LTIMEDEP = .FALSE.
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PRVREL(:,:,:,JT))
ENDDO
ENDIF
!
IF (LUV_FLX) THEN
IF ( CCONF /= 'START' .OR. CPROGRAM=='SPAWN ' ) THEN
CALL IO_READ_FIELD(TPINIFILE,'VU_FLX',PVU_FLUX_M)
ELSE IF (CCONF == 'START') THEN
PVU_FLUX_M(:,:,:)=0.
END IF
ENDIF
!
IF (LTH_FLX) THEN
IF ( CCONF /= 'START' .OR. CPROGRAM=='SPAWN ' ) THEN
CALL IO_READ_FIELD(TPINIFILE,'VT_FLX',PVTH_FLUX_M)
CALL IO_READ_FIELD(TPINIFILE,'WT_FLX',PWTH_FLUX_M)
ELSE IF (CCONF == 'START') THEN
PWTH_FLUX_M(:,:,:)=0.
PVTH_FLUX_M(:,:,:)=0.
END IF
ENDIF
!
!-------------------------------------------------------------------------------
!
!
! ----------------------
!
IF (NVERB >= 10 .AND. .NOT. L1D) THEN
IIUP = SIZE(PUT,1)
IJUP = SIZE(PVT,2)
ILUOUT= TLUOUT%NLU
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PUT values:'
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PUT(1,1,JKLOOP),PUT(IIUP/2,IJUP/2,JKLOOP), &
PUT(IIUP,KJU,JKLOOP),JKLOOP
END DO
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PVT values:'
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PVT(1,1,JKLOOP),PVT(IIUP/2,IJUP/2,JKLOOP), &
PVT(IIUP,IJUP,JKLOOP),JKLOOP
END DO
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PWT values:'
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PWT(1,1,JKLOOP),PWT(IIUP/2,IJUP/2,JKLOOP), &
PWT(IIUP,IJUP,JKLOOP),JKLOOP
END DO
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PTHT values:'
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PTHT(1,1,JKLOOP),PTHT(IIUP/2,IJUP/2,JKLOOP), &
PTHT(IIUP,IJUP,JKLOOP),JKLOOP
END DO
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PTKET values:'
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PTKET(1,1,JKLOOP),PTKET(IIUP/2,IJUP/2,JKLOOP), &
PTKET(IIUP,IJUP,JKLOOP),JKLOOP
END DO
END IF
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PRT values:'
WRITE(ILUOUT,FMT=*) 'JRR = ',JRR
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PRT(1,1,JKLOOP,JRR),PRT(IIUP/2,IJUP/2,JKLOOP,JRR), &
PRT(IIUP,IJUP,JKLOOP,JRR),JKLOOP
END DO
END DO
!
END IF
!
WRITE(ILUOUT,FMT=*) 'READ_FIELD: Some PSVT values:'
WRITE(ILUOUT,FMT=*) 'JRR = ',JRR
WRITE(ILUOUT,FMT=*) '(1,1,JK) (IIU/2,IJU/2,JK) (IIU,IJU,JK) JK '
DO JKLOOP=1,KKU
WRITE(ILUOUT,FMT=*) PSVT(1,1,JKLOOP,JRR),PSVT(IIUP/2,IJUP/2,JKLOOP,JRR), &
PSVT(IIUP,IJUP,JKLOOP,JRR),JKLOOP
END DO
END DO
!
END IF
END IF
!-------------------------------------------------------------------------------