|
SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE LAIGAIN(PBSLAI, PLAIMIN, PVEG, PBIOMASS, PLAI, PANDAY) 00003 ! ###################################################################### 00004 !!**** *LAIGAIN* 00005 !! 00006 !! PURPOSE 00007 !! ------- 00008 ! 00009 ! Calculates the time change in LAI due to assimilation 00010 ! of CO2. This in turn changes the dry biomass of the canopy. 00011 ! 00012 !!** METHOD 00013 !! ------ 00014 ! Calvet at al (1998) 00015 !! 00016 !! EXTERNAL 00017 !! -------- 00018 !! none 00019 !! 00020 !! IMPLICIT ARGUMENTS 00021 !! ------------------ 00022 !! 00023 !! MODD_CO2V_PAR 00024 !! 00025 !! REFERENCE 00026 !! --------- 00027 !! 00028 !! Calvet et al. (1998) 00029 !! 00030 !! AUTHOR 00031 !! ------ 00032 !! 00033 !! A. Boone * Meteo-France * 00034 !! (following Belair) 00035 !! 00036 !! MODIFICATIONS 00037 !! ------------- 00038 !! Original 27/10/97 00039 !! V. Masson 01/03/03 daily assimilation. 00040 !! P Le Moigne 09/2005 AGS modifs of L. Jarlan 00041 !! S Lafont 03/2011 PANDAY calcul move to lailoss, nitro_decline 00042 !------------------------------------------------------------------------------- 00043 ! 00044 !* 0. DECLARATIONS 00045 ! ------------ 00046 ! 00047 USE MODD_CO2V_PAR, ONLY : XMC, XMCO2, XPCCO2 00048 ! 00049 ! 00050 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00051 USE PARKIND1 ,ONLY : JPRB 00052 ! 00053 IMPLICIT NONE 00054 ! 00055 !* 0.1 declarations of arguments 00056 ! 00057 REAL,DIMENSION(:),INTENT(IN) :: PBSLAI ! ratio of biomass to LAI 00058 REAL,DIMENSION(:),INTENT(IN) :: PLAIMIN ! minimum LAI 00059 REAL,DIMENSION(:),INTENT(IN) :: PVEG ! vegetation fraction 00060 ! 00061 REAL,DIMENSION(:),INTENT(INOUT):: PANDAY ! daily net CO2 assimilation (kgCO2 m-2) 00062 REAL,DIMENSION(:),INTENT(INOUT):: PLAI ! LAI as a function of time: 00063 ! ! as a function of growth, 00064 ! ! decay, assimilation. 00065 REAL,DIMENSION(:),INTENT(INOUT):: PBIOMASS ! total dry canopy biomass (kgDM m-2) 00066 ! 00067 !* 0.2 declarations of local variables 00068 ! 00069 REAL :: ZBMCOEF 00070 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00071 ! used to compute biomass change (working scalar) 00072 ! 00073 !----------------------------------------------------------------- 00074 ! 00075 IF (LHOOK) CALL DR_HOOK('LAIGAIN',0,ZHOOK_HANDLE) 00076 ZBMCOEF = XMC/(XMCO2*XPCCO2) 00077 ! 00078 ! 00079 ! Once a day (at midnight), adjust biomass: 00080 ! ---------------------------------------- 00081 ! 00082 WHERE( (PVEG(:)>0) ) 00083 ! 00084 ! change biomass in time due to assimilation of CO2: 00085 ! 2011 :this computation have been move to lailoss and nitro_decline 00086 ! 00087 ! PBIOMASS(:) = PBIOMASS(:) + PANDAY(:)*ZBMCOEF 00088 ! 00089 ! make sure biomass doesn't fall below minimum threshold: 00090 ! 00091 PBIOMASS(:) = MAX(PLAIMIN(:)*PBSLAI(:),PBIOMASS(:)) 00092 ! 00093 ! change in LAI in time due to biomass changes: 00094 ! 00095 PLAI(:) = PBIOMASS(:)/PBSLAI(:) 00096 ! 00097 ! reset to zero the daily net assimilation for next day: 00098 ! 00099 PANDAY(:) = 0. 00100 ! 00101 END WHERE 00102 IF (LHOOK) CALL DR_HOOK('LAIGAIN',1,ZHOOK_HANDLE) 00103 ! 00104 ! 00105 END SUBROUTINE LAIGAIN
1.8.0