-
Notifications
You must be signed in to change notification settings - Fork 313
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
Read in crop planting and harvest dates #519
Comments
May want to address #75 along with this. |
This has been suggested as a good first item for me to tackle as a way to get my feet wet with CLM. Prescribed planting and harvest are something we require as part of the protocol of the Global Gridded Crop Model Intercomparison. Wim Thiery has done some GGCMI runs for the latest (CMIP6-based) phase, but because of a number of protocol violations it's unclear how useful they'll be as part of the larger GGCMI ensemble. GGCMI specifies a method for dealing with GDD targets given time-invariant planting and harvest dates. The idea is to set each gridcell's target as the mean GDD accumulated in the crop's designated season over a certain baseline period. For GGCMI phase 3, I believe that baseline is 1980–2010. Then in the actual simulation, we don't set harvest date, but rather the GDD target. Instead of specifying the harvest date for each gridcell, it's effectively specifying the cultivar used in each gridcell. So what I'm suggesting is adding the ability to read in planting dates and GDD targets as spatially-varying, crop-specific parameters. (It would be good to future-proof by allowing these to be temporally-varying as well—future GGCMI experiments will specify shifting growing seasons.) Reading in harvest date could also be allowed, but perhaps not scientifically supported, since as you suggest it would lead to crops being harvested before (or, indeed, long after) reaching maturity. Although, if we also let GDD targets vary over time, one could perform a run with specified planting and harvest date with a "cultivar" that reaches maturity exactly on time. Re: timing phenological stages: GDD-based triggers, as happens in Noah-MP—with stage transitions happening at certain fractions of GDD accumulated—is how my previous model, LPJ-GUESS, handles this. At first I thought, based on the Phenology section of the Tech Note, that this was how things already happened in CLM. But looking at the code, it seems like (as you said) the actual thresholds and Re: Some crops and/or gridcells having one or more of these read in from a file, with others not: This is something we allow in LPJ-GUESS. Every crop in every gridcell does read a value from a file, but if that value is negative, it's ignored. In that case, the crop falls back on its global CFT-specific value. This functionality isn't too difficult to build in, so I'd lean towards including it, although it doesn't have to be a priority. |
Alright, I've reached a decision point that I'd like some advice on. First, a review of the plan so far (from discussions elsewhere). The plan so farThe way we've decided this should work for a given crop:
An alternative to this would be for CLM to also read in maps of prescribed harvest dates in (1) and use that prescribed growing season in (2). We decided against this because the plan described above allows us to derive new cultivar maps when harvest inputs change without having to do a new run. Current statusI've got sowing dates being read in reliably at this point, testing on the very coarse (Top left is my interpolated map of prescribed sowing dates from Python. Top right is the original 0.5° map of prescribed sowing dates. Bottom left is the realized sowing date output for 2001. Bottom right is the difference between the top left and bottom left; white where no difference or not simulated.) ((You might notice that the top right map looks kinda wild. The original prescribed sowing date map only included land cells. I expected CTSM to gracefully select nearest-neighbor grid cells ignoring missing values, but alas it did not, so I did that interpolation myself using Weirdly, only a few gridcells in addition to the ones in that bottom right map ever have a problem, and they're all in that same Northern Hemisphere latitude band. Possible solutionsAt least what's come to mind so far…
Any thoughts? Oh, and also:It's weird that CTSM didn't gracefully select nearest-neighbor grid cells ignoring missing values. I'm wondering if maybe I'm doing this whole "stream" files thing wrong somehow. For what it's worth, I'm using MCT at the moment; maybe it'd be better to switch to nuopc. |
@samsrabin thanks a lot for your detailed comment. I haven't gotten my head entirely around the issue, but I think that, for the workflow of generating gdd maps, I'd be inclined to do the CTSM run at the same resolution as the sowing dates - i.e., 0.5 deg. Then you don't need to worry about interpolation issues, which as you're finding can be very frustrating to work through! So I think it's worth the extra computational expense, as long as you're not going to need to redo this very frequently (which it sounds like you probably won't). Regarding stream interpolation, and especially your last comment under "Oh, and also": @ekluzek is the expert on that, so I'll let him comment, or you can reach out to him with questions. Let me know if you'd like to talk more about this. |
Thanks @samsrabin, this is really exciting to see! It is great that the prescribed planting dates seem to be working so well and that they are more spatially heterogeneous than what CLM predicts. I know @pengbinpeluo had previously identified problems with HUI in CLM, and it's great to see the reason behind this (harvest before maturity). I haven't looked carefully at Are spring and winter wheat and sugarcane the only crop types you plan to use, or will you eventually work on other crops (e.g., soy, corn, etc.)? It might also be interesting to see the impact on yields and how the updates compare with observations. I will need to dig around, but I should be able to point you to some gridded observational datasets. |
Oh yeah, I should have been clear about that—I actually ran this for corn (temperate and tropical), soybean (likewise), sugarcane, rice, cotton, and spring wheat. That is, everything in the standard I was also wondering where A comparison of yields to observation data—and specifically, how performance differs from normal CLM-Crop—is something I was planning for an eventual publication. I've previously worked with country-level yields compared to data from FAOStat, but if you have something gridded that'd be nice to have as well. |
Thanks for this @samsrabin ! I don't have much to add right now, but will add a couple of notes:
|
I agree that it might be good to revisit the mxmat values for regions beyond the central US. Regarding the global gridded yield dataset, @lawrencepj1 merged the earthstat dataset that @billsacks points to with the FAO historical yield dataset (by country) so that we have gridded yields through time for comparison. |
As an alternative to predicting crop planting and harvest dates based on GDD, we want to provide the capability to read in planting and harvest dates from a dataset, for each crop in each grid cell.
There are some questions about how we would specify the timing of other phenological stages (e.g., the switch from vegetative to reproductive). @danicalombardozzi suggested that we might want to start by simply using time-based rather than GDD-based thresholds for the switch from one phase to another when using prescribed planting and harvesting dates (e.g., the switch to the reproductive phase happens when 60% of the time has elapsed between planting and harvest).
Alternatively, we could continue to use GDD-based triggers for other phenological stages. @barlage described to me how this is done in Noah-MP when using fixed planting and harvest dates. What they do is: for a given year, determine the total GDD accumulated between planting and harvest in that year. They do that over multiple years to determine a typical GDD between planting and harvest. Then, for this coming year, they assume that there will be about that number of GDD between planting and harvest, and determine the GDD thresholds for other phenological stages based on this projected total. This could work if planting and harvesting dates change in time, too, as long as the changes aren't too big from one year to another.
One possible issue I see with the method @barlage described is if the harvest date this year disagrees a lot with the number of GDD in this year: Under our current GDD-based modeling, we'd let the harvest get pushed earlier or later. But with the method @barlage described, harvest would happen at a fixed date, even if (say) only 1700 GDD had been accumulated in (say) a 2000 GDD-based cultivar, and so you're harvesting long before the crop has reached maturity. I'm not sure how big of an issue this would be in practice.
My original assumption was that, in a given run, all crops in all grid cells would operate the same way: either with prognostic, GDD-based planting and harvest, or with prescribed planting and harvest dates. But I'm actually not sure about that: Do we need to allow for the possibility that some crops (or even some grid cells for a given crop) have prescribed planting and harvest dates but some do not?
The text was updated successfully, but these errors were encountered: