Concepts¶
The terms the rest of the documentation uses, in plain words.
Run modes¶
- SSP mode
- Runs over an enumerated set of scenarios: SSP socioeconomic paths,
RCP emissions paths, climate models, and the FaIR simulations. The
damage function is fitted during the run, unless a sector supplies
precomputed coefficients. Supports ECS masks and
fair_dims. - RFF mode
- Runs over 10,000 probabilistic draws, indexed by a
runiddimension, from the RFF socioeconomic projections. The draws replace the scenario dimensions. Damage-function coefficients must be precomputed, so nothing is fitted. There are no masks and nofair_dims, and the economics file runs to 2300. This is the mode behind EPA's published figures.
Set mode: ssp or mode: rff in the config; it is required.
Sweeps¶
- Sweep
- The set of runs a
runcommand expands from thesweepblock of a config: the product of the six axes below.--dry-runshows the expansion without computing it. - Sweep axes
- Six lists.
sectors: which sectors to run.pulse_years: which emission years.menu_pairs: explicit recipe and discounting pairs, never a cross product.eta_rho: pairs of the two discounting parameters.masks: ECS masks, SSP mode only.fair_dims: which FaIR dimensions to collapse, SSP mode only. - Selector flags
--sector,--pulse-year,--recipe,--discounting,--mask,--etaand--rhonarrow the sweep of a config, or define the axes of a config that has no sweep block. They replace the sweep block, not the config: data paths, sectors and menu options always live in the config file.
Recipes¶
- Recipe
- How damages are aggregated over uncertainty before the damage
function is fitted. The
recipeoption takesadding_up,risk_aversion, orequity. adding_up- Takes the mean over the batch dimension of the sector damages.
risk_aversion- Takes the certainty equivalent at
etaover the batch dimension, so bad outcomes weigh more than a plain mean gives them. equity- Reads the
risk_aversionreduced damages, which hold consumption per person for each region (reducehas noequitybranch). It takes the population-weighted certainty equivalent of that consumption across regions ateta, once with climate change and once without, and multiplies the difference by total population (dscimmenu/equity.py:14-35,59-73).risk_aversioninstead multiplies each region's difference by that region's population and sums them (menu/risk_aversion.py:46-56). Regions missing from the reduced damages are filled with their consumption without climate change, andgwrdiscounting addssspandmodelto the dimensions the certainty equivalent runs over. - Batch
- The dimension of repeated damage draws in a sector's damage file.
reducecollapses it; dscim requires it chunked at 15.
Discounting¶
- Discounting type
- How future damages are converted to present value.
constant,constant_model_collapsed,naive_ramsey,euler_ramsey,naive_gwr,euler_gwrandgwr_gwrare supported. Thegwrtypes collapse thesspandmodeldimensions. - eta
- The curvature of the utility function: how fast the value of an
extra unit of consumption falls as consumption rises. It is used by
the
risk_aversionreduction and by Ramsey discount factors. - rho
- The pure rate of time preference: how much a future year is valued less than the present, apart from growth. It is used only by Ramsey and GWR discount factors, but it appears in every output file name.
- Ramsey calibrations
- EPA publishes three
etaandrhopairs, labelled by the discount rate each is set to produce: 1.5% (1.016010255,9.149608e-05), 2.0% (1.244459066,0.00197263997) and 2.5% (1.421158116,0.00461878399). A lower rate values the future more and gives a larger SCC.
Climate and timing¶
- Pulse year
- The year in which the extra emission pulse is added. The SCC is the present value of the damages that pulse causes. The year must exist as a coordinate in the FaIR files.
- FaIR
- The climate model whose temperature and sea level projections the runs use. The files hold a control run and a pulse run for each pulse year.
- ECS mask
- A filter on the climate sensitivity of FaIR simulations. The option is catalogued as unsupported because masked runs crash inside dscim.
Sectors¶
- Sector
- One category of climate damage with its own damage file: for example agriculture, mortality, energy, labor or coastal. Sector names are free strings in the config.
- AMEL
- The sum of agriculture, mortality, energy and labor.
sum-sectorsbuilds it from the member sectors' damage files. - CAMEL
- AMEL plus coastal: the combined estimate across all five sectors.
combinebuilds it by merging the coastal and AMEL damage-function coefficients. The version numbers in a name such asCAMEL_m1_c0.20are the mortality and coastal versions. - Damage function
- A fitted curve from temperature, or sea level, to damages. The
formulaof a sector says which terms it has. Its coefficients are saved asdamage_function_coefficientsfiles. - Coefficient-only sector
- A sector with a
damage_function_pathand no damage file.runloads its coefficients instead of fitting them. All RFF sectors are of this kind.
Results¶
- Uncollapsed outputs
- The marginal damages and discount factors for every draw, saved
before they are combined into an SCC. The
scccommand composes SCCs from them. - Certainty equivalent
- The SCC reported by EPA. Each draw is weighted by
(consumption per capita at the pulse year) ** -eta, scaled so the weights average one, and the weighted draws are averaged. Draws with high consumption get less weight than a plain mean gives them, and damages are larger in those draws, so the certainty equivalent comes out lower than the plain mean: by about 0.5% for pulse year 2020, widening to about 30% for 2080 in the EPA run. Set it withscc.collapse: certainty_equivalent; it needs aruniddimension andglobal_consumption_no_pulseinmenu.save_files. - Deflator
- A factor that converts the SCC between price years. EPA's draws are
in 2019 dollars, and
113.648 / 112.29converts them to 2020 dollars. It is explicit in the config; there is no built-in table. - Run metadata
- The
*_run_metadata.yamlbeside every run's outputs: the resolved settings, where each came from, and the dscim version.
The pipeline¶
The five commands that build an SCC, in the order they run:
sum-sectors- Adds the member sectors into an aggregate such as AMEL. SSP mode.
reduce- Collapses the batch dimension of each sector's damages against socioeconomics, once per recipe and eta. SSP mode.
run- Fits the damage function, or loads its coefficients, applies it to the FaIR projections, discounts, and writes the SCC files.
combine- Merges the coastal and AMEL coefficients into the CAMEL sector.
SSP mode. A second
runthen uses the combined coefficients. scc- Composes SCCs from the uncollapsed outputs of
run, applies the deflator, and collapses the uncertainty dimension.
dscim-cil stages prints the same pipeline with what each stage reads,
writes, and collapses; see the pipeline.