Skip to content

Options reference

Every option dscim accepts, from the catalogue that validate, the commands, and this page all read. Each option carries a status:

  • supported: works through dscim-cil.
  • unsupported: accepted by dscim but broken or restricted; the reason and source are given. --allow-unsupported lifts the validation block where noted.
  • dead: accepted by dscim and ignored.
  • removed: exists only on other dscim branches, not on main.

Restrictions are classed by origin: library (a dscim limitation), data (a consequence of precomputed inputs), or specification (a policy choice). The same records are available from the command line through dscim-cil options and dscim-cil explain OPTION.

base_period

GMST rebasing window.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: (2001, 2010)
  • source: simple_storage.py:57

ce_path

Directory of reduced-damage zarrs; derived by dscim-cil from paths.reduced_damages_library and the sector, not set directly.

  • status: supported
  • stages: fit
  • modes: ssp
  • default: None
  • source: main_recipe.py:94; consumers simple_storage.py:387,414

clip_gmsl

Clip FaIR GMSL at the damage function's local maximum; only implemented for the two gmsl-quadratic formulas.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: False
  • source: main_recipe.py:96; assert main_recipe.py:264-270

combine_fit

Also merge the fitted-values files when combining CAMEL coefficients (midprocessing parameter name: fit).

  • status: dead (library restriction)
  • stages: combine
  • modes: ssp
  • default: True
  • source: midprocessing.py:18; rebinding midprocessing.py (coefs, fit = {}, {})

combine_CAMEL_coefs rebinds fit to an empty dict before testing it (coefs, fit = {}, {} then if fit:), so the fitted-values merge does not run for any argument value.

country_mapping_path

ISO mapping CSV for country aggregation (named country_ISOs on generalize_df_fit).

  • status: removed (specification restriction)
  • stages: fit
  • modes: ssp, rff
  • default: None
  • source: absent from main; named country_ISOs on generalize_df_fit

Not on dscim main.

damage_function_path

Directory of precomputed damage-function coefficients; presence makes the run skip fitting. Required for every sector in rff mode.

  • status: supported
  • stages: fit
  • modes: ssp, rff
  • default: None
  • source: main_recipe.py:95; loaders main_recipe.py (damage_function_coefficients); rff requirement utils/menu_runs.py:163-167

damages_pulse_conversion_path

Per-gas pulse-to-tonne conversion file.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: required
  • source: simple_storage.py:52

discounting_type

