Changes between Version 2 and Version 3 of Documentation/TrunkFunctionality
- Timestamp:
- 2020-03-06T14:51:18+01:00 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Documentation/TrunkFunctionality
v2 v3 1 1 [[PageOutline]] 2 == ORCHIDEE TRUNK (r661 3) ==3 ORCHIDEE TRUNK r661 3is a combination of three code bases: ORCHIDEE 3 as it was in February 2020, ORCHIDEE-CN as it was in 2016 and the key functionality of ORCHIDEE-CAN as it was in 2019. The committed version can be considered a light version of what is typically expected from the ORCHIDEE trunk because some of the available functionality has not yet been committed (for example, the DGVM).2 == ORCHIDEE TRUNK (r6614) == 3 ORCHIDEE TRUNK r6614 is a combination of three code bases: ORCHIDEE 3 as it was in February 2020, ORCHIDEE-CN as it was in 2016 and the key functionality of ORCHIDEE-CAN as it was in 2019. The committed version can be considered a light version of what is typically expected from the ORCHIDEE trunk because some of the available functionality has not yet been committed (for example, the DGVM). 4 4 5 5 Consider the model as two parts: 1) core processes that affect fluxes and pools on the per square meter level, and 2) perirpheric processes that involve everything else. In this picture, the light version is believed to contain all core processes and the functionality that is not yet included thus depends on core processes like vegetation growth, soil hydrology or the energy budget, but it does not affect these processes at the pixel level. … … 7 7 * Missing functionalities compared to ORCHIDEE-CN: none 8 8 * Missing functionalities compared to ORCHIDEE-CAN: none 9 * Coupling: ORCHIDEE TRUNK r661 3 has been coupled with LMDZ TRUNK r1399 resulting in LMDzOR v6.4. Given that several key variables for the coupling (for example, albedo and roughness are now dynamic and more heterogeneous due to the use of age classes) have changed in ORCHIDEE TRUNK r6613and it is therefore expected that lots of testing will be required to come to satisfying results.9 * Coupling: ORCHIDEE TRUNK r6614 has been coupled with LMDZ TRUNK r1399 resulting in LMDzOR v6.4. Given that several key variables for the coupling (for example, albedo and roughness are now dynamic and more heterogeneous due to the use of age classes) have changed in ORCHIDEE TRUNK r6614 and it is therefore expected that lots of testing will be required to come to satisfying results. 10 10 11 11 == Functionalities (alphabetical order) == 12 12 13 === Age classes (r661 3) ===13 === Age classes (r6614) === 14 14 Age classes were introduced to better handle heterogeneity at the landscape level. The feature allows us to distinguish between different successional stages of the same PFT (e.g., a newly grown forest vs. a mature forest). Age classes are independent of the number of diameter classes. Using age classes adds a lot of details to both the biophysics and the biogeochemistry following natural disturbances, forest management and land cover change. If half of a grassland is afforested with a PFT that already exists in the pixel, previous versions of ORCHIDEE will combine this newly forest land and the existing forest in a single PFT. This will result in, for example, a low albedo, a high roughness, and other properties. When age classes are used, the newly afforested and the existing forest will end up in separate PFTs. One will have a high albedo, the other a low albedo, and other properties may differ significantly as well. In CAN with age classes, PFTs are only merged if the youngest age class for a PFT already has biomass. 15 15 … … 65 65 }}} 66 66 67 === Albedo (r661 3) ===67 === Albedo (r6614) === 68 68 ORCHIDEE-CN-CAN makes use of a two stream radiative transfer scheme through the canopy, extended to multiple canopy levels (https://doi.org/10.5194/gmd-2016-280). The scheme is based on Pinty et al 2006. This approach accounts not only for the leaf mass but also for the vertical and horizontal distribution of the leaf mass (=canopy structure), calculating an effective LAI based on the solar angle. Light from collimated (black sky) and diffuse (white sky) sources are used, and both are weighted equally as information about this partitioning is not yet available in forcing data. In ORCHIDEE-CN-CAN the same scheme is used to simulate the reflected, transmitted and absorbed light, of which the absorbed light as a function of canopy level is passed to the photosynthesis routines and used in place of the exponential LAI layering found in older versions of the TRUNK (see the section Photosynthesis). This implies that albedo and photosynthesis are now fully consistent as well as the light reaching the forest floor (the latter is used in for example recruitment). ORCHIDEE-CN-CAN cannot revert to previous approaches for calculating albedo. 69 69 … … 80 80 The snow albedo could be either prescribed (in condveg_init.f90) or calculated following Chalita and Treut (1994) '''do_new_snow_albedo = n ''' or calculated following CLM3 '''do_new_snow_albedo = y'''. The difference between the latter two methods has not been tested yet. The CLM method was added to CN-CAN, the Chalita and Treut method was added in parallel to the runk. When merging both versions we ended up with two options. 81 81 82 === Allocation (r661 3) ===82 === Allocation (r6614) === 83 83 ORCHIDEE-CN-CAN uses the allometric allocation as developed in O-CN. In ORCHIDEE-CAN the approach was adjusted to work for more than one diameter class. Since it was developed this allocation has been used in ORCHIDEE-CN and ORCHIDEE-CNP. In those branches only a single diameter class was used. Except for the way the reserves and labile pools are calculated (incl. the pseudo sugar loading), the allocation scheme remained rather similar between the aforementioned versions. The model is, however, very sensitive to the way the reserves and labile pools are calculated. The allocation makes use of a labile pool for which the activity is calculated based on the temperature. This sensitivity is important at the start and the end of the growing seasons when temperatures may be low. As such the model addresses the sink/source discussion initiated by Körner. Whereas this approach resulted in an acceptable interannual variability in for example NPP in ORCHIDEE-CAN, adding N seems to have dampen the interannual variability a lot/too much. This dampening was observed in ORCHIDEE-CN and ORCHIDEE-CN-CAN. IN ORCHIDEE-CNP the temperature relationship was removed (hence NPP and GPP are strictly coupled) because the interannual variability became unrealistic. 84 84 … … 89 89 Previously there was a functional link between C and N-allocation and the hydraulic architecture of a plant because both approaches used the same parameter k_root. In DOFOCO k_root described the conductivity of the fine roots and the soil. In ORCHIDEE-CN-CAN this joined conductivity has been split in a fine root conductivity and a soil to root conductivity. Allocation should make use of both conductivities but soil to root conductivity cannot be easily calculated when needed in the allocation. This is subject to future developments. Accounting for the soil to root conductivity in the allocation would imply an adaptation of plant growth to its environment. 90 90 91 === Anthropogenic species change (r661 3) ===91 === Anthropogenic species change (r6614) === 92 92 Following a disturbance (which could be a clear cut), tree species changes and forest management change can be prescribed or read from a map in ORCHIDEE-CN-CAN. Set '''ok_change_species''' = y, '''read_species_change_map''' = y, and '''read_desired_fm_map''' = y and specify the paths of those maps in the COMP/stomate.card. A example of such a configuration can be found in config/ORCHIDEE_OL/OOL_SEC_STO_FG5. This functionality replaces the DGVM in areas where humans rather than nature govern species distribution, for example, Europe. Note that there are some constraints on the possible species changes. If the forest is unmanaged (fm=1), the code assumes that nature will determine the species rather than humans. Anthropogenic species change has not been developed to work together with land cover change. For the moment it is one or the other. When testing this functionality read_species_change_map and/or read_desired_fm_map could be set to n. The new forest management strategy can then be simply prescribed by setting the parameter '''fm_change_force''' to one of the four fm strategies. Likewise the new species can be prescribed by setting the parameter '''species_change_force''' to the desired PFT number. 93 93 94 === Bare soil (r661 3) ===94 === Bare soil (r6614) === 95 95 The flag '''ok_bare_soil_new''' controls how the bare soil is perceived and calculated. If set to FALSE the total bare soil is still calculated as a function of veget. When a deciduous PFT sheds its leaves, the gaps in the forest will contribute to bare soil fraction in the grid. Although this approach was introduced a long time ago to get acceptable evaporation estimates from forest, the approach also resulted in using the albedo of deserts as the background albedo of forest gaps. The new albedo scheme (see Albedo and Background albedo) considers a specific background albedo for each PFT and calculates the albedo of the PFT including the canopy gaps. Moving gaps to the bare soil is no longer needed. So, if '''ok_bare_soil_new''' is set to TRUE, canopy gaps no longer contribute to the bare soil. It needs to be tested what will happen with the evaporation in the single-layer model. The multi-layer energy budget should be able to correctly deal with the gaps in the canopy because the diffusivity will increase when the canopy is becoming sparser. 96 96 97 97 At present the default settings combine the new albedo scheme with the single layer energy budget (enerbil) and '''ok_bare_soil_new''' = n. The consequences of this combination of settings should be evaluated against observations. 98 98 99 === Bark beetles (r661 3) ===99 === Bark beetles (r6614) === 100 100 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 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. 101 101 102 === C13 (r661 3) ===102 === C13 (r6614) === 103 103 The concentration of C13 in the leaves can be calculated by setting '''ok_c13''' to y in the run.def. This calculation follows Farquhar's approach and is currently limited to the fractionation in the leaves. Following changes to the recalculation of GPP under plant water stress the calculation of Ci is no longer accurate. This may have broken the functionality to calculate C13. Needs to be tested. 104 104 105 === Configurations (r661 3) ===105 === Configurations (r6614) === 106 106 The model comes with the following configuration set-ups (config/ORCHIDEE_OL): 107 107 * SPINUP: used for single pixel FLUXNET runs. … … 117 117 * FORCESOIL: Not maintained for ORCHIDEE-CN-CAN. Will be added back once forcesoil.exe has been restored. 118 118 119 === Consistency checks (r661 3) ===119 === Consistency checks (r6614) === 120 120 The code distinguishes between three options to check for mass and surface conservation. These options are controlled by the parameter '''err_act'''. Always use err_act = 3 when developing and testing the code. Note that in addition to checking for mass balance closure ORCHIDEE-CN-CAN will also check for the conservation of veget_max and frac_nobio. This is useful to make sure no surface area is lost when moving biomass from one PFT to another following natural disturbances, forest management, land cover changes and when using age classes. In some parts of the code, for example, modules that deal with disturbances, it is assumed that the tallest trees are stored in the last diameter class. When the difference in diameter between diameter classes becomes very small, this assumption could be violated. Therefore, the diameter classes are sorted to enforce the assumed order and where needed the order is checked. 121 121 * err_act = 1 is recommended when running global long-term simulations. Under this option, mass balance closure is checked for all biogeochemical processes but only at the highest level thus stomate.f90 and stomate_lpj.f90. Although the mass balance checks are not very expensive in terms of computer time, skipping the numerous lower level checks is expected to save some time. Under this option the total mass balance error is only written to the history file. No information is provided in which subroutine the problem occurred. … … 126 126 Makes use of sapiens_planting and sapiens_harvest. Harvest goes into harvest_pool (just like wood) and its decomposition is accounted for in the fluxes from the product use pool. 127 127 128 === CWRR vs Choinel (r661 3) ===128 === CWRR vs Choinel (r6614) === 129 129 ORCHIDEE-CN-CAN was developed and tested with CWRR. The Choinel code is removed from ORCHIDEE-CN-CAN. The hydrological schemes were not touched during the development of ORCHIDEE-CN-CAN. The hydraulic architecture in ORCHIDEE-CN-CAN relies on CWRR. 130 130 … … 142 142 The above declaration implies that 9/15th of the trees will always be in the smallest diameter class, 5/15th will be in the medium class and 1 tree out of 15 will be in the largest diameter class. These ratios are kept throughout the simulations and the boundaries of the diameter classes are adjusted to respect this constraint. Consequently, an even-aged stand will be simulated with three diameter classes where the diameter of the first class may be, for example, 20.3 cm, the diameter of the second class 20.4 cm and the diameter of the third class 20.5 cm. The same code and set-up allows to simulate, in the same simulation, an uneven-aged stand for the same PFT but in a different pixel with, for example, the smallest diameter 7 cm, the medium diameter 25 cm and the largest diameter 45 cm. 143 143 144 === Forced clear cut (r661 3) ===144 === Forced clear cut (r6614) === 145 145 '''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 start 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). Note that if '''OK_CLEARCUT''' is used, the model will clearcut at the end of every year. The typical set-up should be: 300 years of spin-up with '''OK_CLEARCUT''' set to FALSE, 1 year with '''OK_CLEARCUT''' set to TRUE, a simulation with the length similar to the age of the forest with '''OK_CLEARCUT''' set to FALSE. 146 146 … … 177 177 178 178 179 === Harvest (r661 3) ===179 === Harvest (r6614) === 180 180 All biomass harvest is recorded in a harvest variable '''harvest_pool''', this variable also stores the mass and dimensions of the harvest/mortality (absolute numbers thus accounting for the pixel area!). Related variables were introduced: '''harvest_type''', '''harvest_cut''', and '''harvest_area'''. Wood product pools and fluxes from wood and biomass decomposition are calculated in a separate module dedicated to wood use. The dimension of the wood use pools were externalized and can be changed to better address regional differences when aiming for regional simulations. The default 1, 10 and 100 year pools were replaced by 2, 17 and 50 years which is closer to the reality for Europe. For most parts of the world a 100 year wood pool is very optimistic. 181 181 … … 207 207 }}} 208 208 209 === Litter raking (r661 3) ===209 === Litter raking (r6614) === 210 210 Tree litter was collected from the forest and used in the winter in stables instead of straw. In spring the litter and manure was spread on the croplands. This lateral flow of C and N between PFTS in the same pixel can be accounted for in ORCHIDEE-CN-CAN by setting '''use_litter_raking''' = y. If litter raking is to be used, the model will search for annual maps. The path of these maps needs to be specified in COMP/stomate.card. Litter raking maps were prepared for Europe. Unless liter raking is your research topic set '''use_litter_raking''' = n. An example of to set up the model to make use of the historical litter raking maps can be found in config/ORCHIDEE_OL/OOL_SEC_STO_FG4 211 211 … … 245 245 }}} 246 246 247 === Parameter files (r661 3) ===247 === Parameter files (r6614) === 248 248 A 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. 249 249 * 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. … … 262 262 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 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. 263 263 264 === Photosynthesis (r661 3) ===264 === Photosynthesis (r6614) === 265 265 Photosynthesis is calculated as in ORCHIDEE-CAN, and ORCHIDEE-CN but the way the canopy levels are defined has changed. The reason of this change is in the albedo and energy budget for which physical layers are required. For this reason the space between the bottom and the top of the canopy is divided into x layers. x is set by the parameter '''nlevels_photo'''. Applications with ORCHIDEE-CAN used nlevels_photo = 10. This values was retained in ORCHIDEE-CN-CAN. Contrary to ORCHIDEE-CN and previous versions of ORCHIDEE where each canopy layer contained 0.5 units of LAI, in ORCHIDEE-CN-CAN, each canopy layer will have the same depth (in m) but will contain a different amount of LAI because tree canopies are assumed spherical. 266 266 … … 290 290 The regulation is smoothened by setting boundaries to avoid sudden decreases in GPP (which are not apparent in the data). Smoothing is taken care of in stomate_vmax.f90. If the plant has less carbon in its labile and carbres pools than wanted, the NUE is upregulated. Up regulation is also capped to avoid crazy NUE values and high frequency changes between up and downregulation. Up and downregulation are done in stomate_vmax.f90. The parameters than control the smoothing are '''sugar_load_min''' and '''sugar_load_max''' and can be set in the run.def. 291 291 292 === Recruitment (r661 3) ===292 === Recruitment (r6614) === 293 293 When stands grow old the tree density decreases and under certain conditions the LAI can no longer cover the ground area. When this happens productivity will start to decrease. In nature the decrease in LAI comes with an increase in the amount of light reaching the forest floor which enables seedlings to grow and to restore the LAI. This process is known as recruitment. Note that in managed forest and forest with a lot of stand replacing disturbances (for example, fire) the forest may never reach the stage where the canopy sufficiently opens up to enable recruitment. 294 294 … … 297 297 Recruitment has been developed, tested and validated for tropical forests. There is no reason why it shouldn't work for other forests. Initial test for temperate regions show that it works there as well. Also forest productivity at higher ages seems relatively sensitive to recruitment. At present recruitment was introduced at the PFT level. It probably makes more sense to link it to the management strategy than to the PFT. This needs to be checked. 298 298 299 === River routing (r661 3) ===299 === River routing (r6614) === 300 300 The river routing code was not touched during the development of ORCHIDEE-CN-CAN. This functionality works has not been evaluated yet for ORCHIDEE-CN-CAN, although it technically runs. Unless rivers are your main interest, set '''river_routing''' to n. The functionality still has problem when combined with the zoomed grids because pixels far away from the zoom become so big that some rivers can no longer reach the sea. 301 301 302 === run.def (r661 3) ===302 === run.def (r6614) === 303 303 The format of the run.def has been modified to use the same structure for both coupled and off-line runs. The run.def is split between its driver settings (written in run.def), general items which control the ORCHIDEE model (in the orchidee.def file), and PFT-dependent parameters (in the orchidee_pft.def file). A script is now included with the config/ORCHIDEE_OL directory called MAKE_RUN_DEF. This scripts generates different orchidee_pfts.def files. Default model configurations (and thus different orchidee.def files) can be found in config/ORCHIDEE_OL. 304 304 … … 365 365 }}} 366 366 367 === Specific leaf area (r661 3) ===367 === Specific leaf area (r6614) === 368 368 Similar to ORCHIDEE-CN, ORCHIDEE-CN-CAN users can choose to use a constant specific leaf area (SLA) or a dynamic (SLA) by setting the flag '''dyn_sla'''. SLA is a fundamental parameter in the allocation scheme and it is well established that SLA is dynamic in nature especially during leaf onset. Nevertheless, the effect of this flag is much more limited than one could expect based on the perceived importance of sla. 369 369 370 === Spin-up (r661 3) ===370 === Spin-up (r6614) === 371 371 The analytical spin-up works with ORCHIDEE-CN-CAN. To ensure growth at the onset of the analytic spin-up for all PFTs initial values are needed for the SOM pools, and that is irrespective of whether IMPOSE_CN is y or n. The initial pools are set in stomate_io.f90, and they can be specified in the run.def by: 372 372 {{{ … … 400 400 * 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. 401 401 402 === Sechiba vs stomate (r661 3) ===402 === Sechiba vs stomate (r6614) === 403 403 ORCHIDEE-CN-CAN strengthened the links between sechiba and stomate. As in previous versions, stomate makes use of variables calculated in sechiba but in ORCHIDEE-CAN and ORCHIDEE-CN-CAN, 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-CN-CAN run with stomate. All the required information is stored in the sechiba restart file to enable restarting the model without stomate. 404 404 405 === Wind throw (r661 3) ===405 === Wind throw (r6614) === 406 406 The calculation of wind storm damage can be activated by setting '''ok_windthrow''' to y in the orchidee.def. This module calculates the critical wind speed of a stand taking stand and soil properties into account. If the stand is managed, the damaged trees are salvaged logged. If the stand is unmanaged the damaged trees are left on-site to decompose. The default setting for ok_windthrow is n. The damaged fractions of the stands are replanted and moved to the first age class (if more than 1 age class is used).