SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE VEGETATION_EVOL(HISBA, HPHOTO, HRESPSL, HALBEDO, OAGRIP, & 00003 OTR_ML, PTSTEP, KMONTH, KDAY, KSPINW, & 00004 PTIME, PLAT, PRHOA, & 00005 PDG, PDZG, KWG_LAYER, & 00006 PTG, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, & 00007 PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, & 00008 PVEGTYPE, PSEFOLD, PANMAX, PH_TREE, PBSLAI,& 00009 PLAIMIN, P_CO2, PCE_NITRO, PCF_NITRO, & 00010 PCNA_NITRO, PBSLAI_NITRO, PGMES, PTAU_WOOD,& 00011 TPSEED, TPREAP, PAOSIP, PAOSIM, PAOSJP, & 00012 PAOSJM, PHO2IP, PHO2IM, PHO2JP, PHO2JM, & 00013 PZ0EFFIP, PZ0EFFIM, PZ0EFFJP, PZ0EFFJM, & 00014 PLAI, PVEG, PZ0, PALBNIR, PALBVIS, PALBUV, & 00015 PEMIS, PANFM, PANDAY, PBIOMASS, PRESP_BIOMASS,& 00016 PRESP_BIOMASS_INST, PINCREASE, PTURNOVER ) 00017 ! ############################################################### 00018 !!**** *VEGETATION EVOL* 00019 !! 00020 !! PURPOSE 00021 !! ------- 00022 ! 00023 ! performs the time evolution of vegetation parameters 00024 ! at solar midnight in the case of interactive vegetation (ISBA-Ags) 00025 ! 00026 !!** METHOD 00027 !! ------ 00028 !! 00029 !! EXTERNAL 00030 !! -------- 00031 !! none 00032 !! 00033 !! IMPLICIT ARGUMENTS 00034 !! ------------------ 00035 !! 00036 !! none 00037 !! 00038 !! REFERENCE 00039 !! --------- 00040 !! 00041 !! 00042 !! AUTHOR 00043 !! ------ 00044 !! 00045 !! V. Masson * Meteo-France * 00046 !! 00047 !! MODIFICATIONS 00048 !! ------------- 00049 !! Original 01/03/03 00050 !! P. Le Moigne 12/2004 : NIT version 00051 !! P Le Moigne 09/2005 : AGS modifs of L. Jarlan 00052 !! A.L. Gibelin 04/2009 : BIOMASS and RESP_BIOMASS arrays 00053 !! A.L. Gibelin 04/2009 : Add NCB option 00054 !! D. Carrer 01/2012 : representation of nitrogen dilution fct of CO2 (from Calvet et al. 2008) 00055 !! B. Decharme 05/2012 : Optimization and ISBA-DIF coupling 00056 !------------------------------------------------------------------------------- 00057 ! 00058 !* 0. DECLARATIONS 00059 ! ------------ 00060 ! 00061 USE MODD_CO2V_PAR, ONLY : XMC, XMCO2, XPCCO2, XRESPFACTOR_NIT, & 00062 XCOEFF_MAINT_RESP_ZERO, XSLOPE_MAINT_RESP, & 00063 XCNAREF, XPARAM 00064 USE MODD_CSTS, ONLY : XDAY, XTT, XMD 00065 ! 00066 USE MODI_ALBEDO 00067 USE MODI_LAIGAIN 00068 USE MODI_LAILOSS 00069 USE MODI_NITRO_DECLINE 00070 USE MODI_EMIS_FROM_VEG 00071 USE MODI_VEG_FROM_LAI 00072 USE MODI_Z0V_FROM_LAI 00073 USE MODI_SUBSCALE_Z0EFF 00074 USE MODD_TYPE_DATE_SURF 00075 USE MODD_SURF_PAR 00076 ! 00077 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00078 USE PARKIND1 ,ONLY : JPRB 00079 ! 00080 IMPLICIT NONE 00081 ! 00082 !* 0.1 declarations of arguments 00083 ! 00084 ! 00085 CHARACTER(LEN=3), INTENT(IN) :: HISBA ! type of ISBA version: 00086 ! ! '2-L' (default) 00087 ! ! '3-L' 00088 ! ! 'DIF' 00089 CHARACTER(LEN=3), INTENT(IN) :: HPHOTO ! type of photosynthesis 00090 ! ! 'NON' 00091 ! ! 'AGS' 00092 ! ! 'LAI' 00093 CHARACTER(LEN=3), INTENT(IN) :: HRESPSL ! Soil Respiration 00094 ! ! 'DEF' = Norman 1992 00095 ! ! 'PRM' = Rivalland PhD Thesis (2003) 00096 ! ! 'CNT' = CENTURY model (Gibelin 2008) 00097 CHARACTER(LEN=4), INTENT(IN) :: HALBEDO ! albedo type 00098 ! ! 'DRY ' 00099 ! ! 'EVOL' 00100 ! ! 'WET ' 00101 ! ! 'USER' 00102 LOGICAL, INTENT(IN) :: OAGRIP ! agricultural practices 00103 LOGICAL, INTENT(IN) :: OTR_ML ! new radiative transfert 00104 ! 00105 REAL, INTENT(IN) :: PTSTEP ! time step 00106 INTEGER, INTENT(IN) :: KMONTH ! current month 00107 INTEGER, INTENT(IN) :: KDAY ! current day 00108 INTEGER, INTENT(IN) :: KSPINW ! spinup wood 00109 REAL, INTENT(IN) :: PTIME ! current time since midnight 00110 REAL, DIMENSION(:), INTENT(IN) :: PLAT ! latitude of each grid point 00111 REAL, DIMENSION(:), INTENT(IN) :: PRHOA ! air density 00112 ! 00113 REAL, DIMENSION(:,:), INTENT(IN) :: PDG ! Depth of Bottom of Soil layers (m) 00114 REAL, DIMENSION(:,:), INTENT(IN) :: PDZG ! soil layers thicknesses (DIF option) (m) 00115 INTEGER, DIMENSION(:),INTENT(IN) :: KWG_LAYER ! Number of soil moisture layers (DIF option) 00116 ! 00117 REAL, DIMENSION(:,:), INTENT(IN) :: PTG ! soil layer average temperatures (K) 00118 REAL, DIMENSION(:), INTENT(IN) :: PALBVIS_VEG ! visible, near infra-red and UV 00119 REAL, DIMENSION(:), INTENT(IN) :: PALBNIR_VEG ! albedo of the vegetation 00120 REAL, DIMENSION(:), INTENT(IN) :: PALBUV_VEG ! 00121 REAL, DIMENSION(:), INTENT(IN) :: PALBVIS_SOIL! visible, near infra-red and UV 00122 REAL, DIMENSION(:), INTENT(IN) :: PALBNIR_SOIL! soil albedo 00123 REAL, DIMENSION(:), INTENT(IN) :: PALBUV_SOIL ! 00124 ! 00125 REAL, DIMENSION(:,:), INTENT(IN) :: PVEGTYPE! fraction of each vegetation type 00126 REAL, DIMENSION(:), INTENT(IN) :: PSEFOLD ! e-folding time for senescence (s) 00127 REAL, DIMENSION(:), INTENT(IN) :: PANMAX ! maximum photosynthesis rate 00128 REAL, DIMENSION(:), INTENT(IN) :: PH_TREE ! height of trees 00129 REAL, DIMENSION(:), INTENT(IN) :: PBSLAI ! ratio of biomass to LAI 00130 REAL, DIMENSION(:), INTENT(IN) :: PLAIMIN ! minimum LAI 00131 ! 00132 REAL, DIMENSION(:), INTENT(IN) :: P_CO2 ! CO2 concentration [ppmm] 00133 ! 00134 REAL, DIMENSION(:), INTENT(IN) :: PCE_NITRO ! leaf aera ratio sensibility to nitrogen 00135 ! concentration (10**2 m2 kg-1) 00136 REAL, DIMENSION(:), INTENT(IN) :: PCF_NITRO ! lethal minimum value of leaf aera ratio 00137 ! (m2 kg-1) 00138 REAL, DIMENSION(:), INTENT(IN) :: PCNA_NITRO ! nitrogen concentration of active biomass (%) 00139 REAL, DIMENSION(:), INTENT(IN) :: PBSLAI_NITRO ! ratio of biomass to LAI 00140 ! 00141 REAL, DIMENSION(:), INTENT(IN) :: PGMES ! mesophyll conductance (m s-1) 00142 REAL, DIMENSION(:), INTENT(IN) :: PTAU_WOOD ! residence time in wood (s) 00143 ! 00144 ! 00145 TYPE (DATE_TIME), DIMENSION(:), INTENT(IN) :: TPSEED ! seeding date 00146 TYPE (DATE_TIME), DIMENSION(:), INTENT(IN) :: TPREAP ! reaping date 00147 ! 00148 REAL, DIMENSION(:), INTENT(IN) :: PAOSIP ! A/S for increasing x 00149 REAL, DIMENSION(:), INTENT(IN) :: PAOSIM ! A/S for decreasing x 00150 REAL, DIMENSION(:), INTENT(IN) :: PAOSJP ! A/S for increasing y 00151 REAL, DIMENSION(:), INTENT(IN) :: PAOSJM ! A/S for decreasing y 00152 REAL, DIMENSION(:), INTENT(IN) :: PHO2IP ! h/2 for increasing x 00153 REAL, DIMENSION(:), INTENT(IN) :: PHO2IM ! h/2 for decreasing x 00154 REAL, DIMENSION(:), INTENT(IN) :: PHO2JP ! h/2 for increasing y 00155 REAL, DIMENSION(:), INTENT(IN) :: PHO2JM ! h/2 for decreasing y 00156 ! 00157 REAL, DIMENSION(:), INTENT(INOUT) :: PZ0EFFIP! roughness length for increasing x 00158 REAL, DIMENSION(:), INTENT(INOUT) :: PZ0EFFIM! roughness length for decreasing x 00159 REAL, DIMENSION(:), INTENT(INOUT) :: PZ0EFFJP! roughness length for increasing y 00160 REAL, DIMENSION(:), INTENT(INOUT) :: PZ0EFFJM! roughness length for decreasing y 00161 ! 00162 REAL, DIMENSION(:), INTENT(INOUT) :: PLAI ! leaf area index (LAI) 00163 REAL, DIMENSION(:), INTENT(INOUT) :: PVEG ! vegetation fraction 00164 REAL, DIMENSION(:), INTENT(INOUT) :: PZ0 ! roughness length: momentum 00165 REAL, DIMENSION(:), INTENT(INOUT) :: PALBNIR ! snow-free near-infra-red albedo 00166 REAL, DIMENSION(:), INTENT(INOUT) :: PALBVIS ! snow-free visible albedo 00167 REAL, DIMENSION(:), INTENT(INOUT) :: PALBUV ! snow-free UV albedo 00168 REAL, DIMENSION(:), INTENT(INOUT) :: PEMIS ! snow-free emissivity 00169 ! 00170 REAL, DIMENSION(:), INTENT(INOUT) :: PANFM ! maximum leaf assimilation 00171 REAL, DIMENSION(:), INTENT(INOUT) :: PANDAY ! daily net CO2 assimilation 00172 REAL, DIMENSION(:,:), INTENT(INOUT) :: PBIOMASS ! biomass of day-1 00173 REAL, DIMENSION(:,:), INTENT(INOUT) :: PRESP_BIOMASS ! daily cumulated respiration of biomass (kgDM/m2/day) 00174 REAL, DIMENSION(:,:), INTENT(INOUT) :: PRESP_BIOMASS_INST ! instantaneous respiration of biomass (kgCO2/kgair m/s) 00175 ! 00176 REAL, DIMENSION(:,:), INTENT(OUT) :: PINCREASE ! increment of biomass (gC m-2 s-1) 00177 REAL, DIMENSION(:,:), INTENT(OUT) :: PTURNOVER ! biomass turnover going into litter (gC m-2 s-1) 00178 ! 00179 !* 0.2 declarations of local variables 00180 ! 00181 REAL, DIMENSION(SIZE(PRESP_BIOMASS,1),SIZE(PRESP_BIOMASS,2)) :: ZRESP_BIOMASS_LAST ! biomass at t-1 (kg/m2/s) 00182 REAL, DIMENSION(SIZE(PLAI)) :: ZBIOMASS_LEAF ! temporary leaf biomass 00183 REAL, DIMENSION(SIZE(PLAI)) :: ZBSLAI_NITRO ! (Calvet et al. 2008) ratio of biomass to LAI 00184 ! with representation of nitrogen dilution 00185 REAL, DIMENSION(SIZE(PLAI)) :: ZCO2, ZCNA_NITRO ! fct of CO2 00186 REAL, DIMENSION(SIZE(PLAI)) :: ZCNAREF, ZPARAM 00187 INTEGER, DIMENSION(1) :: IDMAX 00188 ! 00189 REAL, PARAMETER :: ZCOEF1 = 10.0 00190 REAL, PARAMETER :: ZCOEF2 = 25.0 00191 REAL, PARAMETER :: ZDEPTH = 1.0 !Temp depth m 00192 REAL :: ZLOG2 00193 ! 00194 REAL, DIMENSION(SIZE(PTG,1)) :: ZTG_VEG ! surface temperature (C) 00195 REAL, DIMENSION(SIZE(PTG,1)) :: ZTG_SOIL ! soil temperature (C) 00196 REAL, DIMENSION(SIZE(PTG,1)) :: ZDG_SOIL ! soil depth for DIF (m) 00197 REAL :: ZWGHT_SOIL ! Weight for DIF (m) 00198 ! 00199 LOGICAL, DIMENSION(SIZE(PLAI)) :: GMASK_AGRI 00200 LOGICAL :: GMASK 00201 INTEGER :: INI, INL, JI, JL, IDEPTH 00202 ! 00203 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00204 ! 00205 !----------------------------------------------------------------- 00206 ! 00207 !* 1. Preliminaries 00208 ! ------------- 00209 ! 00210 IF (LHOOK) CALL DR_HOOK('VEGETATION_EVOL',0,ZHOOK_HANDLE) 00211 ! 00212 INI=SIZE(PTG,1) 00213 INL=SIZE(PTG,2) 00214 ! 00215 ZLOG2 = LOG(2.0) 00216 ! 00217 ZTG_SOIL (:) = 0.0 00218 ! 00219 ! Mask where vegetation evolution is performed (just before solar midnight) 00220 GMASK = ( PTIME - PTSTEP < 0. ) .AND. ( PTIME >= 0. ) 00221 ! 00222 ! Save RESP_BIOMASS at t-1 00223 IF (GMASK) THEN 00224 PRESP_BIOMASS (:,1) = 0.0 00225 ZRESP_BIOMASS_LAST(:,:) = 0.0 00226 ELSE 00227 PRESP_BIOMASS (:,1) = PRESP_BIOMASS(:,1) + PRESP_BIOMASS_INST(:,1) * (PTSTEP*PRHOA(:)*XMC)/(XPCCO2*XMCO2) 00228 ZRESP_BIOMASS_LAST(:,:) = PRESP_BIOMASS(:,:) 00229 ENDIF 00230 ! 00231 !* 2. Interactive vegetation 00232 ! ---------------------- 00233 ! 00234 ! LAI daily mortality and assimilation 00235 ! 00236 ZBIOMASS_LEAF(:) = PBIOMASS(:,1) 00237 ! 00238 IF (GMASK) THEN 00239 IF (HPHOTO=='LAI' .OR. HPHOTO=='LST') THEN 00240 CALL LAILOSS(PVEG, PSEFOLD, PANMAX, PANDAY, PANFM, ZBIOMASS_LEAF) 00241 CALL LAIGAIN(PBSLAI, PLAIMIN, PVEG, ZBIOMASS_LEAF, PLAI, PANDAY) 00242 PBIOMASS(:,1) = ZBIOMASS_LEAF(:) 00243 ELSE IF (HPHOTO=='NIT' .OR. HPHOTO=='NCB') THEN 00244 ! ratio of biomass to LAI with representation of nitrogen dilution fct of CO2 00245 DO JI = 1,INI 00246 IDMAX = MAXLOC(PVEGTYPE(JI,:)) 00247 ZCNAREF(JI) = XCNAREF(IDMAX(1)) 00248 ZPARAM (JI) = XPARAM (IDMAX(1)) 00249 !--------representation of nitrogen dilution fct of CO2 (Calvet et al. 2008)------------- 00250 IF ( (PCE_NITRO (JI)*PCNA_NITRO(JI)+PCF_NITRO (JI))/=0. .AND. ZCNAREF(JI).NE.0. ) THEN 00251 ZCO2 (JI) = P_CO2(JI)/1.e-6/XMCO2*XMD ! (ppmm -> ppm) 00252 ZCNA_NITRO (JI) = ZCNAREF(JI)*EXP(-0.048*EXP(ZPARAM(JI)-ZCNAREF(JI)/6.3)*ALOG(ZCO2(JI)/371.)) 00253 ZBSLAI_NITRO(JI) = 1. / (PCE_NITRO(JI)*PCNA_NITRO(JI)+PCF_NITRO(JI)) 00254 ELSE 00255 ZBSLAI_NITRO(JI) = PBSLAI_NITRO(JI) 00256 ENDIF 00257 ENDDO 00258 PINCREASE(:,:)=0.0 00259 PTURNOVER(:,:)=0.0 00260 IF(ANY(PLAI(:)/=XUNDEF))THEN 00261 CALL NITRO_DECLINE(HPHOTO, HRESPSL, OTR_ML, KSPINW, & 00262 ZBSLAI_NITRO, PSEFOLD, PGMES, PANMAX, PANDAY, & 00263 PLAT, PLAIMIN, PVEGTYPE, PTAU_WOOD, & 00264 PANFM, PLAI, PBIOMASS, PRESP_BIOMASS, ZBIOMASS_LEAF, & 00265 PINCREASE, PTURNOVER ) 00266 CALL LAIGAIN(ZBSLAI_NITRO, PLAIMIN, PVEG, ZBIOMASS_LEAF, PLAI, PANDAY) 00267 ENDIF 00268 ENDIF 00269 ! CASE CPHOTO=AST reinitialise PANDAY and PANFM 00270 PANDAY=0.0 00271 PANFM =0.0 00272 ENDIF 00273 ! 00274 ! 00275 IF (HPHOTO == 'NIT' .OR. HPHOTO=='NCB') THEN 00276 ! 00277 ! * convert soil temperature from K to C (over 1m depth for DIF) 00278 ! 00279 ZTG_VEG(:) = PTG(:,1)-XTT 00280 ! 00281 IF(HISBA/='DIF')THEN 00282 ZTG_SOIL(:) = PTG(:,2)-XTT 00283 ELSE 00284 DO JI=1,INI 00285 IDEPTH=KWG_LAYER(JI) 00286 ZDG_SOIL(JI)=MIN(ZDEPTH,PDG(JI,IDEPTH)) 00287 ENDDO 00288 DO JL=1,INL 00289 DO JI=1,INI 00290 ZWGHT_SOIL=MIN(PDZG(JI,JL),MAX(0.0,ZDG_SOIL(JI)-PDG(JI,JL)+PDZG(JI,JL))) 00291 ZTG_SOIL(JI)=ZTG_SOIL(JI)+(PTG(JI,JL)-XTT)*ZWGHT_SOIL/ZDG_SOIL(JI) 00292 ENDDO 00293 ENDDO 00294 ENDIF 00295 ! 00296 ! 00297 ! * Respiration of structural biomass pools 00298 ! 00299 PRESP_BIOMASS(:,2) = PRESP_BIOMASS(:,2) + PBIOMASS(:,2) * XRESPFACTOR_NIT & 00300 * EXP((ZLOG2/ZCOEF1)*(ZTG_VEG(:)-ZCOEF2)) * PTSTEP 00301 ! before optimization * 2.0**((PTG(:,2)-XTT-ZCOEF2)/ZCOEF1) * PTSTEP 00302 ! 00303 IF (HPHOTO == 'NIT') THEN 00304 ! 00305 PRESP_BIOMASS(:,3) = PRESP_BIOMASS(:,3) + PBIOMASS(:,3) * XRESPFACTOR_NIT & 00306 * EXP((ZLOG2/ZCOEF1)*(ZTG_SOIL(:)-ZCOEF2)) * PTSTEP 00307 ! before optimization * 2.0**((PTG(:,2)-XTT-ZCOEF2)/ZCOEF1) * PTSTEP 00308 ! 00309 ELSEIF (HPHOTO == 'NCB') THEN 00310 ! 00311 PRESP_BIOMASS(:,2) = MIN(PRESP_BIOMASS(:,2), PBIOMASS(:,2)) 00312 ! 00313 PRESP_BIOMASS(:,3) = PRESP_BIOMASS(:,3) + PBIOMASS(:,3) * MAX( 0., & 00314 XCOEFF_MAINT_RESP_ZERO * (1. + XSLOPE_MAINT_RESP*ZTG_VEG(:))) * PTSTEP 00315 PRESP_BIOMASS(:,3) = MIN(PRESP_BIOMASS(:,3), PBIOMASS(:,3)) 00316 ! 00317 PRESP_BIOMASS(:,4) = PRESP_BIOMASS(:,4) + PBIOMASS(:,4) * MAX( 0., & 00318 XCOEFF_MAINT_RESP_ZERO * (1. + XSLOPE_MAINT_RESP*ZTG_SOIL(:))) * PTSTEP 00319 PRESP_BIOMASS(:,4) = MIN(PRESP_BIOMASS(:,4), PBIOMASS(:,4)) 00320 ! 00321 ENDIF 00322 ! 00323 ! * Instantaneous respiration (kgCO2/kgair m/s) 00324 ! 00325 DO JL=2,SIZE(PRESP_BIOMASS,2) 00326 PRESP_BIOMASS_INST(:,JL) = (PRESP_BIOMASS(:,JL) - ZRESP_BIOMASS_LAST(:,JL)) & 00327 * XPCCO2*XMCO2/(PTSTEP*PRHOA(:)*XMC) 00328 ENDDO 00329 ! 00330 ENDIF 00331 00332 !* 3. Agricultural practices 00333 ! ---------------------- 00334 ! 00335 IF (OAGRIP) THEN 00336 ! 00337 GMASK_AGRI(:) = .FALSE. 00338 WHERE ( TPSEED(:)%TDATE%MONTH /= NUNDEF .AND. ( KMONTH < TPSEED(:)%TDATE%MONTH .OR. & 00339 (KMONTH == TPSEED(:)%TDATE%MONTH .AND. KDAY < TPSEED(:)%TDATE%DAY) ) ) GMASK_AGRI(:) = .TRUE. 00340 WHERE ( TPREAP(:)%TDATE%MONTH /= NUNDEF .AND. ( KMONTH > TPREAP(:)%TDATE%MONTH .OR. & 00341 (KMONTH == TPREAP(:)%TDATE%MONTH .AND. KDAY >= TPREAP(:)%TDATE%DAY) ) ) GMASK_AGRI(:) = .TRUE. 00342 ! 00343 WHERE (GMASK_AGRI(:)) 00344 PLAI(:) = PLAIMIN(:) 00345 ZBIOMASS_LEAF(:) = PLAI(:) * ZBSLAI_NITRO(:) 00346 END WHERE 00347 00348 IF (HPHOTO == 'NIT' .OR. HPHOTO == 'NCB') THEN 00349 ! 00350 WHERE (GMASK_AGRI(:)) 00351 PBIOMASS(:,1) = 0.0 00352 PBIOMASS(:,2) = 0.0 00353 PBIOMASS(:,3) = 0.0 00354 PRESP_BIOMASS(:,2) = 0.0 00355 PRESP_BIOMASS(:,3) = 0.0 00356 END WHERE 00357 ! 00358 IF (HPHOTO == 'NCB') THEN 00359 ! 00360 WHERE (GMASK_AGRI(:)) 00361 PBIOMASS(:,4) = 0.0 00362 PBIOMASS(:,5) = 0.0 00363 PBIOMASS(:,6) = 0.0 00364 PRESP_BIOMASS(:,4) = 0.0 00365 END WHERE 00366 ! 00367 ENDIF 00368 ! 00369 ENDIF 00370 ! 00371 ENDIF 00372 ! 00373 !* 4. Physical parameters depending on vegetation 00374 ! ------------------------------------------- 00375 ! 00376 IF (GMASK) THEN 00377 ! 00378 WHERE( PVEG(:) > 0. ) 00379 ! Evolution of vegetation fraction and roughness length due to LAI change 00380 PZ0 (:) = Z0V_FROM_LAI(PLAI(:),PH_TREE(:),PVEGTYPE(:,:)) 00381 PVEG(:) = VEG_FROM_LAI(PLAI(:),PVEGTYPE(:,:)) 00382 ! 00383 ! Evolution of radiative parameters due to vegetation fraction change 00384 PEMIS(:)= EMIS_FROM_VEG(PVEG(:),PVEGTYPE(:,:)) 00385 END WHERE 00386 ! 00387 CALL ALBEDO(HALBEDO, & 00388 PALBVIS_VEG,PALBNIR_VEG,PALBUV_VEG,PVEG, & 00389 PALBVIS_SOIL,PALBNIR_SOIL,PALBUV_SOIL, & 00390 PALBVIS,PALBNIR,PALBUV ) 00391 ! 00392 ! Evolution of effective roughness length due to new surface roughness length 00393 ! 00394 IF (SIZE(PAOSIP)>0) & 00395 CALL SUBSCALE_Z0EFF(PAOSIP,PAOSIM,PAOSJP,PAOSJM, & 00396 PHO2IP,PHO2IM,PHO2JP,PHO2JM,PZ0, & 00397 PZ0EFFIP,PZ0EFFIM,PZ0EFFJP,PZ0EFFJM ) 00398 ! 00399 ENDIF 00400 ! 00401 IF (LHOOK) CALL DR_HOOK('VEGETATION_EVOL',1,ZHOOK_HANDLE) 00402 !----------------------------------------------------------------- 00403 ! 00404 END SUBROUTINE VEGETATION_EVOL