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
78 CHARACTER(LEN=12) :: yrecfm
79 CHARACTER(LEN=3) :: yread
83 INTEGER :: iversion, ibugfix
84 REAL(KIND=JPRB) :: zhook_handle
90 IF (lhook) CALL dr_hook(
'READ_SEAFLUX_SBL_N',0,zhook_handle)
96 hprogram,yrecfm,iversion,iresp)
100 hprogram,yrecfm,ibugfix,iresp)
106 hprogram,yrecfm,s%LSBL,iresp)
108 IF (.NOT.s%LSBL)
THEN
109 ALLOCATE(ssb%XZ (0,0))
110 ALLOCATE(ssb%XU (0,0))
111 ALLOCATE(ssb%XT (0,0))
112 ALLOCATE(ssb%XQ (0,0))
113 ALLOCATE(ssb%XTKE(0,0))
114 ALLOCATE(ssb%XLMO(0) )
115 ALLOCATE(ssb%XP (0,0))
116 ALLOCATE(ssb%XDZ (0,0))
117 ALLOCATE(ssb%XZF (0,0))
118 ALLOCATE(ssb%XDZF(0,0))
119 IF (lhook) CALL dr_hook(
'READ_SEAFLUX_SBL_N',1,zhook_handle)
127 hprogram,yrecfm,ssb%NLVL,iresp)
134 ALLOCATE(ssb%XZ(ilu,ssb%NLVL))
137 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SEA_SBL_Z',jlayer,
' '
139 hprogram,yrecfm,ssb%XZ(:,jlayer),iresp)
142 ALLOCATE(ssb%XU (ilu,ssb%NLVL))
143 ALLOCATE(ssb%XT (ilu,ssb%NLVL))
144 ALLOCATE(ssb%XQ (ilu,ssb%NLVL))
145 ALLOCATE(ssb%XTKE(ilu,ssb%NLVL))
146 ALLOCATE(ssb%XLMO(ilu) )
147 ALLOCATE(ssb%XP (ilu,ssb%NLVL))
149 IF (iversion>7 .OR. iversion==7 .AND.ibugfix>=2)
THEN
152 hprogram,yrecfm,yread,iresp)
157 IF(yread==
'ALL')
THEN
161 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SEA_SBL_U',jlayer,
' '
163 hprogram,yrecfm,ssb%XU(:,jlayer),iresp)
168 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SEA_SBL_T',jlayer,
' '
170 hprogram,yrecfm,ssb%XT(:,jlayer),iresp)
175 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SEA_SBL_Q',jlayer,
' '
177 hprogram,yrecfm,ssb%XQ(:,jlayer),iresp)
182 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SEA_SBL_E',jlayer,
' '
184 hprogram,yrecfm,ssb%XTKE(:,jlayer),iresp)
188 yrecfm=
'SEA_SBL_LMO '
190 hprogram,yrecfm,ssb%XLMO(:),iresp)
194 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SEA_SBL_P',jlayer,
' '
196 hprogram,yrecfm,ssb%XP(:,jlayer),iresp)
200 ssb%XU (:,:) = xundef
201 ssb%XT (:,:) = xundef
202 ssb%XQ (:,:) = xundef
203 ssb%XTKE(:,:) = xundef
205 ssb%XP (:,:) = xundef
225 ALLOCATE(ssb%XDZ (ilu,ssb%NLVL))
226 ALLOCATE(ssb%XZF (ilu,ssb%NLVL))
227 ALLOCATE(ssb%XDZF(ilu,ssb%NLVL))
228 CALL
canopy_grid(ilu,ssb%NLVL,ssb%XZ,ssb%XZF,ssb%XDZ,ssb%XDZF)
230 IF (lhook) CALL dr_hook(
'READ_SEAFLUX_SBL_N',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine read_seaflux_sbl_n(DTCO, S, SSB, U, HPROGRAM)
subroutine canopy_grid(KI, KLVL, PZ, PZF, PDZ, PDZF)