-
Notifications
You must be signed in to change notification settings - Fork 345
Description
GRAINC_TO_FOOD tracks biomass from all harvests, including harvests that occur before the crop reaches maturity (i.e., because it's reached maximum growing season length). While this makes sense from a carbon-tracking perspective, it doesn't necessarily make sense if one is interested in the amount of harvested material that's actually useable for human food, livestock feed, etc.
Here is the global yield I simulated (green, compared with FAO data in black and gray) with the normal outputs, including even immature-harvested crops:
And here's what I get when I include only crops harvested at maturity. Doing so makes a really big difference for rice and soybean!
In @danicalombardozzi's 2020 paper, she seems to have only included mature harvests; see black lines in Fig. S1c:
Fan et al. (2021), on the other hand, seem to have included all harvests; see middle plot in rightmost column of their Fig. 2 (note the very different time scale here):
That may have been a conscious choice by Fan et al., but this nuance is one that will not be obvious to many end users. The Tech Note implicitly instructs end users to include all harvests, but for many use cases that's not ideal.
I'm planning an update/expansion to that part of the Tech Note as part of #1863, which will introduce a number of new outputs designed to facilitate yield output usage. However, I wonder if we also want to provide an extra type of variable where the exclusion of immature harvests has already been "baked in"—something like GRAINC_MATURE_TO_FOOD.
The question then would be: What threshold for "maturity" do we use? Full maturity (i.e., HUI ≥ GDDmat) is the most parsimonious option, but that doesn't necessarily reflect reality. In the GGCMI/ISIMIP Agriculture phase 3 simulations, for instance, the guidance is that harvests should be included as long as they've reached 90% maturity (or 80% in the case of corn, to reflect its use as as silage).
Whatever the choice is, it would still be possible for end users to set their own threshold using instructions I'll include in my Tech Note update.



