Skip to content
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

[WIP] Allow prescribed gddmaturity to vary based on recent climate #2557

Closed
wants to merge 11 commits into from

Conversation

samsrabin
Copy link
Collaborator

@samsrabin samsrabin commented May 23, 2024

Work in progress! Do not review!

Subject to force pushes!

Description of changes

In the existing code, when using the default CLM crop calendars, gddmaturity (maturity requirement; the number of growing degree-days it takes for a crop to mature and be harvested) can vary within some bounds based on climate over the past 20 years. Specifically, CLM looks at some annual "warm period" which differs between the northern and southern hemispheres. This variation allows "farmers" to adapt the "cultivars" (varieties) they grow based on recent climate.

When prescribing maturity requirement, though—with input file stream_fldFileName_cultivar_gdds—it's currently not allowed to vary over time. Instead, it's locked in to what's provided in the input file: the mean GDD accumulation in the GGCMI growing period over the 1980-2009 growing seasons.

We want this variation to allow "farmers" to adapt the "varieties" they grow based on whether the recent climate has been warmer or cooler than that baseline 1980-2009 period.

This PR represents the first step toward adding that ability. I'm breaking this work up into separate PRs to keep them manageable:

  1. (This PR) Define "recent climate" based on the same "warm period" currently used by default CLM.
  2. Define "recent climate" based on the GGCMI growing seasons.
  3. Restrict adapted gddmaturity values to a realistic range.

Specific notes

Contributors other than yourself, if any: None

CTSM Issues Fixed (include github issue #):

Are answers expected to change (and if so in what way)? Not unless enabling this new, experimental feature.

Any User Interface Changes (namelist or namelist defaults changes)?

  • Adds input file stream_fldFileName_gdd20_baseline (default ''). Pointing this at a file automatically enables adaptation of prescribed maturity requirements; there's no separate boolean namelist variable to worry about. Providing this file but not prescribed maturity requirements will cause an error in the build namelist step.

Does this create a need to change or add documentation? Did you do so? Documentation will need to be updated when all the PRs in my plan are merged and this feature is considered ready for use. For now, since it's not ready, I want it to be undocumented!

Testing performed, if any: None yet.

  • Update to latest CTSM tag
  • Ensure aux_clm passes bit-for-bit
  • Ensure a transient run with stream_fldFileName_gdd20_baseline provided works as we expect (gddmaturity changes over time)

@samsrabin samsrabin added enhancement new capability or improved behavior of existing capability tag: enh - new science labels May 23, 2024
@samsrabin samsrabin added this to the CESM Capability Freeze milestone May 23, 2024
@samsrabin samsrabin self-assigned this May 23, 2024
samsrabin added 2 commits May 23, 2024 16:58
CTSM5.2 1979 fsurdat and 1979-2026 landuse ne0np4 files + two fixes

Includes work by multiple people:
@slevis-lmwg: new fsurdat/landuse files and corresponding infrastructure for
the three so-called VR grids (ne0np4)
@samsrabin: a subset_data fix
@olyson: corrections to a couple of history long-names and updates to
history_fields_fates.rst and history_fields_nofates.rst
They're being handled in PlantCrop() instead.
@samsrabin samsrabin changed the base branch from master to scale-maturity-reqs May 24, 2024 21:13
@samsrabin
Copy link
Collaborator Author

Closing to use a new branch.

@samsrabin samsrabin closed this May 28, 2024
@samsrabin samsrabin added the science Enhancement to or bug impacting science label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability science Enhancement to or bug impacting science
Projects
Development

Successfully merging this pull request may close these issues.

1 participant