Releases: NGEET/fates
Optional maintenance respiration throttling
In this release, Charlie Koven introduces an optional process where respiration rates are throttled down when storage carbon starts to decline.
Parameter File Updates
This PR includes an update to the parameter file, including renaming of variables for clarity purposes, updating some default values, and two new conventions.
- A routine has been added that performs sanity checks on input parameters, including PFT parameters.
- Provenance on the default parameter file is now tracked, by adding the CDL form of the file to git. see parameter_files/fates_params_default.cdl
This PR also increments API to 3.1.0, which make is compatible with E3SM/CESM 3.0.0 API code, however not compatible with its current default parameter file.
Fixes and improvements to radiation: clumping and SAI
This PR adds Charlie Koven's updates to the canopy radiation scheme (Norman).
Specifically:
- Added canopy clumping term that affects the direct and diffuse extinction coefficients. 2) Redefined SAI in terms of the target leaf biomass, because the old bdead scaling meant that SAI for large trees got really large. 3) Added diagnostic variables for PAR, LAI and SAI, 4) Functions that calculate SAI and LAI were cleaned and moved to a more appropriate place.
Optional trimming logic to roots
In this release, Charlie Koven introduced the option to apply trimming (and the carbon balance evaluation) to root tissues along with leaves, or to not. Prior to this release, the only option was to trim roots with leaves. The default in the parameter file still assumes roots are trimmed with leaves.
Bug fix and refactors on vertical canopy structure
The conceptual model that scales nitrogen content vertically in the canopy was corrected so that nitrogen concentration attenuates smoothly and monotonically, effecting understory respiration. The lai profile calculations in the code were refactored to remove unused variables, redundant calculations, fix a div0, and change warnings into errors where appropriate.
Updates to cohort fusion
This release contains updates to the FATES fusion logic by C Koven. A filter was added so that the second oldest patch would fuse at a maximum age with the oldest. More flexible binning logic was introduced, and also a minimum threshold in patch fusion was added so that numerous newly created patches would be fused.
Allocation refactors
This release contains updates to the allocation scheme. Allocation is currently limited to carbon only. Efforts in this release intended to lay ground-work to more easily enable other species (eg nutrients and isotopes). A new variable has been added to the restart code, and thus will not be compatible with older finidat files. No changes were made to the HLM interface. Branchfall was turned on, but is not utilizing the parameter file, as the default was not prepared yet.
Line length adjustments
Minor syntax changes to prevent compiler errors, no science changes.
Logging Updates and Freezing Mortality
This release contains two science modifications.
- @huangmy updated the logging module to adjust some size thresholds on collateral damage, and enable an exclusive collateral death rate to understorey plants
- @jenniferholm introduced freezing mortality and its diagnostics
Note that while this does not change the API, the freezing mortality changes added 1 new value to restarts, which necessitates an update of our testing restart files. This does not affect end-users though, so the API version is not being incremented.
New PR templates, contributing, scripts and bug fixes
This release contains feature additions that are accessory to the FATES code. These include a new PR template, a new CONTRIBUTING document and python scripts for manipulating FATES parameter files.
Bug fixes include a fix to biomass initialization during inventory (ckoven), removal of NPP partition tracking which will be re-introduced with the coming allocation refactor (rgknox), and a fix sapwood derivative calculation (rgknox/ekluzek).