7 ptstep,ttime,pcover,ocover, &
8 hisba,oecoclimap, hphoto, oagrip, otr_ml, &
9 hsftype, plai,pveg,pz0, &
10 palbnir,palbvis,palbuv,pemis, &
11 prsmin,pgamma,pwrmax_cf, &
13 pgmes,pbslai,plaimin,psefold,pgc,pdmax, &
15 paosip,paosim,paosjp,paosjm, &
16 pho2ip,pho2im,pho2jp,pho2jm, &
17 pz0effip,pz0effim,pz0effjp,pz0effjm, &
18 halbedo, palbnir_veg, palbvis_veg, palbuv_veg, &
19 palbnir_soil, palbvis_soil, palbuv_soil, &
20 pce_nitro, pcf_nitro, pcna_nitro, &
21 tpseed, tpreap, pwatsup, pirrig, &
22 pgndlitter, prglgv,pgammagv, &
23 prsmingv, pwrmax_cfgv, &
24 ph_veg, plaigv, pz0litter, &
82 USE modi_init_isba_mixpar
83 USE modi_convert_patch_isba
84 USE modi_init_from_data_grdn_n
85 USE modi_init_from_data_greenroof_n
88 USE modi_update_data_cover
91 USE yomhook
,ONLY : lhook, dr_hook
92 USE parkind1
,ONLY : jprb
104 TYPE(isba_grid_t
),
INTENT(INOUT) :: ig
105 TYPE(isba_t
),
INTENT(INOUT) :: i
108 REAL,
INTENT(IN) :: ptstep
110 REAL,
DIMENSION(:,:),
INTENT(IN) :: pcover
111 LOGICAL,
DIMENSION(:),
INTENT(IN) :: ocover
112 CHARACTER(LEN=*),
INTENT(IN) :: hisba
113 CHARACTER(LEN=*),
INTENT(IN) :: hphoto
114 LOGICAL,
INTENT(IN) :: oagrip
115 LOGICAL,
INTENT(IN) :: otr_ml
116 CHARACTER(LEN=*),
INTENT(IN) :: hsftype
117 LOGICAL,
INTENT(IN) :: oecoclimap
119 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: plai
120 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pveg
121 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pz0
122 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbnir
123 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbvis
124 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbuv
125 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pemis
127 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: prsmin
128 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pgamma
129 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pwrmax_cf
130 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: prgl
131 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pcv
132 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pgmes
133 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pce_nitro
134 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pcf_nitro
135 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pcna_nitro
136 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pbslai
137 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: plaimin
138 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: psefold
139 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pgc
140 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pf2i
141 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pdmax
142 LOGICAL,
DIMENSION(:,:),
INTENT(INOUT) :: ostress
145 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pgndlitter
146 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: prglgv
147 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pgammagv
148 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: prsmingv
149 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pwrmax_cfgv
150 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: ph_veg
151 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: plaigv
152 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pz0litter
154 CHARACTER(LEN=4),
INTENT(IN) :: halbedo
159 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbvis_veg
160 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbnir_veg
161 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbuv_veg
162 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbvis_soil
163 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbnir_soil
164 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: palbuv_soil
166 REAL,
DIMENSION(:),
INTENT(IN) :: paosip
167 REAL,
DIMENSION(:),
INTENT(IN) :: paosim
168 REAL,
DIMENSION(:),
INTENT(IN) :: paosjp
169 REAL,
DIMENSION(:),
INTENT(IN) :: paosjm
170 REAL,
DIMENSION(:),
INTENT(IN) :: pho2ip
171 REAL,
DIMENSION(:),
INTENT(IN) :: pho2im
172 REAL,
DIMENSION(:),
INTENT(IN) :: pho2jp
173 REAL,
DIMENSION(:),
INTENT(IN) :: pho2jm
175 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pz0effip
176 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pz0effim
177 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pz0effjp
178 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pz0effjm
180 TYPE(date_time),
DIMENSION(:,:),
INTENT(INOUT) :: tpseed
181 TYPE(date_time),
DIMENSION(:,:),
INTENT(INOUT) :: tpreap
183 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pwatsup
184 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pirrig
186 LOGICAL,
INTENT(OUT) :: odupdated
187 LOGICAL,
DIMENSION(:),
INTENT(IN),
OPTIONAL :: oabsent
191 INTEGER :: idecade, idecade2
192 REAL(KIND=JPRB) :: zhook_handle
201 IF (lhook) CALL dr_hook(
'VEGETATION_UPDATE',0,zhook_handle)
202 idecade = 3 * ( ttime%TDATE%MONTH - 1 ) + min(ttime%TDATE%DAY-1,29) / 10 + 1
210 IF ( mod(min(ttime%TDATE%DAY,30),10)==1 .AND. ttime%TIME - ptstep < 0.)
THEN
213 IF (oecoclimap .OR. hsftype==
'NAT')
THEN
218 hisba,idecade,idecade2,pcover,ocover,hphoto,hsftype)
220 hisba,idecade,idecade2,pcover,ocover,&
221 hphoto,oagrip,.false.,otr_ml,hsftype, &
222 pveg=pveg,plai=plai,prsmin=prsmin, &
223 pgamma=pgamma, pwrmax_cf=pwrmax_cf, &
224 prgl=prgl,pcv=pcv,pz0=pz0, &
225 palbnir_veg=palbnir_veg, &
226 palbvis_veg=palbvis_veg, &
227 palbuv_veg=palbuv_veg, &
228 pemis_eco=pemis,pgmes=pgmes, &
230 plaimin=plaimin,psefold=psefold, &
232 ostress=ostress,pce_nitro=pce_nitro, &
233 pcf_nitro=pcf_nitro, &
234 pcna_nitro=pcna_nitro, &
235 tpseed=tpseed, tpreap=tpreap, &
236 pwatsup=pwatsup,pirrig=pirrig, &
237 pgndlitter=pgndlitter, &
238 prglgv=prglgv,pgammagv=pgammagv, &
240 pwrmax_cfgv=pwrmax_cfgv, &
241 plaigv=plaigv,pz0litter=pz0litter, &
243 IF ( halbedo==
'CM13')
THEN
245 hisba,idecade,idecade2,pcover,ocover,&
246 hphoto,oagrip,.false.,otr_ml,hsftype, &
247 palbnir_soil=palbnir_soil, &
248 palbvis_soil=palbvis_soil, &
249 palbuv_soil=palbuv_soil )
251 ELSEIF (hsftype==
'GRD')
THEN
254 pveg=pveg(:,1),plai=plai(:,1),pz0=pz0(:,1),pemis=pemis(:,1) )
256 ELSEIF (hsftype==
'GNR')
THEN
259 pveg=pveg(:,1),plai=plai(:,1),pz0=pz0(:,1),pemis=pemis(:,1) )
265 IF (present(oabsent))
THEN
275 palbnir_veg(:,1) = 0.30
276 palbvis_veg(:,1) = 0.30
277 palbuv_veg(:,1) = 0.06
280 IF (hphoto/=
'NON')
THEN
285 psefold(:,1) = 90*86400.
288 IF (hphoto/=
'AGS' .AND. hphoto/=
'LAI')
THEN
289 WHERE (oabsent(:)) pf2i(:,1) = 0.3
290 IF (hphoto==
'NIT' .OR. hphoto==
'NCB')
THEN
292 pce_nitro(:,1) = 7.68
293 pcf_nitro(:,1) = -4.33
294 pcna_nitro(:,1) = 1.3
301 IF (hsftype==
'NAT')
THEN
304 palbvis_veg,palbnir_veg,palbuv_veg,pveg, &
305 palbvis_soil,palbnir_soil,palbuv_soil, &
306 palbvis ,palbnir, palbuv )
310 pho2ip,pho2im,pho2jp,pho2jm,pz0, &
311 pz0effip,pz0effim,pz0effjp,pz0effjm )
315 IF (lhook) CALL dr_hook(
'VEGETATION_UPDATE',1,zhook_handle)
subroutine init_isba_mixpar(DTCO, DTI, IG, I, HISBA, KDECADE, KDECADE2, PCOVER, OCOVER, HPHOTO, HSFTYPE)
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 init_from_data_grdn_n(DTGD, KDECADE, HPHOTO, PVEG, PLAI, PRSMIN, PGAMMA, PWRMAX_CF, PRGL, PCV, PDG, PD_ICE, PZ0, PZ0_O_Z0H, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PEMIS, PVEGTYPE, PROOTFRAC, PGMES, PBSLAI, PLAIMIN, PSEFOLD, PGC, PDMAX, PF2I, OSTRESS, PH_TREE, PRE25, PCE_NITRO, PCF_NITRO, PCNA_NITRO, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL)
subroutine init_from_data_greenroof_n(DTGR, TGRO, KDECADE, HPHOTO, POM_GR, PSAND_GR, PCLAY_GR, PVEG, PLAI, PRSMIN, PGAMMA, PWRMAX_CF, PRGL, PCV, PDG, PD_ICE, PZ0, PZ0_O_Z0H, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PEMIS, PVEGTYPE, PROOTFRAC, PGMES, PBSLAI, PLAIMIN, PSEFOLD, PGC, PDMAX, PF2I, OSTRESS, PH_TREE, PRE25, PCE_NITRO, PCF_NITRO, PCNA_NITRO, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL)
subroutine update_data_cover(DTCO, DTI, IG, I, KYEAR)
subroutine convert_patch_isba(DTCO, DTI, I, HISBA, KDECADE, KDECADE2, PCOVER, OCOVER, HPHOTO, OAGRIP, OPERM, OTR_ML, HSFTYPE, PVEG, PLAI, PRSMIN, PGAMMA, PWRMAX_CF, PRGL, PCV, PSOILGRID, PDG, KWG_LAYER, PDROOT, PDG2, PZ0, PZ0_O_Z0H, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PEMIS_ECO, PVEGTYPE, PROOTFRAC, PGMES, PBSLAI, PLAIMIN, PSEFOLD, PGC, PDMAX, PF2I, OSTRESS, PH_TREE, PRE25, PCE_NITRO, PCF_NITRO, PCNA_NITRO, PD_ICE, PWG1, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, TPSEED, TPREAP, PWATSUP, PIRRIG, PGNDLITTER, PRGLGV, PGAMMAGV, PRSMINGV, PROOTFRACGV, PWRMAX_CFGV, PLAIGV, PZ0LITTER, PH_VEG)