message_ix_models.model.buildings.config.Config
- class message_ix_models.model.buildings.config.Config(sturm_scenario: str, climate_scenario: str = 'BL', clone: bool = False, code_dir: ~pathlib.Path = <factory>, data_paths: DataPaths = <factory>, max_iterations: int = 0, method: ~message_ix_models.model.buildings.config.METHOD = METHOD.A, with_materials: bool = True, _output_path: ~pathlib.Path | None = None, run_access: bool = False, solve: dict[str, ~typing.Any] = <factory>, solve_config: ~message_ix_models.model.workflow.Config = <factory>, ssp: str = 'SSP2', sturm_method: str = 'Rscript')[source]
Bases:
ConfigHelperConfiguration options for
buildingscode.The code responds to values set on an instance of this class.
- Raises:
FileNotFoundError – if
code_dirpoints to a non-existent directory.
- __init__(sturm_scenario: str, climate_scenario: str = 'BL', clone: bool = False, code_dir: ~pathlib.Path = <factory>, data_paths: DataPaths = <factory>, max_iterations: int = 0, method: ~message_ix_models.model.buildings.config.METHOD = METHOD.A, with_materials: bool = True, _output_path: ~pathlib.Path | None = None, run_access: bool = False, solve: dict[str, ~typing.Any] = <factory>, solve_config: ~message_ix_models.model.workflow.Config = <factory>, ssp: str = 'SSP2', sturm_method: str = 'Rscript') None
Methods
__init__(sturm_scenario[, climate_scenario, ...])from_dict(data)Construct an instance from data with name manipulation.
hexdigest([length])Return a hex digest that is unique for distinct settings on the instance.
read_file(path[, key])Update configuration from file.
replace(**kwargs)Like
dataclasses.replace()with name manipulation.set_output_path(context)update([arg])Update attributes in-place.
Attributes
Climate scenario.
Trueif the base scenario should be cloned.Maximum number of iterations of the ACCESS–STURM–MESSAGE loop.
Code path to use in
buildings.build.main().Run the ACCESS model on every iteration.
Method for running STURM.
Trueif the MESSAGEix-Materials + MESSAGEix-Buildings combination is activeName or ID of STURM scenario to run.
Path to the MESSAGEix-Buildings code and data.
Paths to input data files.
Keyword arguments for
message_ix.Scenario.solve().Similar to solve, but using another config class.
- code_dir: Path
Path to the MESSAGEix-Buildings code and data.
If not set explicitly, this is populated using
_code_dir_factory().
- data_paths: DataPaths
Paths to input data files.
- hexdigest(length: int = -1) str
Return a hex digest that is unique for distinct settings on the instance.
Uses
dataclasses.asdict(). This means that if the names of fields defined by a subclass change—including if fields are added or removed—the result will differ. The returned value should be the same across versions of Python.- Returns:
If length is greater than 0, a string of this length; otherwise a 32-character string from
blake2s.hexdigest().- Return type:
- max_iterations: int = 0
Maximum number of iterations of the ACCESS–STURM–MESSAGE loop. Set to 1 for once-through mode.
- method: METHOD = 1
Code path to use in
buildings.build.main().
- read_file(path: Path, key: str = '') None
Update configuration from file.
- Parameters:
path – to a
.yamlfile containing a top-level mapping.key – if given, read data not from the top level of the file, but from a sub- mapping under the top-level key key.
optional – if given, read data not from the top level of the file, but from a sub- mapping under the top-level key key.
- replace(**kwargs)
Like
dataclasses.replace()with name manipulation.
- solve: dict[str, Any]
Keyword arguments for
message_ix.Scenario.solve(). Set model=”MESSAGE_MACRO” to solve scenarios using MESSAGE_MACRO.
- sturm_method: str = 'Rscript'
Method for running STURM. See
sturm.run().
- update(arg: Mapping | None = None, **kwargs) None
Update attributes in-place.
- Raises:
AttributeError – Any of the kwargs are not fields in the data class.