55 USE modi_get_type_dim_n
57 USE yomhook
,ONLY : lhook, dr_hook
58 USE parkind1
,ONLY : jprb
71 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
77 CHARACTER(LEN=12) :: yrecfm
78 CHARACTER(LEN=3) :: yread
82 INTEGER :: iversion, ibugfix
83 REAL(KIND=JPRB) :: zhook_handle
88 IF (lhook) CALL dr_hook(
'READ_WATFLUX_SBL_N',0,zhook_handle)
96 hprogram,yrecfm,iversion,iresp)
100 hprogram,yrecfm,ibugfix,iresp)
104 hprogram,yrecfm,w%LSBL,iresp)
106 IF (.NOT.w%LSBL)
THEN
107 ALLOCATE(wsb%XZ (0,0))
108 ALLOCATE(wsb%XU (0,0))
109 ALLOCATE(wsb%XT (0,0))
110 ALLOCATE(wsb%XQ (0,0))
111 ALLOCATE(wsb%XTKE(0,0))
112 ALLOCATE(wsb%XLMO(0) )
113 ALLOCATE(wsb%XP (0,0))
114 ALLOCATE(wsb%XDZ (0,0))
115 ALLOCATE(wsb%XZF (0,0))
116 ALLOCATE(wsb%XDZF(0,0))
117 IF (lhook) CALL dr_hook(
'READ_WATFLUX_SBL_N',1,zhook_handle)
125 hprogram,yrecfm,wsb%NLVL,iresp)
132 ALLOCATE(wsb%XZ(ilu,wsb%NLVL))
135 WRITE(yrecfm,
'(A9,I2.2,A1)')
'WAT_SBL_Z',jlayer,
' '
137 hprogram,yrecfm,wsb%XZ(:,jlayer),iresp)
140 ALLOCATE(wsb%XU (ilu,wsb%NLVL))
141 ALLOCATE(wsb%XT (ilu,wsb%NLVL))
142 ALLOCATE(wsb%XQ (ilu,wsb%NLVL))
143 ALLOCATE(wsb%XTKE(ilu,wsb%NLVL))
144 ALLOCATE(wsb%XLMO(ilu) )
145 ALLOCATE(wsb%XP (ilu,wsb%NLVL))
147 IF (iversion>7 .OR. iversion==7 .AND.ibugfix>=2)
THEN
150 hprogram,yrecfm,yread,iresp)
155 IF(yread==
'ALL')
THEN
159 WRITE(yrecfm,
'(A9,I2.2,A1)')
'WAT_SBL_U',jlayer,
' '
161 hprogram,yrecfm,wsb%XU(:,jlayer),iresp)
166 WRITE(yrecfm,
'(A9,I2.2,A1)')
'WAT_SBL_T',jlayer,
' '
168 hprogram,yrecfm,wsb%XT(:,jlayer),iresp)
173 WRITE(yrecfm,
'(A9,I2.2,A1)')
'WAT_SBL_Q',jlayer,
' '
175 hprogram,yrecfm,wsb%XQ(:,jlayer),iresp)
180 WRITE(yrecfm,
'(A9,I2.2,A1)')
'WAT_SBL_E',jlayer,
' '
182 hprogram,yrecfm,wsb%XTKE(:,jlayer),iresp)
186 yrecfm=
'WAT_SBL_LMO '
188 hprogram,yrecfm,wsb%XLMO(:),iresp)
192 WRITE(yrecfm,
'(A9,I2.2,A1)')
'WAT_SBL_P',jlayer,
' '
194 hprogram,yrecfm,wsb%XP(:,jlayer),iresp)
198 wsb%XU (:,:) = xundef
199 wsb%XT (:,:) = xundef
200 wsb%XQ (:,:) = xundef
201 wsb%XTKE(:,:) = xundef
203 wsb%XP (:,:) = xundef
223 ALLOCATE(wsb%XDZ (ilu,wsb%NLVL))
224 ALLOCATE(wsb%XZF (ilu,wsb%NLVL))
225 ALLOCATE(wsb%XDZF(ilu,wsb%NLVL))
226 CALL
canopy_grid(ilu,wsb%NLVL,wsb%XZ,wsb%XZF,wsb%XDZ,wsb%XDZF)
228 IF (lhook) CALL dr_hook(
'READ_WATFLUX_SBL_N',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine read_watflux_sbl_n(DTCO, U, W, WSB, HPROGRAM)
subroutine canopy_grid(KI, KLVL, PZ, PZF, PDZ, PDZF)