Closed jenniferholm closed 1 month ago
@jenniferholm and @rgknox to coordinate on running a long-term f45 smoke test. If the results look good we'll go ahead and update the default parameter file with this instead of having a second param file.
@jenniferholm and I are running some long-term smoke tests. I generated the following error in a fixed-biogeography & no-comp type simulation:
The distribution of this host land model PFT : 10
into FATES PFTs, does not add up to 1.0.
Error is: -1.00000000000000
and the hlm_pft_map is: 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
Aborting
ENDRUN:
ERROR in EDPftvarcon.F90 at line 2244
This means that the 10th pft from the ELM set, has nothing to map to in the FATES set. This is a problem because we have areas in the surface file that will have no patches to assign to in FATES.
Note that previously, this ELM PFT was mapping to: 9 broadleaf_colddecid_extratrop_shrub
@jenniferholm, I see that the CDL I've generated is inconsistent with the hlm_pft_map you specified in the XML file. So this is either a problem with the batch-pathch script, or I did something wrong while creating the new cdl file.
@jenniferholm and I are running some long-term smoke tests. I generated the following error in a fixed-biogeography & no-comp type simulation:
The distribution of this host land model PFT : 10 into FATES PFTs, does not add up to 1.0. Error is: -1.00000000000000 and the hlm_pft_map is: 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 Aborting ENDRUN: ERROR in EDPftvarcon.F90 at line 2244
This means that the 10th pft from the ELM set, has nothing to map to in the FATES set. This is a problem because we have areas in the surface file that will have no patches to assign to in FATES.
Oops! Oversight on my part that the ELM 10th PFT didn't add up to 1.0. Thanks for finding this
The 40 year f45 smoke test with fixed biogeography and no-competition completed on perlmutter. Output here: /global/cfs/cdirs/m2420/rgknox I'll update later with some simple analysis. Note the run was purely a smoke test to see if this created any model crashes, this is not to test the fidelity of the new parameterizations.
Per fates software meeting today: @jenniferholm and @rgknox to coordinate on assessing long-duration smoke test results.
A 40 year smoke test was ran. Settings were pretty generic, but used fixed biogeography, no competition, and the new PFT set. The following analysis reports gridded mean values on the 40th and last year of simulation:
https://drive.google.com/file/d/1YkwGd9gUz9zoc4C8AwpFl3LBM-l1xrdT/view?usp=sharing
There isn't much coverage of PFTS 3,8 and 10. The broadleaf arctic shrub 10 has a very small share of the total leaf mass. And those needleleaf deciduous (larches?) are only in a few cells in siberia. Also, we are still not mapping any ELM surface file classes to PFT 8 (broadleaf_hydrodecid_extratrop_shrub). Should we use this opportunity to remove PFT 8?
Hi @rgknox - related to your PFT 8 comment, I think we should discuss that in another issue and PR. I tried to bring it up before, not it's not really related to the topic here, which is just the two arctic shrubs with more arctic traits.
For the global sanity check, I think everything looks oaky with the two new PFTs. At least nothing crazy going on. With the now PFT # 10 (broadleaf_evergreen_arctic_shrub), we already knew that would have low coverage, and low leaf mass. So that's expected. I just wanted to make sure the now PFT # 11 didn't take over too much (or out compete other cold deciduous plants), and I think it seems okay
Apologies if I missed this discussion earlier @jenniferholm. I noticed in comparing the patch file update in #1136, which includes the grass allometry updates from @XiulinGao #1206, that the arctic shrub patch file has two values that conflict for the c3 arctic grass (PFT 10 in #1136 and PFT 12 in #1236).
fates_leaf_slatop
PFT 12 (was PFT 10) from this PR updated to 0.027
:
https://github.com/NGEET/fates/blob/483905b1dbeec00d097f0d7dafd80db7746a5400/parameter_files/archive/new_shrubPFT_patch_params.xml#L108
PFT 10 from #1136 (now PFT 12) showing 0.05
:
https://github.com/NGEET/fates/blob/28b761574265a01b4c29dac931d5200bd896a70f/parameter_files/archive/api36.1.0_patch_params.xml#L87-L88
fates_recruit_height_min
:PFT 12 (was PFT 10) from this PR update to 0.11
:
https://github.com/NGEET/fates/blob/483905b1dbeec00d097f0d7dafd80db7746a5400/parameter_files/archive/new_shrubPFT_patch_params.xml#L106
PFT 10 from #1136 (now PFT 12) showing 0.2
:
https://github.com/NGEET/fates/blob/28b761574265a01b4c29dac931d5200bd896a70f/parameter_files/archive/api36.1.0_patch_params.xml#L90-L91
My assumption is that we want to use the updates from @YanlanLiu publication, but I wanted to double check.
Particularly in light of reviewing the conversation in #1204 and seeing https://github.com/NGEET/fates/issues/1204#issuecomment-2214789858 noting the source of the updates from #1206:
Yes, the data for developing those new grass allometry are all from Mediterranean grasses.
Hi Greg, thanks for double checking these values. Your assumption is correct that we are further updating a few of the arctic c3 grass parameter beyond what was done in #1136, since we have values that are better suited for Arctic environments instead of Mediterranean grasses. For example, the fates_recruit_height_min value of 0.2 from #1136 is too high for arctic grasses. So it should be updated to 0.11 based on Yanlan's work.
Thanks for the clarification @jenniferholm.
@glemieux @jenniferholm yeah look great to me! I think it totally makes sense to change the parameter when there is much better data for arctic grasses!
Regression testing with just these updates to the parameter file results in expected b4b differences across multiple fates tests. Spot checking the global SP test shows that the differences are located in the arctic as expected:
There was one failure due to ESCOMP/ctsm#2783; this is currently being retested on its own.
Location: /glade/u/home/glemieux/scratch/ctsm-tests/tests_pr1236-ctsm5029
Description:
To help improve the representation of arctic traits we are introducing two new shrubs that have been parameterized with an initial set of traits that more closely matches arctic observations, but improvements could still be made. We have also updated a subset of parameter traits for the default c3 arctic grass PFT.
These updates are based on the work done by Yanlan Liu and her 2024 parameter sensitive manuscript "Large divergence of projected high latitude vegetation composition and productivity due to functional trait uncertainty" https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2024EF004563 We introduce the new "broadleaf_evergreen_arctic_shrub" and "broadleaf_colddecid_arctic_shrub" PFTs, and update the proportional breakdown of only the "broadleaf deciduous boreal shrub" in the hlm_pft_map. This is so that non-arctic shrubs can still exist and compete with arctic shrubs, and to distinguish the traits/characteristics between the arctic environments that are pretty distinct.
This PR addresses the discussion in Issue #1204
Collaborators:
Help from @rgknox, @YanlanLiu, and conversations with @ckoven, and others.
Expectation of Answer Changes:
Will change the results of shrubs in high latitudes.
Checklist
If this is your first time contributing, please read the CONTRIBUTING document.
All checklist items must be checked to enable merging this pull request:
Contributor
Integrator
Documentation
Test Results:
CTSM (or) E3SM (specify which) test hash-tag:
CTSM (or) E3SM (specify which) baseline hash-tag:
FATES baseline hash-tag:
Test Output: