Add cft and pool-specific harvested fraction parameters to the param file
- Dominant language
- Fortran
- Stars
- 352
- Forks
- 361
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 7
Description
To support AgSys integration – though this would be useful for the current crop model as well – we want to add cft and pool-specific harvested fraction parameters to the parameter file. These will give the fraction of each pool that is removed to the crop products pool when a crop is harvested (the remaining fraction will be added to the soil via a litter flux). There will be parameters giving the fraction of each grain pool that is harvested (with the current crop model there is only a single grain pool, but AgSys will have two different grain pools), the fraction of each reproductive structure pool that is harvested (the current crop model does not have any reproductive structure pools, but AgSys will have two), the fraction of stem that is harvested, and the fraction of leaves that are harvested (and maybe others).
This will replace the current use of:
- `biofuel_harvfrac`: this does effectively the same thing, but lumps together leaves and stems into a single parameter and gives the incorrect impression that it only applies to biofuels
- `use_grainproduct`: this logical flag is a coarse version of this parameter for the grain pool that essentially only allows a 0/1 value and applies the same value to all CFTs
For now I am introducing a place-holder parameter in pftconMod, `repr_structure_harvfrac`, because I need this to introduce placeholder pools and fluxes to support AgSys integration. I am filling it with hard-coded values. Because it can be a bit of a pain to coordinate parameter file updates, I figure we'll wait to actually add this to the parameter file until we have a full list of AgSys parameters that we want to add, then address this issue at that point. When we do, I think we should replace this `repr_structure_harvfrac` with `reproductive_harvfrac` – so, specifying the harvested fraction of *all* reproductive pools, including both grain and structural components, and thus replacing the use of `use_grainproduct`. We will probably introduce harvested fraction for the other pools at that same time – so we'll have `stem_harvfrac`, `leaf_harvfrac`, and maybe others, replacing the use of `biofuel_harvfrac`.
I'm not sure how we want to store these parameters on the parameter file, particularly given that the set of pools will differ depending on whether we're running with AgSys or the current, AgroIBIS-based crop model (the former will have 2 grain pools and 2 reproductive structure pools; the latter has 1 grain pool and no reproductive structure pools). But my initial thought is to follow the example of the `lf_f` parameters: there are parameters on the param file like `fr_fcel` and `fr_flig` that are then packed into the multi-dimensional `lf_f` parameter. I think we can do the same thing here: For the current crop model we'd use a parameter named something like `grain_harvfrac`; for AgSys, we'd ignore that one and instead use parameters like `grain_meal_harvfrac`, `grain_oil_harvfrac`, etc.
@danicalombardozzi @pengbinpeluo @samsrabin
Contributor guide
Assessment
This issue has not been assessed yet.