63 USE yomhook
,ONLY : lhook, dr_hook
64 USE parkind1
,ONLY : jprb
66 USE modi_get_type_dim_n
80 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
81 CHARACTER(LEN=3),
INTENT(IN) :: hpatch
88 INTEGER :: jlayer, jnbiomass
89 CHARACTER(LEN=30) :: yrecfm
90 CHARACTER(LEN=4) :: ylvl
91 REAL,
DIMENSION(:),
ALLOCATABLE :: zwork
93 REAL(KIND=JPRB) :: zhook_handle
100 IF (lhook) CALL dr_hook(
'READ_TEB_GREENROOF_N',0,zhook_handle)
113 iwork = grm%TGRO%NLAYER_GR
116 WRITE(ylvl,
'(I2)') jlayer
117 yrecfm=hpatch//
'GR_TG'//adjustl(ylvl(:len_trim(ylvl)))
118 yrecfm=adjustl(yrecfm)
120 hprogram,yrecfm,zwork(:),iresp)
121 grm%TGR%CUR%XTG(:,jlayer) = zwork
127 DO jlayer=1,grm%TGRO%NLAYER_GR
128 WRITE(ylvl,
'(I2)') jlayer
129 yrecfm=hpatch//
'GR_WG'//adjustl(ylvl(:len_trim(ylvl)))
130 yrecfm=adjustl(yrecfm)
132 hprogram,yrecfm,zwork(:),iresp)
133 grm%TGR%CUR%XWG(:,jlayer) = zwork
138 DO jlayer=1,grm%TGRO%NLAYER_GR
139 WRITE(ylvl,
'(I2)') jlayer
140 yrecfm=hpatch//
'GR_WGI'//adjustl(ylvl(:len_trim(ylvl)))
141 yrecfm=adjustl(yrecfm)
143 hprogram,yrecfm,zwork(:),iresp)
144 grm%TGR%CUR%XWGI(:,jlayer) = zwork
149 yrecfm=hpatch//
'GR_WR'
150 yrecfm=adjustl(yrecfm)
152 hprogram,yrecfm,grm%TGR%CUR%XWR(:),iresp)
156 IF (tvg%CPHOTO==
'LAI' .OR. tvg%CPHOTO==
'LST' .OR. tvg%CPHOTO==
'NIT' .OR. tvg%CPHOTO==
'NCB')
THEN
157 yrecfm = hpatch//
'GR_LAI'
158 yrecfm=adjustl(yrecfm)
160 hprogram,yrecfm,grm%TGRPE%CUR%XLAI(:),iresp)
166 hprogram,
'GR',hpatch,ilu,1,grm%TGR%CUR%TSNOW )
175 yrecfm = hpatch//
'GR_RESA'
176 yrecfm=adjustl(yrecfm)
177 grm%TGR%CUR%XRESA(:) = 100.
179 hprogram,yrecfm,grm%TGR%CUR%XRESA(:),iresp)
181 grm%TGR%CUR%XLE(:) = xundef
185 IF (tvg%CPHOTO/=
'NON')
THEN
186 grm%TGR%CUR%XAN(:) = 0.
187 grm%TGR%CUR%XANDAY(:) = 0.
188 grm%TGR%CUR%XANFM(:) = xanfminit
189 grm%TGR%CUR%XLE(:) = 0.
192 IF (tvg%CPHOTO==
'AGS' .OR. tvg%CPHOTO==
'AST')
THEN
193 grm%TGR%CUR%XBIOMASS(:,:) = 0.
194 grm%TGR%CUR%XRESP_BIOMASS(:,:) = 0.
195 ELSEIF (tvg%CPHOTO==
'LAI' .OR. tvg%CPHOTO==
'LST')
THEN
196 grm%TGR%CUR%XBIOMASS(:,1) = grm%TGRP%XBSLAI(:) * grm%TGRPE%CUR%XLAI(:)
197 grm%TGR%CUR%XRESP_BIOMASS(:,:) = 0.
198 ELSEIF (tvg%CPHOTO==
'NIT')
THEN
199 grm%TGR%CUR%XBIOMASS(:,:) = 0.
200 DO jnbiomass=1,tvg%NNBIOMASS
201 WRITE(ylvl,
'(I1)') jnbiomass
202 yrecfm=hpatch//
'GR_BIOMA'//adjustl(ylvl(:len_trim(ylvl)))
203 yrecfm=adjustl(yrecfm)
205 hprogram,yrecfm,grm%TGR%CUR%XBIOMASS(:,jnbiomass),iresp)
208 grm%TGR%CUR%XRESP_BIOMASS(:,:) = 0.
209 DO jnbiomass=2,tvg%NNBIOMASS
210 WRITE(ylvl,
'(I1)') jnbiomass
211 yrecfm=hpatch//
'GR_RESPI'//adjustl(ylvl(:len_trim(ylvl)))
212 yrecfm=adjustl(yrecfm)
214 hprogram,yrecfm,grm%TGR%CUR%XRESP_BIOMASS(:,jnbiomass),iresp)
220 IF (lhook) CALL dr_hook(
'READ_TEB_GREENROOF_N',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine read_gr_snow(HPROGRAM, HSURFTYPE, HPREFIX, KLU, KPATCH, TPSNOW, HDIR, KVERSION, KBUGFIX)
subroutine read_teb_greenroof_n(DTCO, U, TVG, GRM, HPROGRAM, HPATCH)