Version 27 (modified by luyssaert, 10 years ago) (diff)




The two stream radiation transfer model of Pinty et al is implemented in ORCHIDEE. This routine uses leaf scatter and canopy structure to calculate the radiation transfer and as a result albedo can be calculated


  • stomate.f90: Added the variables sinang and lai_eff to history files, added the subroutine stomate_canopy_structure and the subroutine effective_lai
  • condveg.f90: Added the subroutine condveg_2_stream, two_stream_solver and the functions gamma, bhrT1, etc.
  • intersurf.f90: Added lai_eff and sinang to the definition of the history files
  • sechiba.f90: Added lai_eff and sinang to history files


  • Add snow
  • Discretize the scheme
  • change the dimensions of the variable albedo to store direct, diffuse, VIS and NIR
  • Check the cause of the one day mismatch in between LAI and LAI_eff
  • clean code, why is laieff and singang written in both stomate and sechiba?


  • The old albedo scheme from the svn code was compared against the old albedo scheme from the code of ORCHIDEE in which changes were made. Both old schemes resulted in the same numerical result



The functional allocation introduced in OCN is being moved into ORCHIDEE v1.9.5.2. Functional allocation respects allometric relationships between foliage, wood and root C allocation


  • stomate_alloc.f90
  • stomate_npp.f90
  • stomate_resp.f90
  • stomate.f90
  • stomate_io.f90
  • stomate_constants.f90
  • stomate_data.f90 (commented - CHECK for grass)
  • stomate_prescribe.f90 (rewritten and tested - CHECK for grass)
  • sechiba.f90
  • diffuco.f90
  • intersurf.f90



  • Make separate subroutine for resource-based allocation and allometric allocation
  • Define all allometric relationships in a single subroutine to increase consistency of the model


  • Line 460, stomate_npp.f90: switched off the influence of wstress as this made the NPP collapse
  • Hardly any leaf production after the first year. Not clear what happens. Most PFT's collapse within a year or two.
  • Calculate rue_longterm in stomate_season.f90
  • In Sonke's code ! fraction of GPP which is lost as growth respiration is defined as REAL(r_std), SAVE :: frac_growthresp in it is defined as a PARAMETER -> check stomate_constantes.
  • Check the values of limit_cn
  • Check where lab_fac comes from in stomate_resp.f90
  • Check negative NPP spikes (side effect of issues with the labile and reserve pool?)
  • The optimal LAI is estimated as LAI_opt = -2. * log(2*(dC/dt)/RUE*one_year) ??Why was it not considered a cost when the leaves life longer than one year i.e. MIN(1.,leaflife_tab) in the original code - THINK ABOUT THIS!!
  • Check what will happen if Cl_target is reached? Seems that the current routines keeps allocating C to the canopy.
  • Check the values of GPP and NPP (much lower with the new scheme)
  • Check whether a spin-up works
  • Check cn_sapl in stomate_lcchange.f90 (compare to OCN)


  • Both resource and allometric allocation make use of the variable pipe_tune2 and pipe_tune3. In these variables are set to 40 and 0.5 respectively. In OCN the values are 55 and 0.65 respectively. Use the appropriate values depending on the tests.
  • The variable ::use_reserve, seems to be consistently used as a flag in the allometric based allocation. However, in the resource-based allocation it is consistently used as a C stock (gC m-2). The value is set in stomate_alloc.f90 and used in stomate_npp.f90.
  • Unexpectedly, the resource based scheme (which should simply reproduce the previous scheme) now has a seasonal cycle for ilabile (The previous scheme does not). However, it does not seem to affect the outcome and it clearly is on purpose as stomate_npp.f90 contains several lines of code dealing with ilabile in the resource based scheme.


  • TEST 1: The old allocation scheme (flag STOMATE_FUNCTIONAL_ALLOCATION is not available) in the tag (rev 712) was run for: (1) one pixel (52-53N, 6-7E), (2) 2 years, (3) without restart file, (4) with NCC forcing and (5) for all forest PFTs on a single pixel. The configuration can be found at home/users/sluys/MY_1_9_5_2/config/ORCHIDEE_OL/MYDEBUG1.
  • TEST 2: The old allocation scheme (flag STOMATE_FUNCTIONAL_ALLOCATION = n) in the adjusted (rev 712) code was run for: (1) one pixel (52-53N, 6-7E), (2) 2 years, (3) without restart file, (4) with NCC forcing and (5) for all forest PFTs on a single pixel. The configuration can be found at home/users/sluys/MY_DEBUG/config/ORCHIDEE_OL/MYDEBUG2.
  • TEST 3: The new allocation scheme (flag STOMATE_FUNCTIONAL_ALLOCATION = y) in the adjusted (rev 712) code was run for: (1) one pixel (52-53N, 6-7E), (2) 10 years, (3) without restart file, (4) with NCC forcing and (5) for all forest PFTs on a single pixel. The configuration can be found at home/users/sluys/MMY_DEBUG/config/ORCHIDEE_OL/MYDEBUG3.



The aim of this development is to improve the simulation of the energy balance in Orchidee through the implementation of a multi-layer energy balance model that retains implicit coupling with the atmospheric model and with the sub-surface hydrology scheme. The scheme is described in full in the working document 'Towards a multi-layer representation of the energy balance in a land surface model' (contact: James Ryder).


  • enerbil.f90: Re-write to describe new calculation scheme but with the preservation of existing input and output variables
  • diffuco.f90: Re-write to calculate diffusion co-efficients in new scheme
  • intersurf.f90: Addition of new coupling co-efficients for description of transport between the surface and the LMDz atmospheric model

Attachments (8)