Open billsacks opened 2 years ago
A note for if/when we replace the use of biofuel_harvfrac with these new parameters: There's a small difference between what I'm doing for repr_structure_harvfrac vs. what is done for biofuel_harvfrac: For biofuel_harvfrac, the entire cpool is sent to litter, not harvested, regardless of the value of biofuel_harvfrac. For the reproductive structure components handled by repr_structure_harvfrac, I'm sending the cpool proportionally to litter vs. harvest based on repr_structure_harvfrac: this seems better especially in the case where repr_structure_harvfrac sends most or all to harvest. We may want to make a similar change to biofuel_harvfrac, but note that that may change answers and so should probably be tested separately (at least for the small number of tests that I think invoke biofuels).
Thanks @billsacks! I think these changes sound reasonable and will increase the flexibility of what is removed from the field. Several tests have already illustrated that the amount of biomass removed significantly changes carbon & nitrogen pools and fluxes, so this is an important feature that will be helpful in identifying and refining management strategies for yield and climate mitigation applications.
Sorry I mentioned this issue by mistake.
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 biofuelsuse_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 CFTsFor 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 thisrepr_structure_harvfrac
withreproductive_harvfrac
– so, specifying the harvested fraction of all reproductive pools, including both grain and structural components, and thus replacing the use ofuse_grainproduct
. We will probably introduce harvested fraction for the other pools at that same time – so we'll havestem_harvfrac
,leaf_harvfrac
, and maybe others, replacing the use ofbiofuel_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 likefr_fcel
andfr_flig
that are then packed into the multi-dimensionallf_f
parameter. I think we can do the same thing here: For the current crop model we'd use a parameter named something likegrain_harvfrac
; for AgSys, we'd ignore that one and instead use parameters likegrain_meal_harvfrac
,grain_oil_harvfrac
, etc.@danicalombardozzi @pengbinpeluo @samsrabin