-
Notifications
You must be signed in to change notification settings - Fork 361
ctsm5.4.048: Merge b4bdev 20260727 #4140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 90 commits
Commits
Show all changes
94 commits
Select commit
Hold shift + click to select a range
56dacc0
Convert the dewpoint calculation into a function
olyson 37d18df
Merge branch 'b4b-dev' into dewpointfunction
ekluzek 11df39e
Merge branch 'b4b-dev' into dewpointfunction
ekluzek fbc7cff
Merge branch 'b4b-dev' into dewpointfunction
ekluzek 743e56c
Merge branch 'b4b-dev' into dewpointfunction
ekluzek 8ce6214
Merge branch 'b4b-dev' into dewpointfunction
ekluzek 71b6cc2
update hydrology documentation - experiment
72cc7d0
Merge branch 'b4b-dev' into dewpointfunction
ekluzek 523548f
Change all PLUMBER to PLUMBER2
olyson 711f9c2
initial commit
38af484
remove CLM5 references
d0762d7
Merge branch 'b4b-dev' into fates_review
9b1cdec
rename files, add paragraphs about ED, add figures
196accb
add more FATES refs
e3e77a6
add cn text
537f2c5
review hydrology document
dad25d3
Merge branch 'b4b-dev' into b4b-dev-yifan
samsrabin 27de2a3
fix equation labels
06f6eca
Update doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst
slevis-lmwg 16e3c7d
Update doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst
slevis-lmwg 585bc4f
Update doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst
slevis-lmwg 2699150
Update doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst
slevis-lmwg 74875d1
Update doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst
slevis-lmwg 6576e29
Merge branch 'b4b-dev' into b4b-dev-yifan
slevis-lmwg 49daa67
Make APPAR_TEMP and DISCOIS variables available when calc_human_stres…
olyson be4aa59
Merge tag 'ctsm5.4.047' into b4b-dev
samsrabin d1d21a6
Merge pull request #4118 from samsrabin/merge-master-b4bdev-20260709
samsrabin f515590
is_prognostic_crop(): Consider npcropmax too.
samsrabin d934b99
get_crop_n_from_veg_type() and vice versa: Assert crop veg_type.
samsrabin 88c27db
New function is_crop().
samsrabin 5eb9174
New function is_generic_crop().
samsrabin 09291cb
New function is_irrigated().
samsrabin a762a66
Rename num_cfts_possible to num_prognostic_cfts_possible.
samsrabin 3c2dd39
Add num_cfts_possible.
samsrabin 813f7f9
collapse_crop_types(): Use indices_cfts_possible_(rainf|irrigat)ed.
samsrabin b0f0fac
Delete unused subroutine convert_cft_to_pft().
samsrabin c507aa2
fire_emis_factors_get(): Use indices_cfts_possible.
samsrabin 9ecc683
New pftconMod subroutine handle_too_short_fire_emis_factor_file().
samsrabin 4644a29
fire_emis_factors_init(): Use num_pfts_possible_natural.
samsrabin 58cc2bf
test_surfrdUtils.pf: Avoid using nc3(crop|irrig).
samsrabin 6505df7
nc3(crop|irrig) now private to pftconMod.
samsrabin 8e0d258
Improve error msgs for pftcon%InitRead() N cft mismatches
samsrabin 817911e
Merge branch 'b4b-dev' into appartemp
olyson e443d45
fire_emis_factors_init(): Fix minimum PFTs.
samsrabin 922a6aa
pftconMod: Some vars now for CFTs on fsurdat, not paramfile.
samsrabin c7bf9e8
Merge pull request #4111 from olyson/appartemp
olyson cb410a8
Merge branch 'b4b-dev' into allow-new-non-crop-pfts
samsrabin d99fc05
Add dry deposition section to BVOCs tech note
lkemmons dcebc9f
Add references for dry dep
lkemmons aa27565
Add reference links
lkemmons fbeac38
Update doc/source/tech_note/BVOCs/CLM50_Tech_Note_BVOCs.rst
slevis-lmwg e9523f6
Apply suggestion from @slevis-lmwg
slevis-lmwg 3cf6aaa
Update title of bvoc section to include dry dep
slevis-lmwg d3738e5
Lengthen underline to fix build
slevis-lmwg 1d7fd7d
Capitalize ValMartin
slevis-lmwg c707760
Correct the definition of BIGALK based on namelist_defaults_drydep.xml
slevis-lmwg aa707bb
Correct formatting for a couple of subscripts
slevis-lmwg 1342747
Downgrade two headers to sub-headers
slevis-lmwg 04d30b9
Merge pull request #4131 from lkemmons/b4b-dev
slevis-lmwg 53d7afc
Updates based on recent developments
olyson 345eedc
Comment out fields failing in #3661 so test may catch future problems
slevis-lmwg d46414f
Update failing test's comment in ExpectedTestFails.xml
slevis-lmwg b46aea6
Comment out two more fields that appear in the newer version of the test
slevis-lmwg 16a6736
Merge pull request #4112 from samsrabin/allow-new-non-crop-pfts
samsrabin f5a0467
Merge branch 'b4b-dev' into dewpointfunction
slevis-lmwg b684019
Revisions to address code review (rm expected fail and add comments)
slevis-lmwg 6b37922
Update doc/source/users_guide/running-single-points/supported-tower-s…
slevis-lmwg 0818a6f
Update doc/source/users_guide/running-single-points/supported-tower-s…
slevis-lmwg e4833d2
Update doc/source/users_guide/running-single-points/supported-tower-s…
slevis-lmwg 8f35f11
Update doc/source/users_guide/running-single-points/supported-tower-s…
slevis-lmwg 96c5269
Merge branch 'b4b-dev' into docs-I2409-1-6-2-3-PLUMBER2
slevis-lmwg 7716dae
Update doc/source/users_guide/running-single-points/supported-tower-s…
slevis-lmwg b965834
Update doc/source/users_guide/running-single-points/supported-tower-s…
slevis-lmwg 4a900de
Merge pull request #4135 from olyson/docs-I2409-1-6-2-3-PLUMBER2
slevis-lmwg b1f7d57
Update doc/source/tech_note/FATES/CLM50_Tech_Note_FATES.rst
slevis-lmwg adf7464
Update doc/source/tech_note/FATES/CLM50_Tech_Note_FATES.rst
slevis-lmwg 23329d1
Update doc/source/tech_note/FATES/CLM50_Tech_Note_FATES.rst
slevis-lmwg 74a60da
Merge branch 'b4b-dev' into fates_review
slevis-lmwg a608c5f
Correct FATES section link in Plant Mortality section
slevis-lmwg f283e11
Apply suggestion from @slevis-lmwg
slevis-lmwg b6c9b41
Merge branch 'b4b-dev' into b4b-dev-yifan
slevis-lmwg 08cb1d8
Merge pull request #3954 from YifanCheng/b4b-dev-yifan
slevis-lmwg ebf82ee
Merge branch 'b4b-dev' into dewpointfunction
ekluzek 76495f3
Merge pull request #3706 from olyson/dewpointfunction
ekluzek 8a59945
Merge branch 'b4b-dev' into fates_review
ekluzek 3a336ed
Merge branch 'b4b-dev' into all_outputs_testpatch
ekluzek cf5b87b
Merge pull request #4136 from slevis-lmwg/all_outputs_testpatch
slevis-lmwg 059ef8f
Merge branch 'b4b-dev' into fates_review
ekluzek af7ca65
Merge pull request #4037 from adrifoster/fates_review
ekluzek 521d8a6
Remove RHAF from the PLUMBER2 user-mod history output, since it's a d…
ekluzek 78b91b0
Start on change files
ekluzek c2acabf
Add some notes that the handling for fire emission files with less th…
ekluzek cebd06c
Merge branch 'merge-b4bdev-20260727' of github.com:ekluzek/CTSM into …
ekluzek 19afd96
Final change files
ekluzek File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
ekluzek marked this conversation as resolved.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| .. _rst_Ecosystem Demography with FATES: | ||
|
|
||
| Ecosystem Demography with FATES | ||
| =================================== | ||
|
|
||
| Ecosystem Demography | ||
| ^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| An important component of representing the land surface is accurately capturing vegetation dynamics and their impact on and interaction with the Earth system. Some models utilize dynamic global vegetation models (DGVMs), which track the fractional cover of plant functional types (PFTs) on a grid cell over time, usually driven by "climate envelopes" which use climate metrics (e.g., temperature and precipitation) to determine where PFTs can grow. However, many DGVMs still do not simulate important processes like mortality, regeneration, and plant competition, which we know are important for accurately capturing vegetation and carbon dynamics (:ref:`Fisher et al. 2015<Fisheretal2015>`). | ||
|
|
||
| Ecosystem demography models explicitly represent the size structure and successional state of vegetation, through direct simulation of plant growth, mortality, and regeneration. Thus, important vegetation characteristics such as vegetation canopy height, succession, and even potential biome shifts become emergent properties of the model rather than being prescribed. | ||
|
|
||
| FATES | ||
| ^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| FATES is the "Functionally Assembled Terrestrial Ecosystem Simulator". It is an external module which can run within a given "Host Land Model" (HLM) like CLM. FATES was derived from the CLM Ecosystem Demography model (CLM(ED)). FATES is documented in :ref:`Fisher et al. (2015)<Fisheretal2015>`, and has since been further developed and evaluated across a range of ecosystems and configurations (e.g., :ref:`Koven et al., 2020<Kovenetal2020>`; :ref:`Buotte et al., 2021<Buotteetal2021>`; :ref:`Needham et al., 2022<Needhametal2022>`; :ref:`Shuman et al., 2024<Shumanetal2024>`) | ||
|
|
||
| FATES is derived from the work of :ref:`Moorcroft et al. (2001)<mc_2001>` and is a cohort model of vegetation competition and co-existence, allowing a representation of the biosphere which accounts for the division of the land surface into successional stages, and for competition for light between height structured cohorts of representative trees of various plant functional types. Individual plants within FATES are grouped into "cohorts" of the same size and PFT, and these cohorts compete for light and resources on individual "patches" that represent different disturbance histories (:numref:`fig_FATES_vs_CLM`). This type of ecosystem heterogeneity is in contrast to the default vegetation model in CLM, which uses two (sunlit & shaded) "big leaf" canopies per PFT, each on their own patch, with no representation of within-canopy structural heterogeneity or disturbance history. Recent work comparing the parametric sensitivity of default CLM and CLM-FATES highlights key structural differences between the two approaches (:ref:`Foster et al., 2026<Fosteretal2026>`). | ||
|
|
||
| .. _fig_FATES_vs_CLM: | ||
|
|
||
| .. figure:: FATES_tiling.png | ||
|
|
||
| Comparison of grid structure in CLM-FATES and CLM. (a) An example grid of FATES patches showing individual cohorts of plants of different size and PFT. (b) those same FATES patches represented as their age-since-disturbance. (c) the equivalent gridcell in default CLM, showing instead a set of specific PFTs with fixed areas. | ||
|
|
||
| FATES also introduces a new organizational structure to CLM which differs from its default organization. The original hierarchical organization of CLM as described in :ref:`Oleson et al. (2013)<Olesonetal2013>` are gridcells which contain land units (e.g. vegetated, lake, urban), which contain columns (e.g., naturally vegetated), which contain PFTs. FATES replaces the PFT level of this hierarchy with patches and cohorts. Thus, gridcells contain land units, which contain columns, which contain patches, which in turn contain some number of cohorts of the same or different PFT (:numref:`fig_FATES_and_CLM_hierarchy`). | ||
|
|
||
| .. _fig_FATES_and_CLM_hierarchy: | ||
|
|
||
| .. figure:: FATES_and_CLM_hierarchy.png | ||
| :width: 60% | ||
|
|
||
| Comparison of the organizational hierarchy of default CLM (left) and CLM-FATES (right). | ||
|
|
||
| The implementation of the Ecosystem Demography concept within FATES links the surface flux and canopy physiology concepts in CLM with numerous additional developments necessary to accommodate the new model. These include a version of the SPITFIRE (Spread and InTensity of Fire) model of :ref:`Thonicke et al. (2010)<thonickeetal2010>`, and an adoption of the concept of `Perfect Plasticity Approximation` approach of :ref:`Purves et al. 2008<purves2008>`, :ref:`Lichstein et al. 2011<lichstein2011>` and :ref:`Weng et al. 2014<weng2014>`, in accounting for the spatial arrangement of crowns. Novel algorithms accounting for the fragmentation of coarse woody debris into chemical litter streams, for the physiological optimization of canopy thickness, for the accumulation of seeds in the seed bank, for multi-layer multi-PFT radiation transfer, for drought-deciduous and cold-deciduous phenology, for carbon storage allocation, and for tree mortality under carbon stress, are also included. | ||
|
|
||
|
|
||
| FATES Reduced Complexity Modes | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| Currently, FATES can be run in several different "reduced complexity modes", where parts of the vegetation model are driven by input data rather than simulated. These modes can be used to facilitate calibration, test features, or run simulations more quickly. These modes are: | ||
|
|
||
| 1. **Satellite Phenology (SP) Mode**: this mode is designed to run with leaf area index (LAI), stem area index (SAI), and canopy height (HTOP) as input to the model. As such, all processes that are normally used to calculate these values are turned off (e.g., mortality, allocation, etc.) | ||
|
|
||
| 2. **No-Competition Mode**: this mode runs with full complexity in terms of processes, but places each FATES PFT on its own patch. As such, PFTs do not compete with one another. | ||
|
|
||
| 3. **Fixed Biogeography Mode**: this mode turns off prognostic spatial changes in the distribution of vegetation and instead, the model uses input data to determine which PFTs are present at any given gridcell. The patch area for each PFT is derived from the input CLM surface dataset. However, please note that the PFTs in the FATES parameter file do not always map one-to-one with the CLM PFTs on the surface dataset. See the FATES parameter *fates_hlm_pft_map* on the FATES parameter file for the correct mapping of FATES to CLM PFTs. | ||
|
|
||
| Note that there are different combinations of no-competition and fixed biogeography mode that will result in different behaviors. See the `FATES namelist documentation <https://fates-users-guide.readthedocs.io/en/latest/user/namelist-options.html>`_ for these options. | ||
|
|
||
| Scientifically Supported CLM-FATES Configurations | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| We currently scientifally support CLM-FATES run in `carbon-only mode <https://fates-users-guide.readthedocs.io/en/latest/user/PARTEH-Modes.html>`_, and with either SP or no-competition + fixed biogeography mode. Carbon and nitrogen capabilities are currently enabled, but are still being scientifically tested. C-N mode can be turned on using the CLM namelist variable ``fates_parteh_mode = "carbon_nitrogen"``, as opposed to the default ``fates_parteh_mode = "carbon_only"``. | ||
|
|
||
|
|
||
| Further reading | ||
| ^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| For more information about FATES, including a Users Guide and Technical Note, please see the `FATES documentation <https://fates-users-guide.readthedocs.io/en/latest/index.html>`_. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.