smif.data_layer.abstract_data_store module¶
A data store holds the bulk of model setup, intermediate and output data: - scenario variant and narrative data (including parameter defaults) - model interventions, initial conditions and state - conversion coefficients - results
Summary¶
Data:
DataStore |
A DataStore must implement each of the abstract methods defined in this interface |
Reference¶
-
class
smif.data_layer.abstract_data_store.
DataStore
[source]¶ Bases:
object
A DataStore must implement each of the abstract methods defined in this interface
-
read_scenario_variant_data
(key, spec, timestep=None, timesteps=None) → smif.data_layer.data_array.DataArray[source]¶ Read scenario variant data array.
If a single timestep is specified, the spec MAY include ‘timestep’ as a dimension, which should match the timestep specified.
If multiple timesteps are specified, the spec MUST include ‘timestep’ as a dimension, which should match the timesteps specified.
If timestep and timesteps are None, read all available timesteps. Whether or not the spec includes ‘timestep’ as a dimension, the returned DataArray will include a ‘timestep’ dimension with all available timesteps included.
Parameters: Returns: data_array
Return type:
-
scenario_variant_data_exists
(key) → bool[source]¶ Test if scenario variant data exists
Parameters: key (str) – Returns: Return type: bool
-
read_narrative_variant_data
(key, spec, timestep=None)[source]¶ Read data array
Parameters: Returns: data_array
Return type:
-
read_model_parameter_default
(key, spec)[source]¶ Read data array
Parameters: Returns: data_array
Return type:
-
write_model_parameter_default
(key, data_array)[source]¶ Read data array
Parameters: Returns: data_array
Return type:
-
read_interventions
(key)[source]¶ Read interventions data for key
Parameters: key (str) – Returns: A dict of intervention dictionaries containing intervention attributes keyed by intervention name Return type: dict[str, dict]
-
read_initial_conditions
(key) → List[Dict][source]¶ Read historical interventions for key
Parameters: key (str) – Returns: Return type: list[dict]
-
write_initial_conditions
(key, initial_conditions)[source]¶ Write historical interventions for key
Parameters:
-
read_state
(modelrun_name, timestep, decision_iteration=None) → List[Dict][source]¶ Read list of (name, build_year) for a given model_run, timestep, decision
Parameters: Returns: Return type:
-
write_state
(state: List[Dict], modelrun_name: str, timestep: int, decision_iteration=None)[source]¶ State is a list of decisions with name and build_year.
State is output from the DecisionManager
Parameters:
-
read_coefficients
(source_dim, destination_dim)[source]¶ Reads coefficients from the store
Coefficients are uniquely identified by their source/destination dimensions. This method and write_coefficients implement caching of conversion coefficients between a single pair of dimensions.
Parameters: Returns: Return type: Notes
To be called from
Adaptor
implementations.
-
write_coefficients
(source_dim, destination_dim, data)[source]¶ Writes coefficients to the store
Coefficients are uniquely identified by their source/destination dimensions. This method and read_coefficients implement caching of conversion coefficients between a single pair of dimensions.
Parameters: - source_dim (str) – dimension name
- destination_dim (str) – dimension name
- data (numpy.ndarray) –
Notes
To be called from
Adaptor
implementations.
-
read_results
(modelrun_name, model_name, output_spec, timestep=None, decision_iteration=None) → smif.data_layer.data_array.DataArray[source]¶ Return results of a model from a model_run for a given output at a timestep and decision iteration
Parameters: Returns: Return type:
-
write_results
(data, modelrun_name, model_name, timestep=None, decision_iteration=None)[source]¶ Write results of a model_name in model_run_name for a given output_name
Parameters:
-
delete_results
(model_run_name, model_name, output_name, timestep=None, decision_iteration=None)[source]¶ Delete results for a single timestep/iteration of a model output in a model run
Parameters:
-
available_results
(modelrun_name)[source]¶ List available results from a model run
Returns: Each tuple is (timestep, decision_iteration, model_name, output_name) Return type: list[tuple]
-
classmethod
filter_on_timesteps
(dataframe, spec, path, timestep=None, timesteps=None)[source]¶ Filter dataframe by timestep
The ‘timestep’ dimension is treated as follows:
If a single timestep is specified, the spec MAY include ‘timestep’ as a dimension. If so, the returned DataArray’s spec will match the timestep requested. Otherwise, the DataArray will not include timestep as a dimension.
If multiple timesteps are specified, the returned DataArray’s spec will include a ‘timestep’ dimension to match the timesteps requested.
If timestep and timesteps are None, and the stored data has a timestep column, read all available timesteps. The returned DataArray’s spec ‘timestep’ dimension will match the timesteps requested. If the stored data does not have a timestep column, ignore and pass through unchanged.
-