6 SUBROUTINE isba(IO, KK, PK, PEK, G, AG, DK, DEK, DMK, TPTIME, PPOI, PABC, PIACAN, &
7 OMEB, PTSTEP, HIMPLICIT_WIND, PZREF, PUREF, PDIRCOSZW, &
8 PTA, PQA, PEXNA, PRHOA, PPS, PEXNS, PRR, PSR, PZENITH, &
9 PSCA_SW, PSW_RAD, PLW_RAD, PVMOD, PPEW_A_COEF, PPEW_B_COEF,&
10 PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, &
11 PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL, &
12 PPALPHAN, PZ0G_WITHOUT_SNOW, PZ0_MEBV, PZ0H_MEBV, &
13 PZ0EFF_MEBV, PZ0_MEBN, PZ0H_MEBN, PZ0EFF_MEBN, PTDEEP_A, &
14 PCSP, PFFG_NOSNOW, PFFV_NOSNOW, PEMIST, PUSTAR, PAC_AGG, &
15 PHU_AGG, PRESP_BIOMASS_INST, PDEEP_FLUX, PIRRIG_GR )
115 USE modd_co2v_par
, ONLY : xmc, xmco2, xpcco2
119 USE modd_co2v_par
, ONLY : xmc, xmco2, xpcco2
121 USE modd_data_cover_par
, ONLY : nvt_snow
129 USE modi_wet_leaves_frac
133 USE modi_isba_snow_agr
135 USE modi_radiative_transfert
160 TYPE(
grid_t),
INTENT(INOUT) :: G
161 TYPE(
agri_t),
INTENT(INOUT) :: AG
162 TYPE(
diag_t),
INTENT(INOUT) :: DK
168 REAL,
DIMENSION(:),
INTENT(IN) :: PPOI
169 REAL,
DIMENSION(:),
INTENT(INOUT) :: PABC
172 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PIACAN
173 LOGICAL,
INTENT(IN) :: OMEB
175 REAL,
INTENT(IN) :: PTSTEP
176 CHARACTER(LEN=*),
INTENT(IN) :: HIMPLICIT_WIND
179 REAL,
DIMENSION(:),
INTENT(IN) :: PZREF
182 REAL,
DIMENSION(:),
INTENT(IN) :: PUREF
186 REAL,
DIMENSION(:),
INTENT(IN) :: PDIRCOSZW
195 REAL,
DIMENSION(:),
INTENT(IN) :: PTA
196 REAL,
DIMENSION(:),
INTENT(IN) :: PQA
197 REAL,
DIMENSION(:),
INTENT(IN) :: PEXNA
198 REAL,
DIMENSION(:),
INTENT(IN) :: PRHOA
200 REAL,
DIMENSION(:),
INTENT(IN) :: PPS
201 REAL,
DIMENSION(:),
INTENT(IN) :: PEXNS
203 REAL,
DIMENSION(:),
INTENT(IN) :: PRR
204 REAL,
DIMENSION(:),
INTENT(IN) :: PSR
206 REAL,
DIMENSION(:),
INTENT(IN) :: PZENITH
207 REAL,
DIMENSION(:),
INTENT(IN) :: PSW_RAD
208 REAL,
DIMENSION(:),
INTENT(IN) :: PSCA_SW
209 REAL,
DIMENSION(:),
INTENT(IN) :: PLW_RAD
211 REAL,
DIMENSION(:),
INTENT(IN) :: PVMOD
216 REAL,
DIMENSION(:),
INTENT(IN) :: PPEW_A_COEF, PPEW_B_COEF, &
217 PPET_A_COEF, PPEQ_A_COEF, &
218 PPET_B_COEF, PPEQ_B_COEF
229 REAL,
DIMENSION(:),
INTENT(IN) :: PALBNIR_TVEG
230 REAL,
DIMENSION(:),
INTENT(IN) :: PALBVIS_TVEG
231 REAL,
DIMENSION(:),
INTENT(IN) :: PALBNIR_TSOIL
232 REAL,
DIMENSION(:),
INTENT(IN) :: PALBVIS_TSOIL
236 REAL,
DIMENSION(:),
INTENT(IN) :: PPALPHAN
237 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0G_WITHOUT_SNOW
238 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0_MEBV
239 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0H_MEBV
240 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0EFF_MEBV
241 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0_MEBN
242 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0H_MEBN
243 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0EFF_MEBN
248 REAL,
DIMENSION(:),
INTENT(IN) :: PTDEEP_A
254 REAL,
DIMENSION(:),
INTENT(IN) :: PCSP
260 REAL,
DIMENSION(:),
INTENT(IN) :: PFFG_NOSNOW
261 REAL,
DIMENSION(:),
INTENT(IN) :: PFFV_NOSNOW
266 REAL,
DIMENSION(:),
INTENT(OUT) :: PEMIST
271 REAL,
DIMENSION(:),
INTENT(OUT) :: PUSTAR
277 REAL,
DIMENSION(:),
INTENT(OUT) :: PAC_AGG
279 REAL,
DIMENSION(:),
INTENT(OUT) :: PHU_AGG
285 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PRESP_BIOMASS_INST
290 REAL,
DIMENSION(:),
INTENT(OUT) :: PDEEP_FLUX
292 REAL ,
DIMENSION(:),
INTENT(IN) :: PIRRIG_GR
297 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZCS
298 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZFROZEN1
299 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELTA
302 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZQSAT
305 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZWRMAX
307 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZF2
309 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZF5
312 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZHUGI
314 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZEVAPCOR
316 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZLES3L
317 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZLEL3L
318 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZEVAP3L
319 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZSNOW_THRUFAL
321 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZSNOW_THRUFAL_SOIL
324 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZALB3L
325 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZRI3L
326 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZQS3L
328 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZVEG
330 REAL,
DIMENSION(SIZE(PEK%XWR),SIZE(PABC)) :: ZIACAN_SHADE, ZIACAN_SUNLIT
333 REAL,
DIMENSION(SIZE(PEK%XWR),SIZE(PABC)) :: ZFRAC_SUN
337 REAL,
DIMENSION(SIZE(PEK%XWG,1),SIZE(PEK%XWG,2)) :: ZSOILHCAPZ
339 REAL,
DIMENSION(SIZE(PEK%XWG,1),SIZE(PEK%XWG,2)) :: ZSOILCONDZ
342 REAL,
DIMENSION(SIZE(PEK%XWG,1),SIZE(PEK%XWG,2)) :: ZF2WGHT
344 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZGRNDFLUX
345 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZFLSN_COR
349 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZSUBVCOR
351 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZLITCOR
359 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELHEATV_SFC
360 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELHEATG
361 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELHEATG_SFC
362 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELPHASEG
363 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELPHASEG_SFC
364 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELHEATN
365 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZDELHEATN_SFC
366 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZSNOWSFCH
368 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZGSFCSNOW
375 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZEMIST, ZZHV
376 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZALBT, ZEV, ZETR, ZER
378 LOGICAL,
DIMENSION(SIZE(PEK%XTG,1)) :: GSHADE
381 REAL(KIND=JPRB) :: ZHOOK_HANDLE
407 dmk%XSNOWTEMP (:,:) =
xtt 414 zdelheatv_sfc(:) = 0.0
416 zdelheatg_sfc(:) = 0.0
418 zdelphaseg_sfc(:) = 0.0
420 zdelheatn_sfc(:) = 0.0
433 dek%XLELITTER(:) = 0.0
434 dek%XLELITTERI(:) = 0.0
436 zveg(:) = pek%XVEG(:)
441 zalb3l(:)=pek%TSNOW%ALB(:)
448 IF(io%CISBA ==
'2-L' .OR. io%CISBA ==
'3-L')
THEN 450 CALL soil (io, kk, pk, pek, dmk, zveg, zcs, zfrozen1, pffg_nosnow, pffv_nosnow
454 CALL soildif (io, kk, pk, pek, dmk, zveg, zfrozen1, pffg_nosnow, pffv_nosnow
463 CALL soilstress(io%CISBA, zf2, kk, pk, pek, zf2wght, zf5 )
471 CALL isba_meb(io, kk, pk, pek, dk, dek, dmk, g, ag, &
472 tptime, omeb, gshade, himplicit_wind, ptstep, &
473 zsoilhcapz, zsoilcondz, zfrozen1, pps, pzenith, &
474 psca_sw, psw_rad, pvmod, prr, psr, prhoa, pta, pqa, &
475 pdircoszw, pexns, pexna, ppet_a_coef, ppet_b_coef, &
476 ppeq_a_coef, ppeq_b_coef, ppew_a_coef, ppew_b_coef, &
477 pzref, puref, pz0g_without_snow, pz0_mebv, pz0h_mebv,&
478 pz0eff_mebv, pz0_mebn, pz0h_mebn, pz0eff_mebn, &
479 palbnir_tveg, palbvis_tveg,palbnir_tsoil, palbvis_tsoil
508 CALL wet_leaves_frac(pek%XWR, pek%XVEG, pek%XWRMAX_CF, dk%XZ0, pek%XLAI
515 CALL snow3l_isba(io, g, pk, pek, dk, dek, dmk, omeb, himplicit_wind,
528 IF (io%CPHOTO==
'NON')
THEN 529 CALL veg(psw_rad, pta, pqa, pps, pek%XRGL, pek%XLAI, pek%XRSMIN, pek%XGAMMA
530 ELSE IF (maxval(pek%XGMES(:)).NE.
xundef .OR. minval(pek%XGMES(:)).NE.
xundefTHEN 531 zqsat(:)=
qsat(pek%XTG(:,1),pps(:))
532 CALL cotwores(ptstep, io, gshade, pk, pek, pk%XDMAX, ppoi, pcsp, pek%XTG
537 presp_biomass_inst(:,1) = 0.0
546 CALL isba_ceb(io, kk, pk, pek, dk, dek, dmk, &
547 himplicit_wind, ptstep, ppew_a_coef, &
548 ppew_b_coef, ppet_a_coef, ppeq_a_coef, ppet_b_coef, &
549 ppeq_b_coef, psw_rad, plw_rad, pexns, pexna, pta, &
550 pvmod, pqa, prr, psr, pps, pzref, puref, pdircoszw, &
551 zf5, pffg_nosnow, pffv_nosnow, prhoa, zcs, &
552 zsoilcondz, zsoilhcapz, zfrozen1, ptdeep_a, &
553 zgrndflux, zflsn_cor, zsnow_thrufal_soil, zdelta, zhugi,
571 CALL hydro(io, kk, pk, pek, ag, dek, dmk, &
572 omeb, ptstep, zveg, zwrmax, zsnow_thrufal_soil, &
573 zevapcor, zsubvcor, zsoilhcapz, zf2wght, zf2, pps, &
574 pirrig_gr, zdelheatg, zdelheatg_sfc, zdelphaseg, &
585 omeb, io%LMEB_LITTER, pexns, pexna, pta, pqa, &
586 pzref, puref, pdircoszw, pvmod, prr, psr, &
587 zemist, zalbt, pustar, zles3l, zlel3l, &
588 zevap3l, zqs3l, zalb3l, zgsfcsnow, &
589 zgrndflux, zflsn_cor, pemist, ppalphan )
real, parameter xsw_wght_vis
subroutine isba_meb(IO, KK, PK, PEK, DK, DEK, DMK, G, AG,
subroutine wet_leaves_frac(PWRM, PVEG, PWRMAX_CF, PZ0, PLAI, PWRMAX, PDELTA)
subroutine cotwores(PTSTEP, IO, OSHADE, PK, PEK, PDMAX, PPOI, PCSP, PTG, PF2, PSW_RAD, PQA, PQSAT, PPSNV, PDELTA, PRHOA, PZENITH, PFFV, PIACAN_SUNLIT, PIACAN_SHADE, PFRAC_SUN, PIACAN, PABC, PRS, PGPP, PRESP_LEAF)
subroutine soilstress(HISBA, PF2, KK, PK, PEK, PF2WGHT, PF5)
subroutine snow3l_isba(IO, G, PK, PEK, DK, DEK, DMK, OMEB, HIMPLICIT_WIND, TPTIME, PTSTEP, PVEGTYPE, PTG, PCT, PSOILHCAPZ, PSOILCONDZ, PPS, PTA, PSW_RAD, PQA, PVMOD, PLW_RAD, PRR, PSR, PRHOA, PUREF, PEXNS, PEXNA, PDIRCOSZW, PZREF, PALB, PD_G, PDZG, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, PTHRUFAL, PGRNDFLUX, PFLSN_COR, PGSFCSNOW, PEVAPCOR, PLES3L, PLEL3L, PEVAP, PSNOWSFCH, PDELHEATN, PDELHEATN_SFC, PRI, PZENITH, PDELHEATG, PDELHEATG_SFC, PQS)
subroutine soildif(IO, KK, PK, PEK, DMI, PVEG, PFROZEN1, PFFG, PFF
subroutine veg(PSW_RAD, PTA, PQA, PPS, PRGL, PLAI, PRSMIN, PGAMMA, PF2, PRS)
subroutine isba(IO, KK, PK, PEK, G, AG, DK, DEK, DMK, TPTIME, PPOI
subroutine hydro(IO, KK, PK, PEK, AG, DEK, DMK, OMEB, PTSTEP, PVEG
subroutine soil(IO, KK, PK, PEK, DMI, PVEG, PCS, PFROZEN1, PFFG_N
subroutine isba_ceb(IO, KK, PK, PEK, DK, DEK, DMK, HIMPLICIT_WIND, PTSTEP, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, PSW_RAD, PLW_RAD, PEXNS, PEXNA, PTA, PVMOD, PQA, PRR, PSR, PPS, PZREF, PUREF, PDIRCOSZW, PF5, PFFG_NOSNOW, PFFV_NOSNOW, PRHOA, PCS, PSOILCONDZ, PSOILHCAPZ, PFROZEN1, PTDEEP_A, PGRNDFLUX, PFLSN_COR, PSNOW_THRUFAL, PDELTA, PHUGI, PALBT, PEMIST, PDEEP_FLUX, PUSTAR, PAC_AGG, PHU_AGG)
subroutine isba_snow_agr(KK, PK, PEK, DMK, DK, DEK, OMEB, OMEB_LITTER, PEXNS, PEXNA, PTA, PQA
subroutine radiative_transfert(OAGRI_TO_GRASS, PVEGTYPE, PALBVIS_VEG, PALBVIS_SOIL, PALBNIR_VEG, PALBNIR_SOIL, PSW_RAD, PLAI, PZENITH, PABC, PFAPARC, PFAPIRC, PMUS, PLAI_EFFC, OSHADE, PIACAN, PIACAN_SUNLIT, PIACAN_SHADE, PFRAC_SUN, PFAPAR, PFAPIR, PFAPAR_BS, PFAPIR_BS)
real, parameter xsw_wght_nir