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._dimensions.offset_time_dimension(d: Dataset, p: str, m: dict) Dataset[source]

Offset time dimension using listed frequency.

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._preprocessing.correct_var_names(ds: Dataset, split: str = '_', location: int = 0) Dataset[source]

Correct variable names in dataset.

Parameters:
  • ds (xarray.Dataset)

  • split (str)

  • location (int)

Returns:

xarray.Dataset

miranda.treatments._preprocessing.preprocessing_corrections(ds: Dataset, configuration: dict[str, Any]) Dataset[source]

Corrections function dispatcher to ensure minimal dataset validity on open.

Parameters:
  • ds (xarray.Dataset)

  • configuration (dict)

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.