Welcome
The MimiMooreEtAlAgricultureImpacts
package defines an Agriculture
component to be used in Integrated Assessment Models within the Mimi Framework. In addition to the component definition, this package also provides helper functions for using and running the component. Code is based on the agricultural damage functions from a 2017 paper in Nature Communications by Moore et al.
The Agriculture Component
The Agriculture
component is a Mimi component implementing Moore et al's agricultural damage function. The component is defined in "src/AgricultureComponent.jl". It has a variable called gtap_df
which is a 16 x 3 Array of percent welfare impact data (16 FUND regions x 3 temperature points). In the run_timestep function, this component takes temperature for that timestep and uses the gtap dataframe to linearly interpolate or extrapolate to get the percent loss for that timestep, saved in variable AgLossGTAP
.
There are 5 choices of temperature-welfare dataframes that can be used to form the basis of the damage function. They are:
- "midDF" - the median result from Moore et al's meta analysis of yield responses
- "lowDF" and "highDF" are the 95% confidence interval around the median estimate
- "AgMIP_AllDF" - results from all AgMIP studies
- "AgMIP_NoNDF - results from AgMIP studies that explicitly model nitrogen stress
The gtap_spec
parameter in the MimiMooreEtAlAgricultureImpacts.Agriculture
must be set to one of those five choices (as a string), which determines which damage function the component uses.
The MimiMooreEtAlAgricultureImpacts package
The MimiMooreEtAlAgricultureImpacts
package provides the following user-facing functions:
MimiMooreEtAlAgricultureImpacts.get_model(gtap; pulse=false)
returns a Mimi model with one component, theMimiMooreEtAlAgricultureImpactsComponent
named :Agriculture in the model. The caller must specify whichgtap
dataframe they want to use for the damage function (must be one of five names associated with the five temperature/welfare dataframes from Fran Moore). The returned model has input parameters set to usg2 socioeconomics and a temperature pathway from DICE. Ifpulse
is set totrue
, then the temperature parameter is set to a temperature path from DICE with an additional Gt of CO2 emissions in 2020.MimiMooreEtAlAgricultureImpacts.get_ag_scc(gtap; prtp=0.03)
calculates the Agricultural SCC for the specifiedgtap
and pure rate of time preference discount rateprtp
. It uses the DICE temperature pathway for the base run, and a pulsed temperature pathway from DICE with additional emissions in 2020 for the marginal run. So this function currently only calculates the SCC for 2020 because of the available pre-saved DICE pulsed temperature path.- Not a function, but users can also access
MimiMooreEtAlAgricultureImpacts.Agriculture
which is the Mimi component id of the Mimi component defined in "src/MimiMooreEtAlAgricultureImpactsComponent.jl"
Examples
examples/main.jl
: runs the agriculture component for each of the five gtaps and saves the values for % ag damages (theAgLossGTAP
variable)examples/main_scc.jl
: runs the base and pulsed versions of the model for each of the five gtaps and calculates and saves the resulting SCC for the ag sector