Changes between Version 129 and Version 130 of Documentation/TrunkFunctionality4


Ignore:
Timestamp:
2022-12-13T13:42:19+01:00 (19 months ago)
Author:
jalleon
Comment:

Informations about bypass stomate and hydraulic architecture

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/TrunkFunctionality4

    v129 v130  
    267267 
    268268 
     269=== Hydraulic architecture === 
     270 
     271Describes r7829. A new hydraulic architecture resolution has been implemented in the hydrol.f90 module of ORCHIDEE trunk. This hydraulic architecture is controlled thanks to a set of flag. The flag '''ok_hydrol_arch''' imposes the model to solve a hydraulic architecture. By default, the hydraulic architecture developed in ORCHIDEE-CAN is solved (in hydraulic_arch.f90 module). To use the hydraulic architecture developed following Tuzet et al. (2017) model, another flag needs to be set : '''is_tuzet_hydrol_arch'''. When this hydrualic architecture is set up, several options can be added.  
     272 
     273Two different ways of solving root absorption are implemented. One with low calculation time using a dynamic resistance or another one solving radially Richards' diffusion equation around the roots. The flag '''ok_tuzet_hydrol_arch_muff''' permits to activate the radial resolution around the roots (by default, it is set to False and the dynamic resistance is used).  
     274 
     275This hydraulic architecture also permits to represent water storage in vegetation. This process is controlled thanks to the flag '''ok_tuzet_hydrol_arch_storage'''. By default, the flag is set to False and no storage pools are modelled. 
     276 
     277Following discussions, it has been decided to also implement dynamic hydraulic resistances in the vegetation following Yao et al. (2022). Those dyanmic resistances (which for now lead to too strong instabilities) are controlled thanks to the flag '''ok_tuzet_hydrol_arch_dyn_resist'''. By default, the flag is set to False and fixed parameterised resistances are set. 
     278 
     279Finally, for soil resolution purposes, two additional flags have been set up. The first one, '''split_soil_properties''' along with the parameters '''mcr_sup''', '''mcr_inf''', '''mcs_sup''', '''mcs_inf''' permits to impose different soil properties in the two soil horizons modelled in the hydraulic architecture (this is only used in the hydraulic architecture and does not change anything in hydrol vertical resolution). By default, the flag is set to False and the soil properties are the same in both horizons and are equal to the ones used in hydrol. The other one, '''is_vg''' permits to change the way soil water potential and soil hydraulic conductivity are calculated. By default, it is set to False and the hydraulic architecture follows the calculation in Campbell (1985). If it is set to True, the hydraulic architecture will use Van Genuchten (1980) calculation. 
     280 
     281 
     282 
    269283=== Land cover change (with age classes) === 
    270284Describes r6614. Land cover change now accounts for age classes. It is controlled by '''veget_update'''. Set '''veget_update''' = 0Y if land cover change should be disabled. The wood pool and its subsequent fluxes were moved from the land cover change routine to a separate routine. Furthermore, land cover change also deals with the change of biological land uses to non biological land uses (of which the most important change is probably urbanization). If urbanization happens, all the carbon an nitrogen are stored in a series of variables '''burried_xxx''' where xxx stands for a different pool, e.g., litter, soil, .... Burried_xxx are cumulative variables thus increasing over time . There is a place holder in sapiens_lcchange.90 to also develop the release of the buried carbon and nitrogen following de-urbanization (see ticket #616). The series of the burried_xxx variables are not yet written to an output file but this could be easily added (they are already defined in the xml files). 
     
    658672The code allows for many more combinations than described above. Some of those configuration could be useful in specific cases but be aware of the following: 
    659673* If the restart file for sechiba does not come from the same simulation/year as the restart file for stomate, the values for the variables that are stored in both sechiba and stomate will be overwritten by the values stored in the stomate restart file because that file is read later in the initialization phase. Some variables are duplicated because that adds the flexibility to the configuration that can be used to restart the model. 
    660 * When '''read_lai''' is true, '''ok_stomate''' should be false (but this is not yet enforced by the model - see ticket #685). It may work but it is flawed from a conceptual point of view. read_lai was developed for cases where the model cannot simulate its own canopy. ok_stomate was developed so the model would simulate its own canopy. 
     674* When '''read_lai''' is not -1, '''ok_stomate''' should be false (but this is not yet enforced by the model - see ticket #685). It may work but it is flawed from a conceptual point of view. read_lai was developed for cases where the model cannot simulate its own canopy. ok_stomate was developed so the model would simulate its own canopy. 
    661675* Combining a sechiba restart from with '''impveg''', '''impsoil''' or '''laimap''' may result in values from the restart file being overwritten because impveg, impsoil and laimap are checked after reading the sechiba restart file. 
    662676* NCO commands could be used to hack into the restart file. This could be powerful when stomate is used and one wants to restart the model after a spin-up but also want that the forest starts growing the first year of the simulation. In that case circ_class_biomass and circ_class_n should be set to zero. This approach is straightforward when no age classes are used. When age classes are used many more variables need to be moved to the correct PFT to avoid conflicts.      
    663677 
    664678 
     679=== Stomate bypass === 
     680 
     681Describes r7830. For debug or test purposes '''at site level''', a new subroutine has been implemented aiming at bypass the stomate calculation. The integer '''read_lai''' controls this routine. If '''read_lai''' is set to '''1''', the model skip the calculation of stomate module and enters the subroutine '''slowproc_impose_site_level_lai'''. In this subroutine, the vegetation variables used in sechiba are either imposed via the run.def or calculated using the same equations as in stomate (direct calculation from the imposed variables instead of running the whole stomate module). The routine has several ways of functioning according to the parameters set in the flag. The user can either impose a seasonal synamic of the LAI by prescribing the parameters '''maximum_lai''', '''minimum_lai''', '''phenology_doy_start''', '''senescence_doy_end''', '''phenology_delta''' and '''senescence_delta''' (from this, the biomasses and the canopy structure is directly calculated) or impose the full canopy structure via the variable '''lvllai_prescribe''' which is directly given to '''lai_per_level'''. Finally, the user can impose the heights of the canopy thanks to the variables '''min_canopy_height_prescribed''' and '''max_canopy_height_prescribed'''. 
     682 
     683If '''read_lai''' is set to '''2''', the user can impose a LAI map. 
     684 
     685 
    665686=== Sechiba vs stomate === 
    666 Describes r6614. In ORCHIDEE trunk the links between sechiba and stomate have been strengthened compared to previous ORCHIDEE trunks. As in previous versions, stomate makes use of variables calculated in sechiba but in ORCHIDEE trunk, sechiba requires information from stomate to work properly. It is possible to prescribe the canopy structure and thus only run sechiba. Set '''lai_map''' = y, the data for a canopy structure map need to come from an ORCHIDEE trunk run with stomate. All the required information is stored in the sechiba restart file to enable restarting the model without stomate. 
     687Describes r6614. In ORCHIDEE trunk the links between sechiba and stomate have been strengthened compared to previous ORCHIDEE trunks. As in previous versions, stomate makes use of variables calculated in sechiba but in ORCHIDEE trunk, sechiba requires information from stomate to work properly. It is possible to prescribe the canopy structure and thus only run sechiba. Set '''read_lai''' to 1 or 2, then, according to the way of functioning, the data for a canopy structure is either given thanks to a map from an ORCHIDEE trunk run with stomate (all the required information is stored in the sechiba restart file to enable restarting the model without stomate) or imposed through the run.def for site level tests. 
    667688 
    668689=== Tree ring width ===