Changes between Version 246 and Version 247 of DevelopmentActivities/ORCHIDEE-DOFOCO


Ignore:
Timestamp:
2020-01-22T21:07:19+01:00 (4 years ago)
Author:
luyssaert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopmentActivities/ORCHIDEE-DOFOCO

    v246 v247  
    148148ORCHIDEE-CN-CAN calculates the number of individuals and uses this as a criterion to initiate a stand replacing disturbance. This approach, guided by the self-thinning relationship, avoids the need for a stand-level turnover time. ORCHIDEE-CN, and ORCHIDEE-CNP still make use of stand-level turnover. 
    149149 
    150 There are no options to revert to the allocation based on resource limitation. All references and parameters for allocation based on resource limitation have been removed from the code (those that were overlloked can be removed). Allometric allocation makes use of the following PFT-specific parameters: '''sla''', '''tau_root''', '''tau_leaf''', '''tau_sap''', '''pipe_density''', '''tree_ff''', '''pipe_tune_x''', '''k_latosa_max''', and '''k_latosa_min'''. In addition to this set of parameters that mainly describe the allometric relationships and the longevity of the different tissues, the calculation of the allocation coefficients makes use PFT-specific tissue conductivities, i.e., '''k_sap''', '''k_root''', and '''k_leaf''' (see also plant water stress). As such there is a functional link between C and N-allocation and the hydraulic architecture of a plant. Details on the parameters can be found in the SI of Naudts et al 2015 in GMD or in src_parameters/constantes_mtc.f90. 
     150There are no options to revert to the allocation based on resource limitation. All references and parameters for allocation based on resource limitation have been removed from the code (those that were overlooked can be removed). Allometric allocation makes use of the following PFT-specific parameters: '''sla''', '''tau_root''', '''tau_leaf''', '''tau_sap''', '''pipe_density''', '''tree_ff''', '''pipe_tune_x''', '''k_latosa_max''', and '''k_latosa_min'''. In addition to this set of parameters that mainly describe the allometric relationships and the longevity of the different tissues, the calculation of the allocation coefficients makes use PFT-specific tissue conductivities, i.e., '''k_sap''', '''k_root''', and '''k_leaf''' (see also plant water stress). As such there is a functional link between C and N-allocation and the hydraulic architecture of a plant. Details on the parameters can be found in the SI of Naudts et al 2015 in GMD or in src_parameters/constantes_mtc.f90. 
    151151 
    152152=== Anthropogenic species change (CHECK) === 
     
    157157 
    158158=== Bark beetles (CHECK) === 
    159 The bark beetle module was developed such that it interacts with the windthrow module. If you want to activate it use the flag OK_PEST=y in the run.def. To specify wich PFT may be affected by bark beetles use BEETLE_PFT_xxx= TRUE where XXX is the pft you interested in. Note that for the moment bark beetles in ORCHIDEE is parameterized only to work with Picea abies. 
     159The bark beetle module was developed such that it interacts with the windthrow module. If you want to activate it use the flag OK_PEST=y in the run.def. To specify which PFT may be affected by bark beetles use BEETLE_PFT_xxx= TRUE where XXX is the pft you interested in. Note that for the moment bark beetles in ORCHIDEE is parameterized only to work with Picea abies. 
    160160 
    161161=== C13 (CHECK) === 
     
    173173* OOL_SEC_STO_FG4: ~0.5x0.5 degrees annual CRU-NCEP forcing between 1901 and 2010. Start from scratch. 64 PFTs, European forest are defined at the species level with 4 age classes, forests outside of Europe are defined at the MTC level with 1 age class, annual land cover and tree species changes, annual  input deposition, annual CO2 concentrations, annual forest management, and annual litter raking. 
    174174* OOL_SEC_STO_FG5: 1x1 degrees annual IPSL RCP 4.5 forcing between 1911 and 2100. Start from OOL_SEC_STO_FG4. XX PFTs, no land cover and changes, annual input deposition, annual CO2 concentrations, prescribed species and management changes following annual a stand replacing disturbance, litter raking for 2010. This configuration is under development. Waiting for the boundary files to be copied to orchideeshare. The species and management change functionality needs to be tested within CN-CAN.  
    175 * OOL_SEC: 2x2 degrees annual CRU-NCEP forcing between 1901 and 2010. Start from scratch. 15 PFTs prescribed by reading in a biomass map. Land cover changes, input deposition, CO2 concentrations, and all other biogeochemical and ecological processes are disactivated. This configuration is under development, waiting for a global LAI map (in case of CN-CAN this has become biomass map) to be tested. 
     175* OOL_SEC: 2x2 degrees annual CRU-NCEP forcing between 1901 and 2010. Start from scratch. 15 PFTs prescribed by reading in a biomass map. Land cover changes, input deposition, CO2 concentrations, and all other biogeochemical and ecological processes are deactivated. This configuration is under development, waiting for a global LAI map (in case of CN-CAN this has become biomass map) to be tested. 
    176176* TESTSTOMATE: Not maintained for ORCHIDEE-CN-CAN. Will be added back once teststomate.exe has been restored. 
    177177* FORCESOIL: Not maintained for ORCHIDEE-CN-CAN. Will be added back once forcesoil.exe has been restored. 
     
    200200 
    201201=== Forced clear cut (CHECK) === 
    202 OK_CLEARCUT is a flag used to force ORCHIDEE-CN-CAN to clearcut a forest after one year of simulation. This flag is set to TRUE in order to restart a new stand at the begining of the FIN step in ENSEMBLE runs. It helps us to control the stand age at the end of the HIST step. If you want to use this flag for other purposes, do not forget that a clearcut means that the majority of the living biomass is removed (circ_class_biomass for sapwood and heartwood), but the other pools are transferred in the litter pool (leaf, branches, fruit, fine root). 
     202OK_CLEARCUT is a flag used to force ORCHIDEE-CN-CAN to clearcut a forest after one year of simulation. This flag is set to TRUE in order to restart a new stand at the beginning of the FIN step in ENSEMBLE runs. It helps us to control the stand age at the end of the HIST step. If you want to use this flag for other purposes, do not forget that a clearcut means that the majority of the living biomass is removed (circ_class_biomass for sapwood and heartwood), but the other pools are transferred in the litter pool (leaf, branches, fruit, fine root). 
    203203 
    204204=== Forest management and management changes (CHECK) === 
     
    243243 
    244244=== Land cover change (with age classes) (CHECK) === 
    245 Land cover change now accounts for age classes. It is controlled by the flags '''land_cover_change''' and '''veget_update'''. Set '''land_cover_change''' = n and '''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 burried 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. 
    246  
    247 An interesting parameter is '''min_vegfrac'''. When reading in a land cover map, PFTs with a fraction below min_vegfrac are removed. Likewise the fraction cover of a PFT after a land cover change should not be less than min_vegfrac either. This requirement seems to have been solely established to avoid ending up with too many PFTs with very small fractions. Because the the non-biological and biological fraction covers of each pixel should sum up to one, removing even these very small fractions implies that these farctions need to be added to one of the remaining PFTs. First it is tried to add the fraction to the bare soil (this will only be accepted if the new fraction of the bare soil exceeds min_vegfrac), then the code tries to allocate the residual fraction to the largest vegetated fraction. If age classes are used this should be the largest vegetated fraction in the first age class of a PFT. If all of the above failed, the residual fraction is added to frac_nobio irrespective of whether frac_nobio exceeds min_vegfrac. Everytime this happens, the failure to meet the min_vegfrac criterion is registered in the variable '''failed_vegfrac'''. This variable is not yet added to an output file.  
     245Land cover change now accounts for age classes. It is controlled by the flags '''land_cover_change''' and '''veget_update'''. Set '''land_cover_change''' = n and '''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. 
     246 
     247An interesting parameter is '''min_vegfrac'''. When reading in a land cover map, PFTs with a fraction below min_vegfrac are removed. Likewise the fraction cover of a PFT after a land cover change should not be less than min_vegfrac either. This requirement seems to have been solely established to avoid ending up with too many PFTs with very small fractions. Because the the non-biological and biological fraction covers of each pixel should sum up to one, removing even these very small fractions implies that these fractions need to be added to one of the remaining PFTs. First it is tried to add the fraction to the bare soil (this will only be accepted if the new fraction of the bare soil exceeds min_vegfrac), then the code tries to allocate the residual fraction to the largest vegetated fraction. If age classes are used this should be the largest vegetated fraction in the first age class of a PFT. If all of the above failed, the residual fraction is added to frac_nobio irrespective of whether frac_nobio exceeds min_vegfrac. Everytime this happens, the failure to meet the min_vegfrac criterion is registered in the variable '''failed_vegfrac'''. This variable is not yet added to an output file.  
    248248 
    249249Note that the min_vegfrac criterion could be the reason of why very small land cover changes occur. Another consequence is that the land cover fractions in the model are not exactly the same as those read in from the maps. Deviations should remain small and should not accumulate over time. Assume that in y0 the fraction of PFT2 = 0. In y1 the map tells us the fraction is half of min_vegfrac. The model will keep the PFT fraction to zero. The model and the map will no longer be in line with each other. In y2 the map tells us the fraction is twice min_vegfrac. The model will now accept the change. The model and the map will be in line with each other. 
     
    303303A model run now requires three different parameter files: run.def, orchidee.def and orchidee_pft.def. LibIGCM reads these files in COMP/orchidee_ol.card.  
    304304* The run.def contains all the information for the driver. This is also the file where the default global domain can be reduced (LIMIT_N, LIMIT_S, LIMIT_E and LIMIT_W). When the same experiment is to run in off-line and coupled mode, only the run.def should be changed. 
    305 * The orchidee.def contains the details of the experiment toghether with the settings of the orchidee_ol, sechiba and stomate cards in COMP. Each of the predefined configurations in config/ORCHIDEE_OL will have different settings. These files need to set up manually because each experiment will differ. Copy the best matching predefined experiment from config/ORCHIDEE_OL and use it a template to set-up your own simulation experiment. 
     305* The orchidee.def contains the details of the experiment together with the settings of the orchidee_ol, sechiba and stomate cards in COMP. Each of the predefined configurations in config/ORCHIDEE_OL will have different settings. These files need to set up manually because each experiment will differ. Copy the best matching predefined experiment from config/ORCHIDEE_OL and use it a template to set-up your own simulation experiment. 
    306306* The orchidee_pft.def is available in different configurations. The configuration depends on the interest of the user in vegetation and its dynamics. The default setting for the moment is the same as the trunk, i.e., 15 pfts with a single age class. Nevertheless other useful orchidee_pft.def files are available. Users can make their own files by making use of the script in the MAKE_RUN_DEF folder. '''Note that different numbers of PFTs will require matching land cover maps. Also the order of the PFTs in the run.def should follow the order of the PFTs in the map. There is no quality control to check whether definition files and input maps following the same PFT order.''' If the PFT maps are available, users can run each of the predefined simulation experiments (config/ORCHIDEE_OL) with all available orchidee_pft.def files. The number of PFTs largely determines the speed of the model. 
    307307 
     
    313313 
    314314=== Phenology (forced) (CHECK) === 
    315 The pft-specific parameter '''always_init''' controls whether the phenology depends on the reserves (set to .FALSE.) or is forced (set to .TRUE.). Note that a forced phenology (thus always_init = .TRUE.) has no ecophysiological basis, it is a numerical approach to stabilize the vegetation cover. A stable vegetation cover is particulary welcome in coupled simulations but likley hides real vegetation dynamics (especially under future climate conditions) or problems in other routines or parameter settings. If a PFT keeps dying in an area where it is currently present, this would hint at a problem with the current model/parameters. If a PFT keeps dying under future conditions, it may be a real response (depending on the PFT). If forced phenology is used, plants will develop an initial canopy in phenology irrespective of whether the plant had sufficient carbon and nitrogen reserves and for evergreen species irrespective of whether the canopy was viable at all. This setting basically overcomes a mortality event at the expense of taking up carbon and nitrogen from the atmosphere. When used in combination with impose_cn = n, an inconsistency is introduced: impose_cn = n reflect the desire to close the nitrogen cycle, always_init = y opens a backdoor in the nitrogen cycle.  
    316  
    317 From a conceptual point of view, CN-CAN is all about vegetation dynamics and thus instabilities in the vegetation cover. In CN-CAN there are two processes that can deal with dying PFts including evergreens PFTs. First, ok_recruitment could used. If ok_recruitment = .TRUE. a decreas in the canopy cover will result in more light reaching the forest floor which in turn should trigger recruitment of -for the moment- the same PFT. Generation can take over from each other without loosing the canopy cover entirely. Second, if there are insufficient reserves to grow no leaves, there will be no or insufficient gpp, the crabon reserves will be consumed by respiration processes, the plants will be killed, the biomass transferred to the litter pools and the same or another PFT (see section on species change) will be replanted. CN-CAN was developed to work with always_init = .FALSE. so this has become the default value, contrary to the trunk where always_init = .TRUE. is the default. 
     315The pft-specific parameter '''always_init''' controls whether the phenology depends on the reserves (set to .FALSE.) or is forced (set to .TRUE.). Note that a forced phenology (thus always_init = .TRUE.) has no ecophysiological basis, it is a numerical approach to stabilize the vegetation cover. A stable vegetation cover is particularly welcome in coupled simulations but likley hides real vegetation dynamics (especially under future climate conditions) or problems in other routines or parameter settings. If a PFT keeps dying in an area where it is currently present, this would hint at a problem with the current model/parameters. If a PFT keeps dying under future conditions, it may be a real response (depending on the PFT). If forced phenology is used, plants will develop an initial canopy in phenology irrespective of whether the plant had sufficient carbon and nitrogen reserves and for evergreen species irrespective of whether the canopy was viable at all. This setting basically overcomes a mortality event at the expense of taking up carbon and nitrogen from the atmosphere. When used in combination with impose_cn = n, an inconsistency is introduced: impose_cn = n reflect the desire to close the nitrogen cycle, always_init = y opens a backdoor in the nitrogen cycle.  
     316 
     317From a conceptual point of view, CN-CAN is all about vegetation dynamics and thus instabilities in the vegetation cover. In CN-CAN there are two processes that can deal with dying PFts including evergreens PFTs. First, ok_recruitment could used. If ok_recruitment = .TRUE. a decrease in the canopy cover will result in more light reaching the forest floor which in turn should trigger recruitment of -for the moment- the same PFT. Generation can take over from each other without loosing the canopy cover entirely. Second, if there are insufficient reserves to grow no leaves, there will be no or insufficient gpp, the carbon reserves will be consumed by respiration processes, the plants will be killed, the biomass transferred to the litter pools and the same or another PFT (see section on species change) will be replanted. CN-CAN was developed to work with always_init = .FALSE. so this has become the default value, contrary to the trunk where always_init = .TRUE. is the default. 
    318318 
    319319=== Photosynthesis (CHECK) === 
     
    386386 
    387387The default setting of  multi_layer_control in ORHIDEE-CN-CAN is 1. This is well tested and considered save to use. More details of the flags controlling the multi-layer can be found below and within the model code. The flags controlled by the multi_layer_control are: 
    388 * '''ok_hydrol_arch:'''  Flag that activates the hydraulic architecture routine (true/false). The trunk version of ORCHIDEE (false) uses soil water as a proxy for water stress and applies the stress to Vcmax. When set to true the hydraulic architecture of the vegetation is accounted for to calculate the amount of water that can be transported through the plant given the soil and leaf potential and the conductivities of the roots, wood and leaves. Water supply through the plant is compared against the atmospheric demand for water. If the supply is smaller then the demand, the plant experiences water stress and the stomata will be closed (water stress is now on gs rather than Vcmax). Note that whether stomatal regulation is used or not is controled by a separate flag: ok_gs_feedback. 
     388* '''ok_hydrol_arch:'''  Flag that activates the hydraulic architecture routine (true/false). The trunk version of ORCHIDEE (false) uses soil water as a proxy for water stress and applies the stress to Vcmax. When set to true the hydraulic architecture of the vegetation is accounted for to calculate the amount of water that can be transported through the plant given the soil and leaf potential and the conductivities of the roots, wood and leaves. Water supply through the plant is compared against the atmospheric demand for water. If the supply is smaller then the demand, the plant experiences water stress and the stomata will be closed (water stress is now on gs rather than Vcmax). Note that whether stomatal regulation is used or not is controlled by a separate flag: ok_gs_feedback. 
    389389* '''ok_gs_feedback:''' Flag that activates water stress on stomata (true/false). This flag is for debugging only! It allows developers to calculate GPP without any water stress. If the model is used in production mode and ok_hydrol_arch is true this flag should be true as well. 
    390 * '''ok_mleb:''' Flag that activates the multilayer energy budget (true/false). The model uses 10 (default) canopy layers to calculate the albedo, transmittance, absorbance and GPP. These canopy layers can be combined with 10 (default) layers below and  9 layers above the canopy to calculate the energy budget (ok_mleb=y). If set to no, this flag will make the model use 10 layers for the canopy albedo, transmittance,  absorbance and GPP and just a single layer for the energy budget. Be aware that if you wish to run with hydraulic architechture ok_mleb needs to be se to true as well. Furthermore, if you  wish to run with the original energy scheme (enerbil), set the layers for mleb to 1. 
     390* '''ok_mleb:''' Flag that activates the multilayer energy budget (true/false). The model uses 10 (default) canopy layers to calculate the albedo, transmittance, absorbance and GPP. These canopy layers can be combined with 10 (default) layers below and  9 layers above the canopy to calculate the energy budget (ok_mleb=y). If set to no, this flag will make the model use 10 layers for the canopy albedo, transmittance,  absorbance and GPP and just a single layer for the energy budget. Be aware that if you wish to run with hydraulic architecture ok_mleb needs to be se to true as well. Furthermore, if you  wish to run with the original energy scheme (enerbil), set the layers for mleb to 1. 
    391391* '''ok_impose_can_structure:''' This flag is for debugging only! It allows developers to use a prescribed canopy structure rather then the structure calculate by ORCHIDEE. The flag activates the sections of code which directly link the energy budget scheme to the the size and LAI profile of the canopy for the respective PFT and age class that is calculated in stomate, for the albedo. If set to TRUE and the multi-layer budget is activated the model takes LAI profile information and canopy level heights from the run.def. If set to FALSE, and the multi-layer energy budget is used the profile information and canopy levels heights comes from the PGap-based processes for calculation of stand profile information in stomate. 
    392392* '''ok_mleb_history_file:''' Flag that controls the writing of an output file with the multi-layer energy simulations (true/false). Note that this is a large file and writing slows down the code. 
     
    537537There are several data tools (ATLAS, Mapper and Jerome’s) to help compare model outputs with observation, which we might be able to use. If we will not be using the available tools for comparison, we need to pre-process the observational data products to produce global means, time series, decadal averages of spatial patterns etc. The analyses presented in Naudts et al 2015 are a good starting point for the evaluation of ORCHIDEE-CN-CAN. The following scripts are available and have been tested and re-activated 
    538538 
    539 '''Table 3.''' Model evaluations scripts available per November 2018 
     539'''Table 3.''' Model evaluations scripts available per January 2020 
    540540|| '''Description''' || '''Status''' || '''Path''' || 
    541541|| Extract species-level productivity from French NFI data and compare against simulated productivity – looking to replace the French data by EU-wide data through the VERIFY project || OK || /ccc/work/cont003/dofoco/dofoco/SCRIPTS/validation_species_level || 
     
    569569 
    570570'''Table 4.''' Proposed order, parameters and tools to parameterize ORCHIDEE-CN-CAN. Once all steps has been performed, the NPP to GPP ratio should be re-evaluated, possibly resulting in another tuning cycle for some of the PFTs. 
    571 || '''Process''' || '''Parameter(s)''' || '''Tool''' || 
    572 || Onset of growing season and start of senescence || thresholds for phenology || FLUXNET || 
    573 || NPP/GPP ratio || coeff for maintenance respiration || FLUXNET + Campioli || 
    574 || Magnitude of LAI || k_latosa_min and k_latosa_max || NFI + Luyssaert et al 2007 || 
    575 || Magnitude of GPP || LL_alpha, Vcmax, J_max || FLUXNET || 
    576 || Magnitude of NPP || Implicit through NPP/GPP and GPP || Luyssaert et al 2007 || 
    577 || Evapotranspiration || LAI_top, water stress || FLUXNET || 
    578 || Water stress || To be discovered || FLUXNET || 
    579 || Magnitude of Rh || To be checked - Rh || Luyssaert et al 2007 || 
    580 || Magnitude of TER || To be checked - Rh || FLUXNET || 
    581 || Diameter, height, and biomass || form factor || NFI + Luyssaert et al 2007 || 
    582 || Density and biomass || self-thinning parameters || NFI + Luyssaert et al 2007 || 
    583 || Harvest and biomass || Self-thinning and RDI parameters || NFI + ??? || 
    584 || Albedo || Implicit through LAI and forest structure || FLUXNET? || 
    585 || Tree ring width || Self-thinning, recruitment || ITRDB or VERIFY Fig 4 || 
     571|| '''Process''' || '''Parameter(s) to tune''' || '''Data''' || '''Status''' ||  
     572|| Onset of growing season and start of senescence || thresholds for phenology || FLUXNET || ||  
     573|| NPP/GPP ratio || coeff for maintenance respiration || FLUXNET + Campioli || ||  
     574|| Magnitude of LAI || k_latosa_min and k_latosa_max || NFI + Luyssaert et al 2007 || ||  
     575|| Magnitude of GPP || LL_alpha, Vcmax, J_max || FLUXNET || ||  
     576|| Magnitude of NPP || Implicit through NPP/GPP and GPP || Luyssaert et al 2007 || ||  
     577|| Evapotranspiration || LAI_top, water stress || FLUXNET || ||  
     578|| Water stress || k_root, k_sap, k_leaf, psi_leaf_min || FLUXNET || ||  
     579|| Magnitude of Rh || To be checked - Rh || Luyssaert et al 2007 || ||  
     580|| Magnitude of TER || To be checked - Rh || FLUXNET || ||  
     581|| Diameter, height, and biomass || form factor, tau_sap, tau_spa, tau_root, density, pipe_tune2, pipe_tune3 || NFI + Luyssaert et al 2007 || ||  
     582|| Stand density and biomass || self-thinning parameters || NFI + Luyssaert et al 2007 || ||  
     583|| Harvest and biomass || Self-thinning and RDI parameters || NFI + ??? || ||  
     584|| Albedo || Implicit through LAI and forest structure || FLUXNET? || ||  
     585|| Tree ring width || Self-thinning, recruitment, circ_class_dist, ncirc || ITRDB or VERIFY Fig 4 || ||  
    586586 
    587587==== Settings for the FLUXNET comparison ====