miranda.treatments package¶
Treatments module.
- miranda.treatments.metadata_conversion(d: Dataset, p: str, m: dict) Dataset[source]¶
Update xarray dataset and data_vars with project-specific metadata fields.
- Parameters:
d (xarray.Dataset) – Dataset with metadata to be updated.
p (str) – Dataset project name.
m (dict) – Metadata definition dictionary for project and variable(s).
- Returns:
xarray.Dataset
Submodules¶
miranda.treatments._dimensions module¶
- miranda.treatments._dimensions.dimensions_compliance(ds: Dataset, project: str, metadata: dict) Dataset[source]¶
Rename dimensions to CF to their equivalents and reorder them if needed.
- Parameters:
ds (xarray.Dataset) – Dataset with dimensions to be updated.
project (str) – Dataset project name.
metadata (dict) – Metadata definition dictionary for project and variable(s).
- Returns:
xarray.Dataset
- miranda.treatments._dimensions.ensure_correct_time_frequency(d: Dataset, p: str, m: dict) Dataset[source]¶
Ensure that time frequency is consistent with expected frequency for project.
- miranda.treatments._dimensions.find_project_variable_codes(code: str, configuration: dict[str, Any]) str[source]¶
Find the variable code for a given variable name and project.
- Parameters:
code (str) – Variable name.
configuration (dict) – Configuration dictionary.
- Returns:
str
- miranda.treatments._dimensions.get_daily_snapshot(d: Dataset, p: str, m: dict) Dataset[source]¶
Get a single hour snapshot per day from a sub-daily dataset.
- Parameters:
ds (xarray.Dataset) – The dataset.
snapvalue (int or bool) – The timestep to extract when int or apply dropna when True
- Returns:
xarray.Dataset – The dataset with the snapshot hour applied.
miranda.treatments._preprocessing module¶
- miranda.treatments._preprocessing.correct_time_entries(ds: Dataset, split: str = '_', location: int = -1, field: str = 'time') Dataset[source]¶
Correct time entries in dataset.
- Parameters:
ds (xarray.Dataset)
split (str)
location (int)
field (str)
- Returns:
xarray.Dataset
miranda.treatments._variables module¶
- miranda.treatments._variables.cf_units_conversion(d: Dataset, m: dict) Dataset[source]¶
Perform pint-based units-conversion.
- miranda.treatments._variables.clip_values(d: Dataset, p: str, m: dict) Dataset[source]¶
Clip values to an appropriate range,.
- miranda.treatments._variables.correct_unit_names(d: Dataset, p: str, m: dict) Dataset[source]¶
Correct unit names.
- miranda.treatments._variables.invert_value_sign(d: Dataset, p: str, m: dict) Dataset[source]¶
Flip value of DataArray.
- miranda.treatments._variables.transform_values(d: Dataset, p: str, m: dict) Dataset[source]¶
Transform dataset values according to operation listed.
- miranda.treatments._variables.variable_conversion(d: Dataset, p: str | None, m: dict) Dataset[source]¶
Add variable metadata and remove nonstandard entries.
- Parameters:
d (xarray.Dataset) – Dataset with variable(s) to be updated.
p (str) – Dataset project name.
m (dict) – Metadata definition dictionary for project and variable(s).
- Returns:
xarray.Dataset
miranda.treatments.utils module¶
Utility functions for GIS operations.
- miranda.treatments.utils.load_json_data_mappings(project: str, configurations: dict[str, Path] | None = None) dict[str, Any][source]¶
Load JSON mappings for supported dataset conversions.
- Parameters:
project (str) – The project name.
configurations (dict, optional) – Configuration files for the project. If not provided, the function will try to find the configuration files in the configs folder.
- Returns:
dict[str, Any] – The metadata definition.