57 USE modi_init_io_surf_n
59 USE modi_end_io_surf_n
62 USE yomhook
,ONLY : lhook, dr_hook
63 USE parkind1
,ONLY : jprb
79 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
85 CHARACTER(LEN=12) :: yrecfm
86 CHARACTER(LEN=100):: ycomment
87 CHARACTER(LEN=2) :: ylvlv, ypas
90 REAL(KIND=JPRB) :: zhook_handle
95 IF (lhook) CALL dr_hook(
'WRITE_DIAG_PGD_GRDN_N',0,zhook_handle)
97 hprogram,
'TOWN ',
'TEB ',
'WRITE')
101 IF (tvg%CPHOTO==
'NON' .OR. tvg%CPHOTO==
'AGS' .OR. tvg%CPHOTO==
'AST')
THEN
104 ycomment=
'leaf area index (-)'
107 hprogram,yrecfm,tgdpe%CUR%XLAI(:),iresp,hcomment=ycomment)
116 ycomment=
'vegetation fraction (-)'
119 hprogram,yrecfm,tgdpe%CUR%XVEG(:),iresp,hcomment=ycomment)
124 ycomment=
'surface roughness length (without snow) (M)'
127 hprogram,yrecfm,tgdpe%CUR%XZ0(:),iresp,hcomment=ycomment)
133 DO jl=1,
SIZE(tgdp%XDG,2)
134 WRITE(yrecfm,fmt=
'(A5,I1)')
'GD_DG',jl
135 ycomment=
'soil depth'//
' (M)'
137 hprogram,yrecfm,tgdp%XDG(:,jl),iresp,hcomment=ycomment)
142 IF(lfanocompact.AND..NOT.lprep)
THEN
144 IF (lhook) CALL dr_hook(
'WRITE_DIAG_PGD_GRDN_N',1,zhook_handle)
152 IF(tvg%CHORT==
'SGH')
THEN
154 ycomment=
'soil ice depth for runoff (m)'
156 hprogram,yrecfm,tgdp%XD_ICE(:),iresp,hcomment=ycomment)
163 DO jl=1,
SIZE(tgdp%XVEGTYPE,2)
164 WRITE(ypas,
'(I2)') jl
165 ylvlv=adjustl(ypas(:len_trim(ypas)))
166 WRITE(yrecfm,fmt=
'(A12)')
'GD_VEGTY_P'//ylvlv
167 ycomment=
'fraction of each vegetation type '//
' (-)'
169 hprogram,yrecfm,tgdp%XVEGTYPE(:,jl),iresp,hcomment=ycomment)
176 ycomment=
'minimum stomatal resistance (SM-1)'
178 hprogram,yrecfm,tgdp%XRSMIN(:),iresp,hcomment=ycomment)
181 ycomment=
'coefficient for RSMIN calculation (-)'
183 hprogram,yrecfm,tgdp%XGAMMA(:),iresp,hcomment=ycomment)
186 ycomment=
'vegetation thermal inertia coefficient (-)'
188 hprogram,yrecfm,tgdp%XCV(:),iresp,hcomment=ycomment)
191 ycomment=
'maximum solar radiation usable in photosynthesis (-)'
193 hprogram,yrecfm,tgdp%XRGL(:),iresp,hcomment=ycomment)
195 yrecfm=
'GD_EMIS_ISBA'
196 ycomment=
'surface emissivity (-)'
198 hprogram,yrecfm,tgdpe%CUR%XEMIS(:),iresp,hcomment=ycomment)
201 ycomment=
'coefficient for maximum water interception (-)'
203 hprogram,yrecfm,tgdp%XWRMAX_CF(:),iresp,hcomment=ycomment)
207 IF (dgmto%LSURF_DIAG_ALBEDO)
THEN
213 ycomment=
'soil near-infra-red albedo (-)'
215 hprogram,yrecfm,tgdp%XALBNIR_SOIL(:),iresp,hcomment=ycomment)
220 ycomment=
'soil visible albedo (-)'
222 hprogram,yrecfm,tgdp%XALBVIS_SOIL(:),iresp,hcomment=ycomment)
227 ycomment=
'soil UV albedo (-)'
229 hprogram,yrecfm,tgdp%XALBUV_SOIL(:),iresp,hcomment=ycomment)
236 ycomment=
'total near-infra-red albedo (-)'
238 hprogram,yrecfm,tgdpe%CUR%XALBNIR(:),iresp,hcomment=ycomment)
243 ycomment=
'total visible albedo (-)'
245 hprogram,yrecfm,tgdpe%CUR%XALBVIS(:),iresp,hcomment=ycomment)
250 ycomment=
'total UV albedo (-)'
252 hprogram,yrecfm,tgdpe%CUR%XALBUV(:),iresp,hcomment=ycomment)
261 IF (lhook) CALL dr_hook(
'WRITE_DIAG_PGD_GRDN_N',1,zhook_handle)
subroutine init_io_surf_n(DTCO, DGU, U, HPROGRAM, HMASK, HSCHEME, HACTION)
subroutine write_diag_pgd_grdn_n(DTCO, DGU, U, DGMTO, TGDPE, TGDP, TVG, HPROGRAM)
subroutine end_io_surf_n(HPROGRAM)