57 USE modi_vegetation_update
60 USE yomhook
,ONLY : lhook, dr_hook
61 USE parkind1
,ONLY : jprb
71 TYPE(isba_grid_t
),
INTENT(INOUT) :: ig
72 TYPE(isba_t
),
INTENT(INOUT) :: i
73 TYPE(teb_t),
INTENT(INOUT) :: t
80 REAL ,
INTENT(IN) :: ptstep
81 INTEGER,
INTENT(IN) :: klu
86 REAL,
DIMENSION(KLU,1) :: zz0effip
87 REAL,
DIMENSION(KLU,1) :: zz0effim
88 REAL,
DIMENSION(KLU,1) :: zz0effjp
89 REAL,
DIMENSION(KLU,1) :: zz0effjm
90 REAL,
DIMENSION(KLU) :: zaosip
91 REAL,
DIMENSION(KLU) :: zaosim
92 REAL,
DIMENSION(KLU) :: zaosjp
93 REAL,
DIMENSION(KLU) :: zaosjm
94 REAL,
DIMENSION(KLU) :: zho2ip
95 REAL,
DIMENSION(KLU) :: zho2im
96 REAL,
DIMENSION(KLU) :: zho2jp
97 REAL,
DIMENSION(KLU) :: zho2jm
98 REAL,
DIMENSION(KLU,1) :: zlai
99 REAL,
DIMENSION(KLU,1) :: zveg
100 REAL,
DIMENSION(KLU,1) :: zz0
101 REAL,
DIMENSION(KLU,1) :: zalbnir
102 REAL,
DIMENSION(KLU,1) :: zalbvis
103 REAL,
DIMENSION(KLU,1) :: zalbuv
104 REAL,
DIMENSION(KLU,1) :: zemis
105 REAL,
DIMENSION(KLU,1) :: zrsmin
106 REAL,
DIMENSION(KLU,1) :: zgamma
107 REAL,
DIMENSION(KLU,1) :: zwrmax_cf
108 REAL,
DIMENSION(KLU,1) :: zrgl
109 REAL,
DIMENSION(KLU,1) :: zcv
110 REAL,
DIMENSION(KLU,1) :: zgmes
111 REAL,
DIMENSION(KLU,1) :: zbslai
112 REAL,
DIMENSION(KLU,1) :: zlaimin
113 REAL,
DIMENSION(KLU,1) :: zsefold
114 REAL,
DIMENSION(KLU,1) :: zgc
115 REAL,
DIMENSION(KLU,1) :: zdmax
116 REAL,
DIMENSION(KLU,1) :: zf2i
117 LOGICAL,
DIMENSION(KLU,1) :: gstress
118 REAL,
DIMENSION(KLU,1) :: zalbnir_veg
119 REAL,
DIMENSION(KLU,1) :: zalbvis_veg
120 REAL,
DIMENSION(KLU,1) :: zalbuv_veg
121 REAL,
DIMENSION(KLU,1) :: zalbnir_soil
122 REAL,
DIMENSION(KLU,1) :: zalbvis_soil
123 REAL,
DIMENSION(KLU,1) :: zalbuv_soil
124 REAL,
DIMENSION(KLU,1) :: zce_nitro
125 REAL,
DIMENSION(KLU,1) :: zcf_nitro
126 REAL,
DIMENSION(KLU,1) :: zcna_nitro
128 REAL,
DIMENSION(KLU,1) :: zgndlitter
129 REAL,
DIMENSION(KLU,1) :: zrglgv
130 REAL,
DIMENSION(KLU,1) :: zgammagv
131 REAL,
DIMENSION(KLU,1) :: zrsmingv
132 REAL,
DIMENSION(KLU,1) :: zwrmax_cfgv
133 REAL,
DIMENSION(KLU,1) :: zh_veg
134 REAL,
DIMENSION(KLU,1) :: zlaigv
135 REAL,
DIMENSION(KLU,1) :: zz0litter
137 TYPE (date_time),
DIMENSION(KLU,1) :: tzseed
138 TYPE (date_time),
DIMENSION(KLU,1) :: tzreap
139 REAL,
DIMENSION(KLU,1) :: zwatsup
140 REAL,
DIMENSION(KLU,1) :: zirrig
143 REAL(KIND=JPRB) :: zhook_handle
150 IF (lhook) CALL dr_hook(
'VEGETATION_UPDATE_GREENROF',0,zhook_handle)
165 zveg(:,1) = grm%TGRPE%CUR%XVEG
166 zz0(:,1) = grm%TGRPE%CUR%XZ0
167 zalbnir(:,1) = grm%TGRPE%CUR%XALBNIR
168 zalbvis(:,1) = grm%TGRPE%CUR%XALBVIS
169 zalbuv(:,1) = grm%TGRPE%CUR%XALBUV
170 zemis(:,1) = grm%TGRPE%CUR%XEMIS
171 zrsmin(:,1) = grm%TGRP%XRSMIN
172 zgamma(:,1) = grm%TGRP%XGAMMA
173 zwrmax_cf(:,1) = grm%TGRP%XWRMAX_CF
174 zrgl(:,1) = grm%TGRP%XRGL
175 zcv(:,1) = grm%TGRP%XCV
176 zgmes(:,1) = grm%TGRP%XGMES
177 zbslai(:,1) = grm%TGRP%XBSLAI
178 zlaimin(:,1) = grm%TGRP%XLAIMIN
179 zsefold(:,1) = grm%TGRP%XSEFOLD
180 zgc(:,1) = grm%TGRP%XGC
181 zdmax(:,1) = grm%TGRP%XDMAX
182 zf2i(:,1) = grm%TGRP%XF2I
183 gstress(:,1) = grm%TGRP%LSTRESS
184 zalbnir_veg(:,1) = grm%TGRP%XALBNIR_VEG
185 zalbvis_veg(:,1) = grm%TGRP%XALBVIS_VEG
186 zalbuv_veg(:,1) = grm%TGRP%XALBUV_VEG
187 zalbnir_soil(:,1) = grm%TGRP%XALBNIR_SOIL
188 zalbvis_soil(:,1) = grm%TGRP%XALBVIS_SOIL
189 zalbuv_soil(:,1) = grm%TGRP%XALBUV_SOIL
190 zce_nitro(:,1) = grm%TGRP%XCE_NITRO
191 zcf_nitro(:,1) = grm%TGRP%XCF_NITRO
192 zcna_nitro(:,1) = grm%TGRP%XCNA_NITRO
198 IF (tvg%CPHOTO==
'NON' .OR. tvg%CPHOTO==
'AGS' .OR. tvg%CPHOTO==
'AST')
THEN
200 ptstep,tptime,top%XCOVER,top%LCOVER, &
201 tvg%CISBA,(.NOT. grm%TGRO%LPAR_GREENROOF), tvg%CPHOTO, .false., &
204 zalbnir,zalbvis,zalbuv,zemis, &
205 zrsmin,zgamma,zwrmax_cf, &
207 zgmes,zbslai,zlaimin,zsefold,zgc,zdmax, &
209 zaosip,zaosim,zaosjp,zaosjm, &
210 zho2ip,zho2im,zho2jp,zho2jm, &
211 zz0effip,zz0effim,zz0effjp,zz0effjm, &
212 tvg%CALBEDO, zalbnir_veg, zalbvis_veg, zalbuv_veg, &
213 zalbnir_soil, zalbvis_soil, zalbuv_soil, &
214 zce_nitro, zcf_nitro, zcna_nitro, &
215 tzseed, tzreap, zwatsup, zirrig, &
216 zgndlitter, zrglgv,zgammagv, &
217 zrsmingv, zwrmax_cfgv, &
218 zh_veg, zlaigv, zz0litter, &
219 gupdated, oabsent=(t%CUR%XGREENROOF==0.) )
223 grm%TGRPE%CUR%XVEG = zveg(:,1)
224 grm%TGRPE%CUR%XZ0 = zz0(:,1)
225 grm%TGRPE%CUR%XALBNIR = zalbnir(:,1)
226 grm%TGRPE%CUR%XALBVIS = zalbvis(:,1)
227 grm%TGRPE%CUR%XALBUV = zalbuv(:,1)
228 grm%TGRPE%CUR%XEMIS = zemis(:,1)
229 grm%TGRP%XRSMIN = zrsmin(:,1)
230 grm%TGRP%XGAMMA = zgamma(:,1)
231 grm%TGRP%XWRMAX_CF = zwrmax_cf(:,1)
232 grm%TGRP%XRGL = zrgl(:,1)
233 grm%TGRP%XCV = zcv(:,1)
234 grm%TGRP%XGMES = zgmes(:,1)
235 grm%TGRP%XBSLAI = zbslai(:,1)
236 grm%TGRP%XLAIMIN = zlaimin(:,1)
237 grm%TGRP%XSEFOLD = zsefold(:,1)
238 grm%TGRP%XGC = zgc(:,1)
239 grm%TGRP%XDMAX = zdmax(:,1)
240 grm%TGRP%XF2I = zf2i(:,1)
241 grm%TGRP%LSTRESS = gstress(:,1)
242 grm%TGRP%XALBNIR_VEG = zalbnir_veg(:,1)
243 grm%TGRP%XALBVIS_VEG = zalbvis_veg(:,1)
244 grm%TGRP%XALBUV_VEG = zalbuv_veg(:,1)
245 grm%TGRP%XALBNIR_SOIL = zalbnir_soil(:,1)
246 grm%TGRP%XALBVIS_SOIL = zalbvis_soil(:,1)
247 grm%TGRP%XALBUV_SOIL = zalbuv_soil(:,1)
248 grm%TGRP%XCE_NITRO = zce_nitro(:,1)
249 grm%TGRP%XCF_NITRO = zcf_nitro(:,1)
250 grm%TGRP%XCNA_NITRO = zcna_nitro(:,1)
253 IF (lhook) CALL dr_hook(
'VEGETATION_UPDATE_GREENROOF',1,zhook_handle)
subroutine vegetation_update(DTCO, DTI, DTGD, DTGR, IG, I, TGRO, PTSTEP, TTIME, PCOVER, OCOVER, HISBA, OECOCLIMAP, HPHOTO, OAGRIP, OTR_ML, HSFTYPE, PLAI, PVEG, PZ0, PALBNIR, PALBVIS, PALBUV, PEMIS, PRSMIN, PGAMMA, PWRMAX_CF, PRGL, PCV, PGMES, PBSLAI, PLAIMIN, PSEFOLD, PGC, PDMAX, PF2I, OSTRESS, PAOSIP, PAOSIM, PAOSJP, PAOSJM, PHO2IP, PHO2IM, PHO2JP, PHO2JM, PZ0EFFIP, PZ0EFFIM, PZ0EFFJP, PZ0EFFJM, HALBEDO, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PCE_NITRO, PCF_NITRO, PCNA_NITRO, TPSEED, TPREAP, PWATSUP, PIRRIG, PGNDLITTER, PRGLGV, PGAMMAGV, PRSMINGV, PWRMAX_CFGV, PH_VEG, PLAIGV, PZ0LITTER, ODUPDATED, OABSENT)
subroutine vegetation_update_greenroof(DTCO, DTI, IG, I, T, TOP, TVG, DTGD, GRM, TPTIME, PTSTEP, KLU)