Replies: 1 comment 1 reply
-
Sorry, @samsrabin - I started trying to read through this but it felt hard to get my head into it enough that I'd be able to give you any meaningful feedback. I do want to be able to support you with this, but I think it would be easier for me if we sat down and talked through anything that you want feedback on. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Posting here to get some feedback before I start working on this. @billsacks @slevis-lmwg @danicalombardozzi especially, if any of y'all have any thoughts on this they'd be much appreciated!
I'm currently leaning toward the "Using the mean GDD accumulation during the GGCMI growing season" method, but I'm interested to hear if there are any downsides/dangers I may not be considering.
We're hoping to incorporate some "easy wins" for crop calendars in CLM6; see #1928. One aspect: We want to use more realistic maturity requirements as the basis for CLM6 crop maturity requirements. The idea is to base them on the maps generated in the prescribed crop calendars paper, which were derived from sowing and harvest date maps used in the Global Gridded Crop Model Intercomparison (GGCMI). However, we want to scale them based on "recent" climate.
There are two ways this could be accomplished.
Using the "GDD20" running mean variables that CLM is already generating
Namely:
In the middle of hemispherical winter (say, Jan. 1 in NH and July 1 in SH), each gridcell will calculate the maturity requirement to be used in the following warm season ($GDD_{mat}$ ) like so:
where:
My plan is to run CLM at half-degree resolution (to match the resolution of the GGCMI crop calendars), outputting the GDD20 variables on an annual basis for each year in 1980-2009. I will then take the average of those 30 years for each GDD20 variable. These will serve as maps in three new input variables
gdd*20_baseline
. Each CFT will use thegdd*20_baseline
variable (0, 8, or 10) based on which matters for the crop in the CLM5 GDD calculation.Misc. notes:
( month > 3 .and. month < 10 .and. grc%latdeg(g) >= 0._r8)
Doing the GDDmat calculation in the middle of hemispherical winter ensures that active crops won't get their GDDmats changed.No it doesn't. I'll need to make sure that the newly-calculated GDDmat value is only applied during new calls ofPlantCrop()
, and that existing crops in the ground aren't affected.Using the mean GDD accumulation during the GGCMI growing season
GGCMI provides maps of mean sowing and harvest dates, so I could have CLM read those in, then accumulate the GDD20 variables between those dates (rather than during the "warm period"). This is the more directly relevant option, since the trend in temperature during the "warm period" isn't guaranteed to match the trend in temperature in the actual growing season.
Other than that, it would work more or less the same as outlined in the section above. Some wrinkles specific to this method:
Misc. notes
How to handle restarts from different years? Unfortunately, since I'll be using a new GDD20 running mean calculation relative to the calculation used in all the existing restarts, the year I choose to start my runs will affect the baseline value I calculate. Similarly, if someone starts their run at a different year than what I used to generate my baselines, they'll get different GDDmat values. This is "only" a problem (to the extent that anyone cares) until all restarts use my new running mean.
Warmth isn't everything. Ideally, CLM would dynamically simulate how crops in some places are planted based on seasonal warmth and in other places they're planted based on seasonal water availability. We're not there yet at this point; the goal of the "easy wins" is to implement changes within the existing setup, which only considers warmth.
Beta Was this translation helpful? Give feedback.
All reactions