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, theMimiMooreEtAlAgricultureImpactsComponentnamed :Agriculture in the model. The caller must specify whichgtapdataframe 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. Ifpulseis 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 specifiedgtapand 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.Agriculturewhich 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 (theAgLossGTAPvariable)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