NGEET / fates

repository for the Functionally Assembled Terrestrial Ecosystem Simulator (FATES)
Other
105 stars 92 forks source link

Adding two new arctic shrub PFTs, and some arctic grass parameter updates #1236

Closed jenniferholm closed 1 month ago

jenniferholm commented 3 months ago

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:

glemieux commented 3 months 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.

rgknox commented 3 months ago

@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.

rgknox commented 3 months ago

Note that previously, this ELM PFT was mapping to: 9 broadleaf_colddecid_extratrop_shrub

rgknox commented 3 months ago

@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 commented 3 months ago

@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

rgknox commented 3 months ago

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.

glemieux commented 2 months ago

Per fates software meeting today: @jenniferholm and @rgknox to coordinate on assessing long-duration smoke test results.

rgknox commented 2 months ago

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

rgknox commented 2 months ago

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?

jenniferholm commented 2 months ago

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

glemieux commented 2 months ago

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).

Conflict 1: 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

Conflict 2: 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.

jenniferholm commented 2 months ago

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.

glemieux commented 2 months ago

Thanks for the clarification @jenniferholm.

XiulinGao commented 1 month ago

@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!

glemieux commented 1 month ago

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:

image image

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