solutions icon indicating copy to clipboard operation
solutions copied to clipboard

Rationalize regional support

Open DentonGentry opened this issue 4 years ago • 0 comments

A goal for Project Drawdown going forward is to support modelling efforts at scales more focussed than the entire world. It is a goal to support solution models where, for example, the top level is the United States, or India, or similar and the major regions are the states and territories.

There are two places in the Python model implementation which know the set of regions supported:

model/dd.py:

REGIONS = [
    'World',
    'OECD90', 'Eastern Europe', 'Asia (Sans Japan)', 'Middle East and Africa',
    'Latin America',
    'China', 'India', 'EU', 'USA'  # special countries
]
MAIN_REGIONS = REGIONS[1:6]
SPECIAL_COUNTRIES = REGIONS[6:]
COUNTRY_REGION_MAP = {'China': 'Asia (Sans Japan)', 'India': 'Asia (Sans Japan)',
    'EU': 'OECD90', 'USA': 'OECD90'}

model/emissionsfactors.py:conv_ref_grid_CO2eq_per_KWh()

# Generation mixes from the AMPERE/MESSAGE WG3 BAU scenario, direct and
# indirect emission factors by fuel from the IPCC WG3 Annex III Table A.III.2
# https://www.ipcc.ch/pdf/assessment-report/ar5/wg3/ipcc_wg3_ar5_annex-iii.pdf
result.loc[:, "OECD90"] = 0.454068989
result.loc[:, "Eastern Europe"] = 0.724747956
result.loc[:, "Asia (Sans Japan)"] = 0.457658947
result.loc[:, "Middle East and Africa"] = 0.282243907
result.loc[:, "Latin America"] = 0.564394712
result.loc[:, "China"] = 0.535962403
result.loc[:, "India"] = 0.787832379
result.loc[:, "EU"] = 0.360629290
result.loc[:, "USA"] = 0.665071666

Implementing a different set of regions currently requires forking the codebase, or developing on a branch. There should instead be a way to accommodate multiple datasets and sets of regions in a single branch.

DentonGentry avatar Feb 08 '20 15:02 DentonGentry