SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/laigain.F90
Go to the documentation of this file.
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