wiki:DevelopmentActivities/ORCHIDEE-DOFOCO

Version 40 (modified by jotto, 8 years ago) (diff)

Juliane added things to radiation DOFOCO TO-DO list

RADIATION

APPROACH

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. We are also making it into a multi-layer model. The calculation of the effective LAI now uses the Pgap model of Haverd et al described in their 2012 paper (Agricultural and Forest Meteorology, Vol. 160, pp 14-35) to take the canopy structure into account.

TASKS ACCOMPLISHED

  • Two stream radiation transfer model of Pinty et al is implemented
  • Effecive LAI is now calculated by the Pgap model of Haverd et al described in their 2012 paper (Agricultural and Forest Meteorology, Vol. 160, pp 14-35)
  • A framework capable of using an arbitrary number of canopy layers is in place, although the tests are still not satisfactory
  • The snow calculation has been modified to include snow in the background reflectance of Pinty's scheme, effectively putting snow under the canopy

ROUTINES CHANGED

  • stomate.f90: Added the variables sinang and lai_eff to history files, added the subroutine stomate_canopy_structure and the subroutine effective_lai. The routines from Vanessa Haverd and Jenny Lovell's code to calculate Pgap were incorporated, making formatting changes
  • intersurf.f90: Added lai_eff and sinang to the definition of the history files
  • sechiba.f90: Added lai_eff and sinang to history files
  • albedo.f90: seperated all the albedo routines from sechiba into their own file
  • condveg.f90: removed all the albedo stuff and put it in its own file

TO DO

  • Differentiate between infrared and visible scattering in the calculation of the snow albedo
  • Confirm the details of the multi-layering scheme
  • change the dimensions of the variable albedo to store direct, diffuse, VIS and NIR (the direct and diffuse distinction becomes moot with the current multilayering scheme, as they must be averaged into one value for the background reflection to communicate between the layers)
  • Check the cause of the one day mismatch in between LAI and LAI_eff...UPDATE: seems like this is caused by the biomass being updated at 1800 s after midnight, while the LAIeff is updated in the slow processes, at midnight
  • clean code, why is laieff and singang written in both stomate and sechiba?
  • Use single scattering values that change over the course of the year...initial tests described below make it seem like this is important
  • to generate single scattering values for all PFTs (so far only values for main tree species in Europe are available, status 21.1.)
  • to introduce calculation of LAI_eff for grass and crops
  • testing and validation of new albedo scheme

TESTS

  • The old albedo scheme from the svn 1.9.5.2 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 Pgap implimentation was compared to the result given by Jenny and Vanessa's code, with the same numerical result
  • The new scheme was compared against the old one in v1.9.6.0, and the results are qualitatively similar, but not identical
  • A 20 layer model was tested against the single layer model, giving small differences (a few percent, relative, at midday)
  • We tried to optimize the single scattering and forward efficiency values in the n-layer case to reproduce the average albedo in the 1-layer case, but a simple optimization scheme is only able to make very small gains and takes an order of magnitude more time...it appears that we might be able to optimize the diffuse and direct TOC albedo to match the 1-layer case, but it could take thousands of steps for a simple compass search (four function evals per step), even adjusting the step length during the optimization....maybe try a generalized set search and vary the step directions as well?
  • Inclusion of the new snow albedo gives realistic trends, with the total albedo spiking after snowfalls and showing diurnal variation with leaves are present, but being flat at other times (the solar angle is incorporated through the use of Pgap, which mostly depends on the canopy)
  • I made use of single scattering albedos that Juliane got from Bernard's inversion scheme for 20 tree species, running tests with the min and max values for single scattering albedo and forward scattering efficiency for both VIS and NIR bands...the MUE for the overal albedo varies by 0.01 to 0.04 albdo units depending on the spectrum, showing that we should take this into account



ALLOCATION

APPROACH

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

ROUTINES CHANGED

  • 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

TO DO

CHECK

  • Define all allometric relationships in a single subroutine to increase consistency of the model
  • Move all comments to a subroutine
  • Line 460, stomate_npp.f90: switched off the influence of wstress as this made the NPP collaps
  • Only pass prognostic variables in the argument list i.e. ::lai should not be passed as it can be calculated from biomass which is already passed. Same applies for ::height
  • why is lai_target an output variable?
  • Substract R_growth before the allocation scheme
  • can lai_happy be replaced by i.e. 0.5*lai_target in growth_fun_all
  • in growth_fun_all do the allocation without ::f_alloc, calculate it only as a diagnostic variable for i.e. model comparison excercises

CAUTION

  • Both resource and allometric allocation make use of the variable pipe_tune2 and pipe_tune3. In 1.9.5.2 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.

TESTS

  • TEST 1: The old allocation scheme (flag STOMATE_FUNCTIONAL_ALLOCATION is not available) in the tag 1.9.5.2 (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 made up by stomate_alloc.f90 and stomate_npp.f90 (flag STOMATE_FUNCTIONAL_ALLOCATION = n) in the adjusted 1.9.5.2 (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 2b: The old allocation scheme made up by stomate_growth_res_lim.f90 (flag STOMATE_FUNCTIONAL_ALLOCATION = n) in the adjusted 1.9.5.2 (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 1.9.5.2 (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.



ENERGY BUDGET

APPROACH

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).

ROUTINES TO BE CHANGED

  • 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)