ADVANCE (project.advance)

Although free of charge, the ADVANCE data can not be downloaded automatically. This source requires that users first submit personal information to register before being able to retrieve the data. message_ix_models does not circumvent this requirement. Thus:

  • A copy of the data are stored in message_data.

  • message_ix_models contains only a ‘fuzzed’ version of the data (same structure, random values) for testing purposes.

class message_ix_models.project.advance.data.ADVANCE(*args, **kwargs)[source]

Provider of exogenous data from the ADVANCE project database.

Example

Load the metadata packaged with message_ix_models to identify usable source_kw:

>>> import sdmx
>>> from message_ix_models.util import package_data_path
>>>
>>> msg = sdmx.read_sdmx(package_data_path("sdmx", "ADVANCE.xml"))
>>> msg
<sdmx.StructureMessage>
<Header>
    prepared: '2023-11-03T21:51:46.052879'
    source: en: Generated by message_ix_models 2023.9.13.dev57+ga558c0b4.d20231011
    test: False
Codelist (5): MODEL SCENARIO REGION VARIABLE UNIT
>>> msg.codelist["MODEL].items
{'AIM/CGE': <Code AIM/CGE>,
 'DNE21+': <Code DNE21+>,
 'GCAM': <Code GCAM>,
 'GEM-E3': <Code GEM-E3>,
 'IMACLIM V1.1': <Code IMACLIM V1.1>,
 'IMAGE': <Code IMAGE>,
 'MESSAGE': <Code MESSAGE>,
 'POLES ADVANCE': <Code POLES ADVANCE>,
 'REMIND': <Code REMIND>,
 'TIAM-UCL': <Code TIAM-UCL>,
 'WITCH': <Code WITCH>,
 'iPETS V.1.5': <Code iPETS V.1.5>}
class Options(aggregate: bool = True, interpolate: bool = True, measure: str = '', name: str = '', dims: tuple[str, ...] = ('n', 'y'), model: str = '', scenario: str = '')[source]
aggregate: bool = True

If True, aggregate data from the ADVANCE native regions using n::groups (same behaviour as the base class). Otherwise, do not aggregate.

measure: str = ''

One of 3080 codes for the “VARIABLE” dimension.

model: str = ''

One of 12 codes including “MESSAGE”.

scenario: str = ''

One of 51 codes including “ADV3TRAr2_Base”.

get() :data:`~genno.core.quantity.AnyQuantity`[source]

Return the data.

Implementations in concrete classes may load data from file, retrieve from remote sources or local caches, generate data, or anything else.

The Quantity returned by this method must have dimensions corresponding to key. If the original/upstream/raw data has different dimensionality (fewer or more dimensions; different dimension IDs), a concrete class must transform these, make appropriate selections, etc.

where: list[str | 'Path'] = ['local']

where argument to path_fallback(), used to identify the directory containing LOCATION. Currently data is stored in message-static-data, cloned and linked from within the user’s ‘local’ data directory.