swiftemulator.backend.model_values module
Object describing the model values, i.e. this uniquely describes the set of scaling relations present.
- class swiftemulator.backend.model_values.ModelValues(model_values: Dict[Hashable, Dict[str, Optional[numpy.array]]])[source]
Bases:
objectSet of model values for a given scaling relation.
- Parameters
model_values – Model values for this given scaling relation. Must have the following structure:
{unique_identifier: {"independent": np.array, "dependent": np.array, "dependent_errors": Optional[ np.array]}}, with theunique_identifiersthe same as those that were specified within theModelParametersobject. The dependent errors are optional, but if present must be of the same length as the dependent variables. Both independent and dependent are required for every model value that is present. If a unique identifier is present in the model parameters, but not in the values, it is simply left out of the emulation step.Dict[Hashable – Model values for this given scaling relation. Must have the following structure:
{unique_identifier: {"independent": np.array, "dependent": np.array, "dependent_errors": Optional[ np.array]}}, with theunique_identifiersthe same as those that were specified within theModelParametersobject. The dependent errors are optional, but if present must be of the same length as the dependent variables. Both independent and dependent are required for every model value that is present. If a unique identifier is present in the model parameters, but not in the values, it is simply left out of the emulation step.Dict[str – Model values for this given scaling relation. Must have the following structure:
{unique_identifier: {"independent": np.array, "dependent": np.array, "dependent_errors": Optional[ np.array]}}, with theunique_identifiersthe same as those that were specified within theModelParametersobject. The dependent errors are optional, but if present must be of the same length as the dependent variables. Both independent and dependent are required for every model value that is present. If a unique identifier is present in the model parameters, but not in the values, it is simply left out of the emulation step.Optional[np.array]]] – Model values for this given scaling relation. Must have the following structure:
{unique_identifier: {"independent": np.array, "dependent": np.array, "dependent_errors": Optional[ np.array]}}, with theunique_identifiersthe same as those that were specified within theModelParametersobject. The dependent errors are optional, but if present must be of the same length as the dependent variables. Both independent and dependent are required for every model value that is present. If a unique identifier is present in the model parameters, but not in the values, it is simply left out of the emulation step.
- Raises
AttributeError – If the model values do not conform to the required specification.
- model_values: Dict[Hashable, Dict[str, Optional[numpy.array]]]
- property number_of_variables: int
Total number of variables present in all models.
- to_yaml(filename: pathlib.Path)[source]
Write the model values to a YAML file.
- Parameters
filename (Path) – The path to write the file to. This should be a Path object, but if it is a string it will be automatically converted.
- classmethod from_yaml(filename: pathlib.Path) swiftemulator.backend.model_values.ModelValues[source]
Generate an instance of
ModelValuesfrom a YAML file, written to disk using to_yaml.- Parameters
filename (Path) – The path to read the file from. This should be a Path object, but if it is a string it will be automatically converted.
- Returns
model_values – Instance of ModelValues restored from disk.
- Return type
- to_json(filename: pathlib.Path)[source]
Write the model values to a JSON file. Preferred to YAML as this is much faster for large datsets.
- Parameters
filename (Path) – The path to write the file to. This should be a Path object, but if it is a string it will be automatically converted.
- classmethod from_json(filename: pathlib.Path) swiftemulator.backend.model_values.ModelValues[source]
Generate an instance of
ModelValuesfrom a JSON file, written to disk usingto_json.- Parameters
filename (Path) – The path to read the file from. This should be a Path object, but if it is a string it will be automatically converted.
- Returns
model_values – Instance of
ModelValuesrestored from disk.- Return type