SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
laigain.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE laigain(PBSLAI, PLAIMIN, PVEG, PBIOMASS, PLAI, PANDAY)
7 ! ######################################################################
8 !!**** *LAIGAIN*
9 !!
10 !! PURPOSE
11 !! -------
12 !
13 ! Calculates the time change in LAI due to assimilation
14 ! of CO2. This in turn changes the dry biomass of the canopy.
15 !
16 !!** METHOD
17 !! ------
18 ! Calvet at al (1998)
19 !!
20 !! EXTERNAL
21 !! --------
22 !! none
23 !!
24 !! IMPLICIT ARGUMENTS
25 !! ------------------
26 !!
27 !! MODD_CO2V_PAR
28 !!
29 !! REFERENCE
30 !! ---------
31 !!
32 !! Calvet et al. (1998)
33 !!
34 !! AUTHOR
35 !! ------
36 !!
37 !! A. Boone * Meteo-France *
38 !! (following Belair)
39 !!
40 !! MODIFICATIONS
41 !! -------------
42 !! Original 27/10/97
43 !! V. Masson 01/03/03 daily assimilation.
44 !! P Le Moigne 09/2005 AGS modifs of L. Jarlan
45 !! S Lafont 03/2011 PANDAY calcul move to lailoss, nitro_decline
46 !-------------------------------------------------------------------------------
47 !
48 !* 0. DECLARATIONS
49 ! ------------
50 !
51 USE modd_co2v_par, ONLY : xmc, xmco2, xpcco2
52 !
53 !
54 USE yomhook ,ONLY : lhook, dr_hook
55 USE parkind1 ,ONLY : jprb
56 !
57 IMPLICIT NONE
58 !
59 !* 0.1 declarations of arguments
60 !
61 REAL,DIMENSION(:),INTENT(IN) :: pbslai ! ratio of biomass to LAI
62 REAL,DIMENSION(:),INTENT(IN) :: plaimin ! minimum LAI
63 REAL,DIMENSION(:),INTENT(IN) :: pveg ! vegetation fraction
64 !
65 REAL,DIMENSION(:),INTENT(INOUT):: panday ! daily net CO2 assimilation (kgCO2 m-2)
66 REAL,DIMENSION(:),INTENT(INOUT):: plai ! LAI as a function of time:
67 ! ! as a function of growth,
68 ! ! decay, assimilation.
69 REAL,DIMENSION(:),INTENT(INOUT):: pbiomass ! total dry canopy biomass (kgDM m-2)
70 !
71 !* 0.2 declarations of local variables
72 !
73 REAL :: zbmcoef
74 REAL(KIND=JPRB) :: zhook_handle
75 ! used to compute biomass change (working scalar)
76 !
77 !-----------------------------------------------------------------
78 !
79 IF (lhook) CALL dr_hook('LAIGAIN',0,zhook_handle)
80 zbmcoef = xmc/(xmco2*xpcco2)
81 !
82 !
83 ! Once a day (at midnight), adjust biomass:
84 ! ----------------------------------------
85 !
86 WHERE( (pveg(:)>0.) )
87 !
88 ! change biomass in time due to assimilation of CO2:
89 ! 2011 :this computation have been move to lailoss and nitro_decline
90 !
91 ! PBIOMASS(:) = PBIOMASS(:) + PANDAY(:)*ZBMCOEF
92 !
93 ! make sure biomass doesn't fall below minimum threshold:
94 !
95  pbiomass(:) = max(plaimin(:)*pbslai(:),pbiomass(:))
96 !
97 ! change in LAI in time due to biomass changes:
98 !
99  plai(:) = pbiomass(:)/pbslai(:)
100 !
101 ! reset to zero the daily net assimilation for next day:
102 !
103  panday(:) = 0.
104 !
105 END WHERE
106 IF (lhook) CALL dr_hook('LAIGAIN',1,zhook_handle)
107 !
108 !
109 END SUBROUTINE laigain
subroutine laigain(PBSLAI, PLAIMIN, PVEG, PBIOMASS, PLAI, PANDAY)
Definition: laigain.F90:6