Discounting scheme; also controls damage-function fit grouping and population collapse.

  • status: supported
  • stages: fit, discount
  • modes: ssp, rff
  • default: required in config (dscim's own default: None)
  • source: main_recipe.py:88 (default None); accepted set main_recipe.py:52-61; assert main_recipe.py:245-247

Accepted values:

  • 'constant': supported
  • 'constant_model_collapsed': supported
  • 'constant_gwr': unsupported (library restriction)
    • Listed in DISCOUNT_TYPES but its non-constant discount-factor path has no branch in calculate_stream_discount_factors and raises UnboundLocalError; never used in any production repo or in dscim's own test matrix.
    • source: main_recipe.py:52-61; calculate_stream_discount_factors has no constant_gwr branch; dscim's tests/conftest.py discount_types fixture omits it
  • 'naive_ramsey': supported
  • 'euler_ramsey': supported
  • 'naive_gwr': supported
  • 'gwr_gwr': supported
  • 'euler_gwr': supported

discrete_discounting

Discrete rather than continuous discounting.

  • status: supported
  • stages: discount
  • modes: ssp, rff
  • default: False
  • source: main_recipe.py:103

ecs_mask_name

Mask variable to apply; both path and name must be set for masking to occur. Open set; five names are used in production.

  • status: unsupported (library restriction)
  • stages: fair
  • modes: ssp
  • default: None
  • source: simple_storage.py:56; application in Climate.anomalies; production names from dscim-research main/run_integration_result.py:183-190

Climate.anomalies assigns the result of Dataset.update, which returns None on current xarray, so every masked run crashes with TypeError before computing anything; masking worked only with the older xarray where update returned the dataset.

Known values:

  • 'truncate_at_ecs995symmetric_passing_mask': supported
  • 'truncate_at_ecs990symmetric_passing_mask': supported
  • 'truncate_at_ecs950symmetric_passing_mask': supported
  • 'truncate_at_ecs830symmetric_passing_mask': supported
  • 'truncate_at_ecs750symmetric_passing_mask': supported
  • other values are legal; these are the catalogued ones

ecs_mask_path

File of boolean masks over FaIR simulations.

  • status: supported
  • stages: fair
  • modes: ssp
  • default: None
  • source: simple_storage.py:55

emission_scenarios

RCP/SSP scenarios to select from the FaIR files; must be null for runid-shaped (RFF) files.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: ('ssp119', 'ssp126', 'ssp245', 'ssp460', 'ssp370', 'ssp585')
  • source: simple_storage.py:58 (default expansion :61-69)

eta

Utility-function curvature; consumed by CE reduction, Weitzman bottom-coding, and discount factors. eta == 1 switches to log utility.

  • status: supported
  • stages: reduce, fair, discount
  • modes: ssp, rff
  • default: required in config (dscim's own default: 1.421158116)
  • source: main_recipe.py:86

ext_end_year

Extrapolation and discounting horizon.

  • status: supported
  • stages: fit, discount
  • modes: ssp, rff
  • default: 2300
  • source: main_recipe.py:92

ext_method

Extrapolation method for the damage function beyond the fit window.

  • status: supported
  • stages: fit
  • modes: ssp, rff
  • default: 'global_c_ratio'
  • source: main_recipe.py:89; implementation utils/utils.py (model_outputs)

Accepted values:

  • 'global_c_ratio': supported
  • 'time_trends': removed (library restriction)
    • Appears in one archived production config from an older dscim era; current dscim implements only global_c_ratio and any other value falls through to UnboundLocalError.
    • source: utils/utils.py model_outputs (global_c_ratio only); dscim-research configs/archive/hybrid_mortality_config.yaml:15

ext_subset_end_year

Last year of the fit range and extrapolation-basis window.

  • status: supported
  • stages: fit
  • modes: ssp, rff
  • default: 2099
  • source: main_recipe.py:91

ext_subset_start_year

First year of the extrapolation-basis window.

  • status: supported
  • stages: fit
  • modes: ssp, rff
  • default: 2085
  • source: main_recipe.py:90

extrap_formula

Stored and never read by current dscim; was a live config key in the 96k-era production configs.

  • status: dead (library restriction)
  • stages: none
  • modes: ssp, rff
  • default: None
  • source: main_recipe.py:107; last configured in dscim-research configs/archive/96k_config.yaml:23

Assigned in init and never used; the feature it configured was removed from dscim.

fair_aggregation

How to collapse FaIR uncertainty into SCCs. An empty list skips the collapsed-SCC computation and leaves the uncollapsed trio.

  • status: supported
  • stages: fair, discount
  • modes: ssp, rff
  • default: ('ce', 'mean', 'gwr_mean', 'median', 'median_params')
  • source: main_recipe.py:101,118-119; dispatch main_recipe.py (marginal_damages)

Accepted values:

  • 'ce': supported
  • 'mean': supported
  • 'gwr_mean': supported
  • 'median': supported
  • 'median_params': supported
  • 'uncollapsed': unsupported (library restriction)
    • Not a valid member: marginal_damages has no branch for it and raises NotImplementedError, which breaks calculate_scc. The uncollapsed pipeline is reached by fair_aggregation: [] plus the dscim-cil scc command, which composes SCCs from the uncollapsed outputs.
    • source: main_recipe.py marginal_damages (no uncollapsed branch) and order_plate

fair_dims

Dimensions collapsed by the FaIR CE/mean/median aggregations; production sweeps four sets. Non-default sets add a fair_collapsed_* segment to the save path.

  • status: supported
  • stages: fair, discount
  • modes: ssp, rff
  • default: ('simulation',)
  • source: main_recipe.py:108,180-181; path rule utils/menu_runs.py:65-70

filename_suffix

Suffix appended to every saved artifact filename.

  • status: supported
  • stages: output
  • modes: ssp, rff
  • default: ''
  • source: main_recipe.py:102; decorators.py:33

fit_type

Damage-function estimation type.

  • status: supported
  • stages: fit
  • modes: ssp, rff
  • default: 'ols'
  • source: main_recipe.py:87; dispatch utils/utils.py (modeler)

Accepted values:

  • 'ols': supported
  • 'quantreg': unsupported (specification restriction)
    • dscim asserts it is incompatible with risk_aversion reduction; it emits a different artifact set (full_uncertainty_iqr/stat_uncertainty_iqr instead of the standard SCC outputs) and requires batch-keeping reduced damages, a storage layout incompatible with the reduced files the run stage otherwise consumes. Production used it only for the labor and agriculture papers, never for CAMEL.
    • source: preprocessing.py:85-92 (risk_aversion assert); main_recipe.py order_plate quantreg branch

formula

Damage-function formula; must match one of dscim's 12 strings exactly (whitespace included) because downstream dispatch is whole-string equality.

  • status: supported
  • stages: fit, fair
  • modes: ssp, rff
  • default: required
  • source: main_recipe.py:82; whitelist main_recipe.py:62-75; assert main_recipe.py:249-251

Accepted values:

  • 'damages ~ -1 + np.power(anomaly, 2)': supported
  • 'damages ~ gmsl + np.power(gmsl, 2)': supported
  • 'damages ~ -1 + gmsl + np.power(gmsl, 2)': supported
  • 'damages ~ -1 + gmsl': supported
  • 'damages ~ anomaly + np.power(anomaly, 2)': supported
  • 'damages ~ -1 + anomaly + np.power(anomaly, 2)': supported
  • 'damages ~ -1 + gmsl + anomaly + np.power(anomaly, 2)': supported
  • 'damages ~ -1 + anomaly + np.power(anomaly, 2) + gmsl + np.power(gmsl, 2)': supported
  • 'damages ~ -1 + anomaly * gmsl + anomaly * np.power(gmsl, 2) + gmsl * np.power(anomaly, 2) + np.power(anomaly, 2) * np.power(gmsl, 2)': supported
  • 'damages ~ anomaly + np.power(anomaly, 2) + gmsl + np.power(gmsl, 2)': supported
  • 'damages ~ -1 + anomaly:gmsl + anomaly:np.power(gmsl, 2) + gmsl:np.power(anomaly, 2) + np.power(anomaly, 2):np.power(gmsl, 2)': supported
  • 'damages ~ -1 + gmsl:anomaly + gmsl:np.power(anomaly, 2)': supported

full_uncertainty_quantiles

Quantiles for the quantreg IQR outputs.

  • status: unsupported (specification restriction)
  • stages: output
  • modes: ssp, rff
  • default: (0.01, 0.05, 0.17, 0.25, 0.5, 0.75, 0.83, 0.95, 0.99)
  • source: main_recipe.py:106,167-178

Consumed only by the quantile-regression IQR outputs (full_uncertainty_iqr/stat_uncertainty_iqr); carries the same restrictions as fit_type: quantreg (see that option).

gas_conversions

Pulse-to-tonne conversion factors per gas, given inline instead of a conversion netCDF. The file dscim reads is generated from these values at {paths.results}/gas_conversions.nc4. Exactly one of gas_conversions and damages_pulse_conversion_path must be set.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: None
  • source: consumed via simple_storage.py conversion; inline factors follow dscim-facts-epa (scghg_utils.py gas_conversions)

gases

Gas labels to select; must match the FaIR file's gas coordinate exactly.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: ('CO2_Fossil', 'CH4', 'N2O')
  • source: simple_storage.py:59,70-71

gdppc_bottom_code

Floor applied to per-capita GDP.

  • status: supported
  • stages: reduce
  • modes: ssp, rff
  • default: 39.39265060424805
  • source: main_recipe.py:97

geography

Regional aggregation level (ir/country/globe).

  • status: removed (specification restriction)
  • stages: fit
  • modes: ssp, rff
  • default: None
  • source: absent from main (MainRecipe.init main_recipe.py:77-110); exists on generalize_df_fit and the harmonize branch

Absent from dscim main's MainRecipe; the regional surface exists only on the generalize_df_fit and harmonize branches.

gmsl_fair_path

FaIR GMSL control/pulse file; when set, gmsl joins the anomaly variables.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: None
  • source: simple_storage.py:54

gmsl_path

GMSL zarr used when fitting damage functions for gmsl formulas.

  • status: supported
  • stages: fit
  • modes: ssp
  • default: required
  • source: simple_storage.py:50

gmst_fair_path

FaIR temperature control/pulse file.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: required
  • source: simple_storage.py:51

gmst_path

GMST anomalies CSV used when fitting damage functions.

  • status: supported
  • stages: fit
  • modes: ssp
  • default: required
  • source: simple_storage.py:49

individual_region

Single-region subsetting used by the regional-SCC SLURM fan-out.

  • status: removed (specification restriction)
  • stages: fit
  • modes: ssp, rff
  • default: None
  • source: absent from main; consumed on generalize_df_fit (regional-scc data/SCCs/3_ir_sccs.py)

Not on dscim main.

order

Menu course to execute.

  • status: supported
  • stages: output
  • modes: ssp, rff
  • default: 'scc'
  • source: order_plate courses main_recipe.py:280

Accepted values:

  • 'scc': supported
  • 'damage_function': supported

path_econ

Socioeconomics file (gdp and pop variables); config key econ.path. Years to 2300 plus a runid dimension are what dscim duck-types as RFF data.

  • status: supported
  • stages: econ
  • modes: ssp, rff
  • default: required
  • source: simple_storage.py (EconVars); rff detection in main_recipe.py global_consumption

pulse_year

Year of the emissions pulse; must exist as a coordinate in the FaIR files.

  • status: supported
  • stages: fair, discount
  • modes: ssp, rff
  • default: required
  • source: simple_storage.py:53; selection in Climate.anomalies

quantreg

Keep the batch dimension through reduction for quantile regression.

  • status: unsupported (specification restriction)
  • stages: reduce
  • modes: ssp
  • default: False
  • source: preprocessing.py:83; adding_up-only behavior in ce_from_chunk; risk_aversion assert preprocessing.py:91-92

Only affects the adding_up branch (risk_aversion asserts against it) and keeps batch in the reduced output, a layout consumed only by quantile-regression fits (see fit_type: quantreg).

quantreg_quantiles

Quantiles for quantile-regression fits; only meaningful under fit_type quantreg.

  • status: unsupported (specification restriction)
  • stages: fit
  • modes: ssp, rff
  • default: (0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95)
  • source: main_recipe.py:104,121-142

Consumed only by quantile-regression fits; carries the same restrictions as fit_type: quantreg (see that option).

quantreg_weights

Accepted and length-checked against quantreg_quantiles, then never used: downstream weights are recomputed by get_weights().

  • status: dead (library restriction)
  • stages: none
  • modes: ssp, rff
  • default: (0.075, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.075)
  • source: main_recipe.py:105,144-165; assert main_recipe.py:241-243; utils/utils.py get_weights

Only consumed by a length assertion; real weights come from utils.get_weights.

recipe

Menu recipe selecting the aggregation of damages over uncertainty.

  • status: supported
  • stages: reduce, fit, fair, discount
  • modes: ssp, rff
  • default: required
  • source: src/dscim/init.py:21-25 (MENU_OPTIONS)

Accepted values:

  • 'adding_up': supported
  • 'risk_aversion': supported
  • 'equity': supported

reduction

Which counterfactual to reduce.

  • status: supported
  • stages: reduce
  • modes: ssp
  • default: required
  • source: preprocessing.py (reduce_damages); accepted set in ce_from_chunk

Accepted values:

  • 'cc': supported
  • 'no_cc': supported

rho

Pure rate of time preference; consumed only by Ramsey/GWR discount factors, yet embedded in every output filename.

  • status: supported
  • stages: discount
  • modes: ssp, rff
  • default: required in config (dscim's own default: 0.00461878399)
  • source: main_recipe.py:85; filename decorators.py:33

save_files

Artifact names to write; membership gates saving.

  • status: supported
  • stages: output
  • modes: ssp, rff
  • default: ('damage_function_points', 'damage_function_coefficients', 'damage_function_fit', 'marginal_damages', 'discount_factors', 'uncollapsed_sccs', 'scc', 'uncollapsed_discount_factors', 'uncollapsed_marginal_damages', 'global_consumption', 'global_consumption_no_pulse')
  • source: main_recipe.py:109,183-196; gate decorators.py:29

Accepted values:

  • 'damage_function_points': supported
  • 'damage_function_coefficients': supported
  • 'damage_function_fit': supported
  • 'marginal_damages': supported
  • 'discount_factors': supported
  • 'uncollapsed_sccs': supported
  • 'scc': supported
  • 'uncollapsed_discount_factors': supported
  • 'uncollapsed_marginal_damages': supported
  • 'global_consumption': supported
  • 'global_consumption_no_pulse': supported
  • 'ce_fair_pulse': supported
  • 'ce_fair_no_pulse': supported
  • 'global_consumption_pulse': supported
  • 'stat_uncertainty_iqr': supported
  • 'full_uncertainty_iqr': supported

scc_quantiles

Stored on the recipe but read by nothing.

  • status: dead (library restriction)
  • stages: none
  • modes: ssp, rff
  • default: (0.05, 0.17, 0.25, 0.5, 0.75, 0.83, 0.95)
  • source: main_recipe.py:98,112-113

Assigned in init and never used anywhere in dscim.

scenario_dimensions

Dimensions to group damage-function fits by; discrete-SSP production always leaves this None (single fit).

  • status: supported
  • stages: fit
  • modes: ssp, rff
  • default: None
  • source: main_recipe.py:99; left None in every discrete-SSP production config

sector

Sector name; a free string keying the config sectors block. Names containing 'agriculture' drop the ACCESS1-0/rcp85 combination and names containing 'coastal' change reduce chunking.

  • status: supported
  • stages: reduce, fit
  • modes: ssp, rff
  • default: required
  • source: main_recipe.py:81; substring behavior main_recipe.py (agriculture filter) and preprocessing.py:100 (coastal)

subset_dict

Dimension subsets applied when cutting damages; keys absent from the data are silently ignored.

  • status: supported
  • stages: reduce, fit
  • modes: ssp, rff
  • default: None
  • source: main_recipe.py:93; simple_storage.py (cut)

weitzman_parameter

Bottom-coding thresholds; each value <= 1 is a share of no-climate-change global consumption, > 1 an absolute value. Values become string coordinates in outputs.

  • status: supported
  • stages: fair
  • modes: ssp, rff
  • default: (0.1, 0.5)
  • source: main_recipe.py:100,115-116; semantics main_recipe.py (weitzman_min)

zero

Zero out histclim in the no_cc reduction.

  • status: supported
  • stages: reduce
  • modes: ssp
  • default: False
  • source: preprocessing.py:81 (reduce_damages signature)