From 5c8bfa97e75f68ea0c25e067ef0a537beee51917 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 11 May 2026 09:00:57 +0000 Subject: [PATCH 01/32] move to single accessor --- src/mxalign/accessors/__init__.py | 8 +- src/mxalign/accessors/mx.py | 343 +++++++++++++++++++++++++++ src/mxalign/accessors/space.py | 205 ---------------- src/mxalign/accessors/time.py | 180 -------------- src/mxalign/align/space.py | 2 +- src/mxalign/align/time.py | 78 ++---- src/mxalign/interpolations/xarray.py | 4 +- src/mxalign/loaders/base.py | 4 +- src/mxalign/runner.py | 11 +- src/mxalign/utils/save.py | 4 +- 10 files changed, 384 insertions(+), 455 deletions(-) create mode 100644 src/mxalign/accessors/mx.py delete mode 100644 src/mxalign/accessors/space.py delete mode 100644 src/mxalign/accessors/time.py diff --git a/src/mxalign/accessors/__init__.py b/src/mxalign/accessors/__init__.py index a0833a3..30d84d3 100644 --- a/src/mxalign/accessors/__init__.py +++ b/src/mxalign/accessors/__init__.py @@ -1,7 +1,3 @@ -from . import space -from . import time +from . import mx -__all__ = [ - "space", - "time", -] +__all__ = ["mx"] diff --git a/src/mxalign/accessors/mx.py b/src/mxalign/accessors/mx.py new file mode 100644 index 0000000..3104870 --- /dev/null +++ b/src/mxalign/accessors/mx.py @@ -0,0 +1,343 @@ +import numpy as np +import pandas as pd +import xarray as xr +import cartopy.crs as ccrs + +from ..properties.properties import Space, Time +from ..properties.utils import properties_from_attrs, update_space_property, update_time_property +from ..utils.projections import create_cartopy_crs, BUILTIN + +COORD_TOLERANCE = 0.0001 + + +@xr.register_dataset_accessor("mx") +class MxAccessor: + def __init__(self, ds): + props = properties_from_attrs(ds) + self._space = props.space + self._time = props.time + self._ds = ds + + # --- Space predicates --- + + def is_grid(self): + return self._space == Space.GRID + + def is_point(self): + return self._space == Space.POINT + + # --- Time predicates --- + + def is_forecast(self): + return self._time == Time.FORECAST + + def is_observation(self): + return self._time == Time.OBSERVATION + + # --- Space operations --- + + def add_crs(self, crs): + if self.is_point(): + raise ValueError("Cannot add CRS to a point dataset") + if isinstance(crs, str): + try: + crs = BUILTIN[crs.lower()] + except KeyError: + raise ValueError(f"crs: {crs} not found in supported projections") + if isinstance(crs, dict): + crs = create_cartopy_crs( + projection=crs["projection"], + kws_projection=crs["kws_projection"], + kws_globe=crs.get("kws_globe", None), + ) + return self._ds.assign_attrs({"crs": crs}) + + def add_grid_mapping(self, grid_mapping: str | dict): + if self.is_point(): + raise ValueError("Cannot add grid mapping to a point dataset") + if isinstance(grid_mapping, str): + try: + grid_mapping = BUILTIN[grid_mapping.lower()]["kws_grid"] + except KeyError: + raise ValueError( + f"grid mapping: {grid_mapping} not found in supported mappings" + ) + return self._ds.assign_attrs({"grid_mapping": grid_mapping}) + + def add_xy(self, crs=None): + if crs is not None: + self._ds = self.add_crs(crs) + + crs = self._ds.attrs.get("crs", None) + if crs is None: + raise ValueError("No CRS provided and no CRS found in dataset attributes") + + if {"longitude", "latitude"}.issubset(self._ds.dims): + raise ValueError( + "Cannot add x/y coordinates to a GRID dataset that has longitude/latitude dimensions" + ) + elif {"xc", "yc"}.issubset(self._ds.coords): + return self._ds + else: + xyz = crs.transform_points( + x=self._ds["longitude"].values, + y=self._ds["latitude"].values, + src_crs=ccrs.PlateCarree(), + ) + + if self.is_grid(): + return self._ds.assign_coords( + xc=("grid_index", xyz[:, 0]), yc=("grid_index", xyz[:, 1]) + ) + elif self.is_point(): + return self._ds.assign_coords( + xc=("point_index", xyz[:, 0]), yc=("point_index", xyz[:, 1]) + ) + else: + raise ValueError("Dataset does not have expected spatial properties") + + def is_stacked(self): + if {"xc", "yc"}.issubset(self._ds.dims) or {"longitude", "latitude"}.issubset( + self._ds.dims + ): + return False + elif "grid_index" in self._ds.dims: + return True + else: + raise ValueError("Dataset does not have expected dimensions for GRID") + + def stack(self): + if self.is_point(): + raise ValueError("POINT datasets cannot be stacked") + if self.is_stacked(): + return self._ds + else: + if {"xc", "yc"}.issubset(self._ds.dims): + dims_to_stack = ["yc", "xc"] + elif {"lat", "lon"}.issubset(self._ds.dims): + dims_to_stack = ["lat", "lon"] + else: + raise ValueError("Could not find correct dimensions to stack") + return self._ds.stack({"grid_index": dims_to_stack}).reset_index("grid_index") + + def unstack(self, crs=None, **kwargs): + if self.is_point(): + raise ValueError("POINT datasets cannot be unstacked") + if not self.is_stacked(): + return self._ds + else: + if crs: + self._ds = self.add_crs(crs) + kws_mindex = dict.fromkeys(["nx", "ny", "lon_ll", "lat_ll", "dx", "dy"]) + for key in kws_mindex.keys(): + value = kwargs.get(key, None) + if value is None: + try: + value = self._ds.attrs["grid_mapping"][key] + except KeyError: + raise KeyError( + f"Did not find a value for {key} in dataset attributes, please provide it as an argument" + ) + kws_mindex[key] = value + + mindex = self._create_multiindex(**kws_mindex) + mcoords = xr.Coordinates.from_pandas_multiindex(mindex, "grid_index") + ds_mindex = self._ds.assign_coords(mcoords) + ds_mindex.attrs["grid_mapping"] = kws_mindex + return ds_mindex.unstack() + + def _create_multiindex(self, nx, ny, lon_ll, lat_ll, dx, dy, **kwargs): + from pandas import MultiIndex + + if self._ds.sizes["grid_index"] != nx * ny: + raise ValueError( + f"Size of grid_index ({self._ds.sizes['grid_index']}) does not match nx*ny ({nx * ny})" + ) + + crs = self._ds.attrs["crs"] + x_ll, y_ll = crs.transform_point(x=lon_ll, y=lat_ll, src_crs=ccrs.PlateCarree()) + + xc = x_ll + np.arange(nx) * dx + yc = y_ll + np.arange(ny) * dy + + return MultiIndex.from_product([yc, xc], names=["yc", "xc"]) + + # --- Time operations --- + + def add_valid_time(self): + if self.is_forecast(): + valid_time = ( + self._ds["reference_time"].values[:, np.newaxis] + + self._ds["lead_time"].values + ) + return self._ds.assign_coords( + {"valid_time": (["reference_time", "lead_time"], valid_time)} + ) + return self._ds + + # --- Alignment --- + + def align_time_with(self, ds2, lead_time="shortest"): + """Align this dataset's time axis to match ds2. + + Always uses "reference" semantics: self is reindexed to ds2's time + coordinates, with NaN-fill for times not present in self. ds2 is never + modified. For symmetric inner-join behaviour across multiple datasets use + the module-level ``align_time`` function instead. + + Parameters + ---------- + ds2 : xr.Dataset + The reference dataset to align to. + lead_time : str or timedelta or list + For Forecast→Observation: "shortest" | "longest" | specific value or list. + For Forecast→Forecast: "reference" | "intersection" | "union" (default "reference"). + Ignored for observation→* cases. + """ + if self.is_forecast() and ds2.mx.is_observation(): + return _align_forecast_to_observation(self._ds, ds2, lead_time=lead_time) + elif self.is_observation() and ds2.mx.is_forecast(): + return _align_observation_to_forecast(self._ds, ds2) + elif self.is_observation() and ds2.mx.is_observation(): + return _align_observation_to_observation(self._ds, ds2) + elif self.is_forecast() and ds2.mx.is_forecast(): + ff_lead_time = lead_time if lead_time in ("reference", "intersection", "union") else "reference" + return _align_forecast_to_forecast(self._ds, ds2, lead_time=ff_lead_time) + else: + raise ValueError("Cannot align datasets with unknown time properties") + + def align_space_with(self, ds2, **kwargs): + """Align this dataset's spatial grid to match ds2.""" + if self.is_grid(): + if ds2.mx.is_grid(): + return _align_grid_grid(self._ds, ds2, **kwargs) + elif ds2.mx.is_point(): + return _align_grid_point(self._ds, ds2, **kwargs) + elif self.is_point(): + if ds2.mx.is_point(): + raise NotImplementedError("Point-to-point alignment not implemented") + elif ds2.mx.is_grid(): + raise NotImplementedError("Point-to-grid alignment not implemented") + raise ValueError("Datasets do not have compatible spatial properties") + + +# --------------------------------------------------------------------------- +# Temporal alignment helpers +# --------------------------------------------------------------------------- + +def _add_valid_time(ds_fcst): + valid_time = ( + ds_fcst["reference_time"].values[:, np.newaxis] + + ds_fcst["lead_time"].values + ) + return ds_fcst.assign_coords( + {"valid_time": (["reference_time", "lead_time"], valid_time)} + ) + + +def _align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): + ds_with_vt = _add_valid_time(ds_fcst) + ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index("time") + + vt_vals = ds_stacked.valid_time.values + lt_vals = ds_stacked.lead_time.values + + if lead_time in ("shortest", "longest"): + df = pd.DataFrame({"vt": vt_vals, "lt": lt_vals}) + agg = "min" if lead_time == "shortest" else "max" + is_extreme = (df.groupby("vt")["lt"].transform(agg) == df["lt"]).values + # Among entries that match the extreme lead_time, keep first per valid_time + # (handles ties: same vt + same extreme lt appearing via different ref_times) + extreme_positions = np.where(is_extreme)[0] + _, first_in_group = np.unique(vt_vals[extreme_positions], return_index=True) + positions = extreme_positions[first_in_group] + elif isinstance(lead_time, (list, np.ndarray)): + lt_set = set(np.asarray(lead_time).tolist()) + seen_vt = set() + positions = [] + for i, (vt, lt) in enumerate(zip(vt_vals, lt_vals)): + if lt in lt_set and vt not in seen_vt: + positions.append(i) + seen_vt.add(vt) + positions = np.array(positions) + else: + # single lead_time value — filter directly + positions = np.where(lt_vals == lead_time)[0] + + ds_1d = ds_stacked.isel(time=positions) + ds_1d = ds_1d.swap_dims({"time": "valid_time"}) + ds_1d = ds_1d.drop_vars( + [v for v in ["reference_time", "lead_time", "time"] if v in ds_1d.coords] + ) + ds_1d = ds_1d.transpose("valid_time", ...) + + ds_1d = ds_1d.reindex(valid_time=ds_obs.valid_time) + return update_time_property(ds_1d, Time.OBSERVATION) + + +def _align_observation_to_forecast(ds_obs, ds_fcst): + ds_fcst_with_vt = _add_valid_time(ds_fcst) + valid_time_2d = ds_fcst_with_vt["valid_time"] # shape (reference_time, lead_time) + + # Reindex obs onto all unique fcst valid_times (NaN-fills fcst valid_times not in obs) + fcst_vt_flat = np.unique(valid_time_2d.values.ravel()) + obs_reindexed = ds_obs.reindex(valid_time=fcst_vt_flat) + + # sel with a 2D DataArray indexer broadcasts 1D obs → (reference_time, lead_time) + ds_out = obs_reindexed.sel(valid_time=valid_time_2d) + + return update_time_property(ds_out, Time.FORECAST) + + +def _align_observation_to_observation(ds1, ds2): + return ds1.reindex(valid_time=ds2.valid_time) + + +def _align_forecast_to_forecast(ds1, ds2, lead_time="reference"): + ds_out = ds1.reindex(reference_time=ds2.reference_time) + + # Align lead_time + if lead_time == "reference": + ds_out = ds_out.reindex(lead_time=ds2.lead_time) + elif lead_time == "intersection": + common_lt = np.intersect1d(ds_out.lead_time.values, ds2.lead_time.values) + ds_out = ds_out.sel(lead_time=common_lt) + elif lead_time == "union": + all_lt = np.union1d(ds_out.lead_time.values, ds2.lead_time.values) + ds_out = ds_out.reindex(lead_time=all_lt) + else: + raise ValueError(f"Unknown lead_time option for F→F alignment: {lead_time!r}") + + # Refresh valid_time + if "valid_time" in ds_out.coords: + ds_out = ds_out.drop_vars("valid_time") + return _add_valid_time(ds_out) + + +# --------------------------------------------------------------------------- +# Spatial alignment helpers +# --------------------------------------------------------------------------- + +def _align_grid_grid(ds1, ds2, **kwargs): + if np.array_equal( + ds1["longitude"].values, ds2["longitude"].values + ) and np.array_equal(ds1["latitude"].values, ds2["latitude"].values): + return ds1 + elif np.allclose( + ds1["longitude"].values, ds2["longitude"].values, atol=COORD_TOLERANCE + ) and np.allclose( + ds1["latitude"].values, ds2["latitude"].values, atol=COORD_TOLERANCE + ): + print( + f"Some lat-lon coordinates differ but within {COORD_TOLERANCE}°, treating as equal" + ) + return ds1 + else: + raise NotImplementedError("Regridding not implemented") + + +def _align_grid_point(ds1, ds2, **kwargs): + from ..interpolations.interpolate import interpolate + + method = kwargs.pop("method", "xarray") + return interpolate(ds1, ds2, method, **kwargs) diff --git a/src/mxalign/accessors/space.py b/src/mxalign/accessors/space.py deleted file mode 100644 index 4817f8b..0000000 --- a/src/mxalign/accessors/space.py +++ /dev/null @@ -1,205 +0,0 @@ -import xarray as xr -import cartopy.crs as ccrs -import numpy as np - -from ..properties.properties import Space -from ..properties.utils import properties_from_attrs - -from ..utils.projections import create_cartopy_crs, BUILTIN - -# Tolerance in degrees that the coordinates of two grids can differ while still being interpreted as the same grid. -# 0.0001 degrees ~ 10m at 45 deg latitude -COORD_TOLERANCE = 0.0001 - - -@xr.register_dataset_accessor("space") -class SpaceAccessor: - def __init__(self, ds): - self._space = properties_from_attrs(ds).space - self._ds = ds - - def is_grid(self): - return self._space == Space.GRID - - def is_point(self): - return self._space == Space.POINT - - def add_crs(self, crs): - if self.is_point(): - raise ValueError("Cannot add CRS to a point dataset") - if isinstance(crs, str): - try: - crs = BUILTIN[crs.lower()] - except KeyError: - raise ValueError("crs: {crs} not found in supported projections") - if isinstance(crs, dict): - crs = create_cartopy_crs( - projection=crs["projection"], - kws_projection=crs["kws_projection"], - kws_globe=crs.get("kws_globe", None), - ) - return self._ds.assign_attrs({"crs": crs}) - - def add_grid_mapping(self, grid_mapping: str | dict): - if self.is_point(): - raise ValueError("Cannot add grid mapping to a point dataset") - if isinstance(grid_mapping, str): - try: - grid_mapping = BUILTIN[grid_mapping.lower()]["kws_grid"] - except KeyError: - raise ValueError( - "grid mapping: {grid_mapping} not found in supported mappings" - ) - return self._ds.assign_attrs({"grid_mapping": grid_mapping}) - - def add_xy(self, crs=None): - if crs is not None: - self._ds = self.add_crs(crs) - - crs = self._ds.attrs.get("crs", None) - - if crs is None: - raise ValueError("No CRS provided and no CRS found in dataset attributes") - - if {"longitude", "latitude"}.issubset(self._ds.dims): - raise ValueError( - "Cannot add x/y coordinates to a GRID dataset that has longitude/latitude dimensions" - ) - elif {"xc", "yc"}.issubset(self._ds.coords): - return self._ds - else: - xyz = crs.transform_points( - x=self._ds["longitude"].values, - y=self._ds["latitude"].values, - src_crs=ccrs.PlateCarree(), - ) - - if self.is_grid(): - ds_out = self._ds.assign_coords( - xc=("grid_index", xyz[:, 0]), yc=("grid_index", xyz[:, 1]) - ) - elif self.is_point(): - ds_out = self._ds.assign_coords( - xc=("point_index", xyz[:, 0]), yc=("point_index", xyz[:, 1]) - ) - else: - raise ValueError("Dataset does not have expected spatial properties") - - return ds_out - - def is_stacked(self): - if {"xc", "yc"}.issubset(self._ds.dims) or {"longitude", "latitude"}.issubset( - self._ds.dims - ): - return False - elif "grid_index" in self._ds.dims: - return True - else: - raise ValueError("Dataset does not have expected dimensions for GRID") - - def stack(self): - if self.is_point(): - raise ValueError("POINT datasets cannot be stacked") - if self.is_stacked(): - return self._ds - else: - if {"xc", "yc"}.issubset(self._ds.dims): - dims_to_stack = ["yc", "xc"] - elif {"lat", "lon"}.issubset(self._ds.dims): - dims_to_stack = ["lat", "lon"] - else: - raise ValueError("Could not find correct dimensions to stack") - return self._ds.stack({"grid_index": dims_to_stack}).reset_index("grid_index") - - def unstack(self, crs=None, **kwargs): - if self.is_point(): - raise ValueError("POINT datasets cannot be unstacked") - if not self.is_stacked(): - return self._ds - else: - if crs: - self.add_crs(crs) - kws_mindex = dict.fromkeys(["nx", "ny", "lon_ll", "lat_ll", "dx", "dy"]) - for key in kws_mindex.keys(): - value = kwargs.get(key, None) - if value is None: - try: - value = self._ds.attrs["grid_mapping"][key] - except KeyError: - raise KeyError( - f"Did not find a value for {key} in the dataset attributes, please provide it as an argument" - ) - kws_mindex[key] = value - - mindex = self._create_multiindex(**kws_mindex) - mcoords = xr.Coordinates.from_pandas_multiindex(mindex, "grid_index") - ds_mindex = self._ds.assign_coords(mcoords) - ds_mindex.attrs["grid_mapping"] = kws_mindex - return ds_mindex.unstack() - - def _create_multiindex(self, nx, ny, lon_ll, lat_ll, dx, dy, **kwargs): - from pandas import MultiIndex - - if self._ds.sizes["grid_index"] != nx * ny: - raise ValueError( - f"Size of grid_index ({self._ds.sizes['grid_index']}) does not match product of nx and ny ({nx * ny})" - ) - - crs = self._ds.attrs["crs"] - x_ll, y_ll = crs.transform_point(x=lon_ll, y=lat_ll, src_crs=ccrs.PlateCarree()) - - xc = x_ll + np.arange(nx) * dx - yc = y_ll + np.arange(ny) * dy - - mindex = MultiIndex.from_product([yc, xc], names=["yc", "xc"]) - - return mindex - - def align_with(self, ds, **kwargs): - if self.is_grid(): - if ds.space.is_grid(): - return _align_grid_grid(self._ds, ds, **kwargs) - elif ds.space.is_point(): - return _align_grid_point(self._ds, ds, **kwargs) - elif self.is_point(): - if ds.space.is_point(): - return _align_point_point(self._ds, ds, **kwargs) - elif ds.space.is_grid(): - return _align_point_grid(self._ds, ds, **kwargs) - else: - raise ValueError("Datasets do not have compatible spatial properties") - - -def _align_grid_grid(ds1, ds2, **kwargs): - if np.array_equal( - ds1["longitude"].values, ds2["longitude"].values - ) and np.array_equal(ds1["latitude"].values, ds2["latitude"].values): - return ds1, ds2 - elif np.allclose( - ds1["longitude"].values, ds2["longitude"].values, atol=COORD_TOLERANCE - ) and np.allclose( - ds1["latitude"].values, ds2["latitude"].values, atol=COORD_TOLERANCE - ): - print( - f"Some lat-lon coordinates differ. But the difference is smaller than {COORD_TOLERANCE} degrees, considering both grids as equal" - ) - return ds1, ds2 - else: - raise NotImplementedError("Regridding not implemented") - - -def _align_grid_point(ds1, ds2, **kwargs): - from ..interpolations.interpolate import interpolate - - method = kwargs.pop("method", "xarray") - ds1 = interpolate(ds1, ds2, method, **kwargs) - - return ds1, ds2 - - -def _align_point_point(ds1, ds2, **kwargs): - raise NotImplementedError("Point selection not implemented") - - -def _align_point_grid(ds1, ds2, **kwargs): - raise NotImplementedError("Gridding of Point datanot implemented") diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py deleted file mode 100644 index 60f254e..0000000 --- a/src/mxalign/accessors/time.py +++ /dev/null @@ -1,180 +0,0 @@ -import xarray as xr -import numpy as np - -from ..properties.properties import Time -from ..properties.utils import properties_from_attrs, update_time_property - - -@xr.register_dataset_accessor("time") -class TimeAccessor: - def __init__(self, ds): - self._time = properties_from_attrs(ds).time - self._ds = ds - - def is_forecast(self): - return self._time == Time.FORECAST - - def is_observation(self): - return self._time == Time.OBSERVATION - - def add_valid_time(self): - if self.is_forecast(): - valid_time = ( - self._ds["reference_time"].values[:, np.newaxis] - + self._ds["lead_time"].values - ) - ds_out = self._ds.assign_coords( - {"valid_time": (["reference_time", "lead_time"], valid_time)} - ) - else: - ds_out = self._ds - return ds_out - - def align_with(self, ds, **kwargs): - if self.is_forecast(): - if ds.time.is_forecast(): - return _align_forecast_forecast(self._ds, ds, **kwargs) - elif ds.time.is_observation(): - return _align_forecast_observation(self._ds, ds, **kwargs) - elif self.is_observation(): - if ds.time.is_observation(): - return _align_observation_observation(self._ds, ds, **kwargs) - elif ds.time.is_forecast(): - return _align_observation_forecast(self._ds, ds, **kwargs) - else: - raise ValueError("Datasets do not have compatible temporal properties") - - -def _align_forecast_forecast(ds1, ds2, only_common=False): - # Align the reference times - common_reference_times = ds1.indexes["reference_time"].intersection( - ds2.indexes["reference_time"] - ) - ds1_aligned = ds1.sel(reference_time=common_reference_times) - ds2_aligned = ds2.sel(reference_time=common_reference_times) - - # Align the lead times - if only_common: - common_lead_times = ds1_aligned.indexes["lead_time"].intersection( - ds2_aligned.indexes["lead_time"] - ) - ds1_aligned = ds1_aligned.sel(lead_time=common_lead_times) - ds2_aligned = ds2_aligned.sel(lead_time=common_lead_times) - else: - non_aligning_dims = (set(ds1.dims) | set(ds2.dims)) - set(["lead_time"]) - ds1_aligned, ds2_aligned = xr.align( - ds1_aligned, ds2_aligned, join="outer", exclude=non_aligning_dims - ) - ds1_aligned = ds1_aligned.time.add_valid_time() - ds2_aligned = ds2_aligned.time.add_valid_time() - return ds1_aligned, ds2_aligned - - -def _align_forecast_observation( - ds_forecast, ds_observation, only_common=False, lead_time="start-min" -): - ds_forecast = ds_forecast.time.add_valid_time() - - # Check if reference_times are continuous - reference_time_diff = ds_forecast.reference_time.diff("reference_time").values - if not (reference_time_diff[0] == reference_time_diff).all(): - raise NotImplementedError( - "Aligning a forecast with non-continuous reference times with an observation is not implemented." - ) - if lead_time == "start-min": - min_diff = reference_time_diff[0] - ds_forecast_reduced = ds_forecast.where( - ds_forecast.lead_time < min_diff, drop=True - ) - elif lead_time == "start-max": - max_diff = ds_forecast.lead_time.max().values - reference_times = np.arange( - ds_forecast.reference_time.min().values, - ds_forecast.reference_time.max().values, - max_diff, - dtype="datetime64[ns]", - ) - ds_forecast_reduced = ds_forecast.sel(reference_time=reference_times) - else: - raise ValueError( - "Invalid value for lead_time. Expected 'start-min' or 'start-max'." - ) - - ds_forecast_stacked = ( - ds_forecast_reduced.stack(time=["reference_time", "lead_time"]) - .reset_index("time") - .swap_dims({"time": "valid_time"}) - .transpose("valid_time", ...) - ) - if only_common: - ds_forecast_aligned, ds_observation_aligned = xr.align( - ds_forecast_stacked, - ds_observation, - join="inner", - exclude=set(ds_forecast_stacked.coords) - | set(ds_observation.coords) - set(["valid_time"]), - ) - else: - ds_forecast_aligned, ds_observation_aligned = xr.align( - ds_forecast_stacked, - ds_observation, - join="outer", - exclude=set(ds_forecast_stacked.coords) - | set(ds_observation.coords) - set(["valid_time"]), - ) - ds_forecast_aligned = update_time_property(ds_forecast_aligned, Time.OBSERVATION) - return ds_forecast_aligned, ds_observation_aligned - - -def _align_observation_observation(ds1, ds2, only_common=False): - exclude = (set(ds1.dims) | set(ds2.dims)) - set(["valid_time"]) - if only_common: - ds1_aligned, ds2_aligned = xr.align(ds1, ds2, join="inner", exclude=exclude) - else: - ds1_aligned, ds2_aligned = xr.align(ds1, ds2, join="outer", exclude=exclude) - return ds1_aligned, ds2_aligned - - -def _align_observation_forecast(ds_observation, ds_forecast, only_common=False): - ds_forecast_cut = ds_forecast.time.add_valid_time() - if ( - ds_forecast_cut.reference_time.min().values - < ds_observation.valid_time.min().values - ): - ds_forecast_cut = ds_forecast_cut.sel( - reference_time=slice(ds_observation.valid_time.min().values, None) - ) - if ds_forecast_cut.valid_time.max().values > ds_observation.valid_time.max().values: - # The forecast time-step/lead times might not always align with the maximum observation time - valid_diff = ( - ds_forecast_cut["valid_time"] - (ds_observation["valid_time"].max()) - ).isel(lead_time=-1) - last_valid_index = ( - np.abs(valid_diff.where(valid_diff <= 0, drop=True)).argmin().values - ) - max_reference_time = ds_forecast_cut.isel(reference_time=last_valid_index)[ - "reference_time" - ].values - - # max_reference_time = ds_observation.valid_time.max().values - (ds_forecast_cut.lead_time.max().values - shift) - ds_forecast_cut = ds_forecast_cut.sel( - reference_time=slice(None, max_reference_time) - ) - - ds_observation_aligned = ds_observation.sel(valid_time=ds_forecast_cut.valid_time) - ds_observation_aligned = ds_observation_aligned.transpose( - "reference_time", "lead_time", ... - ) - ds_observation_aligned = update_time_property(ds_observation_aligned, Time.FORECAST) - if only_common: - return ds_observation_aligned, ds_forecast_cut - else: - ds_observation_aligned, ds_forecast_aligned = xr.align( - ds_observation_aligned, - ds_forecast.time.add_valid_time(), - join="outer", - exclude=(set(ds_observation_aligned.coords) | set(ds_forecast_cut.coords)) - - set(["reference_time", "lead_time"]), - ) - ds_observation_aligned["valid_time"] = ds_forecast_aligned["valid_time"] - return ds_observation_aligned, ds_forecast_aligned diff --git a/src/mxalign/align/space.py b/src/mxalign/align/space.py index b18586a..e4dab55 100644 --- a/src/mxalign/align/space.py +++ b/src/mxalign/align/space.py @@ -10,7 +10,7 @@ def align_space(datasets, reference, **kwargs): else: keys = None - datasets = [ds.space.align_with(reference, **kwargs)[0] for ds in datasets] + datasets = [ds.mx.align_space_with(reference, **kwargs) for ds in datasets] if keys is None: if len(datasets) == 1: diff --git a/src/mxalign/align/time.py b/src/mxalign/align/time.py index 4653e17..542c0a2 100644 --- a/src/mxalign/align/time.py +++ b/src/mxalign/align/time.py @@ -2,61 +2,35 @@ def align_time( - datasets: list[xr.Dataset] | dict[str, xr.Dataset], return_as: str = "forecast" + datasets: list[xr.Dataset] | dict[str, xr.Dataset], + reference: str | xr.Dataset, + **kwargs, ): - if isinstance(datasets, (xr.Dataset, xr.DataArray)): - datasets = [datasets] + """Align all datasets temporally to a reference dataset. + + Each non-reference dataset is aligned by calling ``ds.mx.align_time_with(ref_ds)``. + Extra kwargs are forwarded to ``align_time_with`` (e.g. ``lead_time``, ``join``). + + Parameters + ---------- + datasets : list or dict of xr.Dataset + reference : str or xr.Dataset + Key into *datasets* dict, or an xr.Dataset to align to. + """ if isinstance(datasets, dict): - keys = datasets.keys() - datasets = datasets.values() + keys = list(datasets.keys()) + ds_list = list(datasets.values()) + ref_ds = datasets[reference] if isinstance(reference, str) else reference else: + ds_list = [datasets] if isinstance(datasets, xr.Dataset) else list(datasets) keys = None + ref_ds = reference - if return_as != "forecast": - NotImplementedError( - "Currently only temporal alignment return forecast structure is supported." - ) - - # Get the first forecast to start building the valid times - valid_times_fcst = None - valid_times_obs = None - first_fcst = True - first_obs = True - for ds in datasets: - if ds.time.is_forecast(): - if first_fcst: - valid_times_fcst = ds.time.add_valid_time()["valid_time"].to_dataset( - name="valid_times" - ) - valid_times_fcst = valid_times_fcst.assign_attrs(ds.attrs) - first_fcst = False - else: - _ds = ds.time.add_valid_time()["valid_time"].to_dataset( - name="valid_times" - ) - _ds = _ds.assign_attrs(ds.attrs) - _, valid_times_fcst = _ds.time.align_with(valid_times_fcst) - elif ds.time.is_observation(): - if first_obs: - valid_times_obs = ds["valid_time"].to_dataset(name="valid_times") - valid_times_obs = valid_times_obs.assign_attrs(ds.attrs) - first_obs = False - else: - _ds = ds["valid_time"].to_dataset(name="valid_times") - _ds = _ds.assign_attrs(ds.attrs) - _, valid_times_obs = _ds.time.align_with(valid_times_obs) + aligned = [ + ds if ds is ref_ds else ds.mx.align_time_with(ref_ds, **kwargs) + for ds in ds_list + ] - if (valid_times_obs is None) and (valid_times_fcst is None): - raise ValueError("No observations or forecasts found") - elif valid_times_fcst is None: - valid_times = valid_times_obs - elif valid_times_obs is None: - valid_times = valid_times_fcst - else: - _, valid_times = valid_times_obs.time.align_with(valid_times_fcst) - - datasets = [ds.time.align_with(valid_times)[0] for ds in datasets] - if keys is None: - return datasets - else: - return {key: value for (key, value) in zip(keys, datasets)} + if keys is not None: + return dict(zip(keys, aligned)) + return aligned[0] if len(aligned) == 1 else aligned diff --git a/src/mxalign/interpolations/xarray.py b/src/mxalign/interpolations/xarray.py index e3a8d29..0e27ee0 100644 --- a/src/mxalign/interpolations/xarray.py +++ b/src/mxalign/interpolations/xarray.py @@ -17,9 +17,9 @@ def _interpolate(self, source_dataset): ds_out = self._interpolate_from_latlon(source_dataset) else: - if source_dataset.space.is_stacked(): + if source_dataset.mx.is_stacked(): try: - source_dataset = source_dataset.space.unstack() + source_dataset = source_dataset.mx.unstack() except ValueError: raise ValueError( "Cannot unstack dataset, dataset must be unstacked to use xarray interpolation" diff --git a/src/mxalign/loaders/base.py b/src/mxalign/loaders/base.py index 3ab8bd9..f6f779b 100644 --- a/src/mxalign/loaders/base.py +++ b/src/mxalign/loaders/base.py @@ -47,8 +47,8 @@ def _select_variables(self, ds): return ds[self.variables] def _add_grid_mapping(self, ds): - ds = ds.space.add_crs(self.grid_mapping) - ds = ds.space.add_grid_mapping(self.grid_mapping) + ds = ds.mx.add_crs(self.grid_mapping) + ds = ds.mx.add_grid_mapping(self.grid_mapping) return ds def _get_properties(self, ds): diff --git a/src/mxalign/runner.py b/src/mxalign/runner.py index aff4398..9fc5739 100644 --- a/src/mxalign/runner.py +++ b/src/mxalign/runner.py @@ -74,7 +74,7 @@ def align(self): # align in time if config_align_time: - self.align_time(config_align_time) + self.align_time(config_align_time, reference_name=reference) else: print("Skipping temporal alignment") @@ -148,8 +148,9 @@ def verify(self): method = config.pop("method") save_metrics(method, self.metrics, **config) - def align_time(self, config): - self.datasets = align_time(self.datasets, **config) + def align_time(self, config, reference_name=None): + config = {k: v for k, v in config.items() if k != "method"} + self.datasets = align_time(self.datasets, reference=reference_name, **config) def align_space(self, reference, config): ds_ref = self.datasets[reference] @@ -160,8 +161,8 @@ def align_space(self, reference, config): def get_spatial_alignment(ds, reference): - if reference.space.is_point() and ds.space.is_grid(): + if reference.mx.is_point() and ds.mx.is_grid(): return "interpolation" - if reference.space.is_grid() and ds.space.is_grid(): + if reference.mx.is_grid() and ds.mx.is_grid(): return "regrid" return "null" diff --git a/src/mxalign/utils/save.py b/src/mxalign/utils/save.py index 1698282..b56b19c 100644 --- a/src/mxalign/utils/save.py +++ b/src/mxalign/utils/save.py @@ -4,7 +4,7 @@ class DatasetPath: def __init__(self, name, ds): self.name = name - if ds.time.is_forecast(): + if ds.mx.is_forecast(): years = ds["reference_time"].groupby(ds["reference_time"].dt.year).count() self.year = int(years.isel(year=years.argmax())["year"].values) ds_month = ds.sel(reference_time=ds.reference_time.dt.year == self.year) @@ -23,7 +23,7 @@ def __init__(self, name, ds): .count() ) self.day = int(days.isel(day=days.argmax())["day"].values) - elif ds.time.is_observation(): + elif ds.mx.is_observation(): years = ds["valid_time"].groupby(ds["valid_time"].dt.year).count() self.year = int(years.isel(year=years.argmax())["year"].values) ds_month = ds.sel(valid_time=ds.valid_time.dt.year == self.year) From 02de5fa9a43694f57743b3a1be4f66bea5f9b163 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 11 May 2026 09:01:15 +0000 Subject: [PATCH 02/32] add time alignment tests --- tests/conftest.py | 49 ++++++++ tests/test_align_time.py | 248 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 297 insertions(+) create mode 100644 tests/conftest.py create mode 100644 tests/test_align_time.py diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..aee85f2 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,49 @@ +import numpy as np +import pytest +import xarray as xr + +import mxalign # registers ds.mx accessor # noqa: F401 + +# --------------------------------------------------------------------------- +# Shared time coordinates +# --------------------------------------------------------------------------- + +T0 = np.datetime64("2020-01-01T00:00", "ns") +H6 = np.timedelta64(6, "h") + +REFERENCE_TIMES = np.array([T0, T0 + H6, T0 + 2 * H6]) +LEAD_TIMES = np.array([np.timedelta64(h, "h") for h in [0, 6, 12, 18]]) + +# Forecast value convention: values[i, j] = float(i * 10 + j) +# Row 0 (ref=T0): 0, 1, 2, 3 +# Row 1 (ref=T0+6h): 10, 11, 12, 13 +# Row 2 (ref=T0+12h): 20, 21, 22, 23 +FORECAST_VALUES = np.array( + [[float(i * 10 + j) for j in range(4)] for i in range(3)] +) + +# Observation covers T0-6h … T0+24h (7 steps) +OBS_TIMES = np.array([T0 + i * H6 for i in range(-1, 5)]) # T0-6h … T0+24h +OBS_VALUES = np.arange(len(OBS_TIMES), dtype=float) * 10.0 # 0, 10, 20, 30, 40, 50 + + +def _props(time: str) -> dict: + return {"properties": {"space": "point", "time": time, "uncertainty": "deterministic"}} + + +@pytest.fixture +def ds_fcst() -> xr.Dataset: + return xr.Dataset( + {"temp": (["reference_time", "lead_time"], FORECAST_VALUES)}, + coords={"reference_time": REFERENCE_TIMES, "lead_time": LEAD_TIMES}, + attrs=_props("forecast"), + ) + + +@pytest.fixture +def ds_obs() -> xr.Dataset: + return xr.Dataset( + {"temp": ("valid_time", OBS_VALUES)}, + coords={"valid_time": OBS_TIMES}, + attrs=_props("observation"), + ) diff --git a/tests/test_align_time.py b/tests/test_align_time.py new file mode 100644 index 0000000..7cce99c --- /dev/null +++ b/tests/test_align_time.py @@ -0,0 +1,248 @@ +"""Tests for ds.mx.align_time_with() covering all four alignment cases. + +Fixtures (defined in conftest.py): + + ds_fcst — 3 reference_times × 4 lead_times, values[i,j] = float(i*10 + j) + ref: T0, T0+6h, T0+12h + lead: 0h, 6h, 12h, 18h + + ds_obs — 6 valid_times from T0-6h to T0+24h (step 6h) + values: 0, 10, 20, 30, 40, 50 (each 10 apart for easy reading) + +Valid-time coverage from ds_fcst: + T0 → only (ref=T0, lead=0h) = 0 + T0+6h → (T0,6h)=1 or (T0+6h,0h)=10 + T0+12h → (T0,12h)=2 or (T0+6h,6h)=11 or (T0+12h,0h)=20 + T0+18h → (T0,18h)=3 or (T0+6h,12h)=12 or (T0+12h,6h)=21 + T0+24h → (T0+6h,18h)=13 or (T0+12h,12h)=22 + T0+30h → only (T0+12h,18h)=23 [not in obs] +""" + +import numpy as np +import pytest +import xarray as xr + +T0 = np.datetime64("2020-01-01T00:00", "ns") +H6 = np.timedelta64(6, "h") + + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + +def _props(time: str) -> dict: + return {"properties": {"space": "point", "time": time, "uncertainty": "deterministic"}} + + +def obs(valid_times, values): + return xr.Dataset( + {"temp": ("valid_time", np.asarray(values, dtype=float))}, + coords={"valid_time": np.asarray(valid_times)}, + attrs=_props("observation"), + ) + + +def fcst(reference_times, lead_times, values): + return xr.Dataset( + {"temp": (["reference_time", "lead_time"], np.asarray(values, dtype=float))}, + coords={ + "reference_time": np.asarray(reference_times), + "lead_time": np.asarray(lead_times), + }, + attrs=_props("forecast"), + ) + + +# --------------------------------------------------------------------------- +# Case 1: Forecast → Observation +# --------------------------------------------------------------------------- + +class TestForecastToObservation: + def test_shortest_lead_time(self, ds_fcst, ds_obs): + result = ds_fcst.mx.align_time_with(ds_obs, lead_time="shortest") + + assert result.mx.is_observation() + assert list(result.valid_time.values) == list(ds_obs.valid_time.values) + + # T0-6h has no forecast coverage → NaN + assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) + + # For each covered time, shortest lead_time wins + assert result["temp"].sel(valid_time=T0).item() == 0.0 # only (T0, 0h) + assert result["temp"].sel(valid_time=T0 + H6).item() == 10.0 # (T0+6h, 0h) beats (T0, 6h) + assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 20.0 # (T0+12h, 0h) is shortest + assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 21.0 # (T0+12h, 6h) is shortest + assert result["temp"].sel(valid_time=T0 + 4 * H6).item() == 22.0 # (T0+12h, 12h) is shortest + + def test_longest_lead_time(self, ds_fcst, ds_obs): + result = ds_fcst.mx.align_time_with(ds_obs, lead_time="longest") + + assert result.mx.is_observation() + assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) + + assert result["temp"].sel(valid_time=T0).item() == 0.0 # only one entry + assert result["temp"].sel(valid_time=T0 + H6).item() == 1.0 # (T0, 6h) beats (T0+6h, 0h) + assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 2.0 # (T0, 12h) is longest + assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 3.0 # (T0, 18h) is longest + assert result["temp"].sel(valid_time=T0 + 4 * H6).item() == 13.0 # (T0+6h, 18h) beats (T0+12h, 12h) + + def test_specific_lead_time(self, ds_fcst, ds_obs): + lt = np.timedelta64(6, "h") + result = ds_fcst.mx.align_time_with(ds_obs, lead_time=lt) + + assert result.mx.is_observation() + # Only T0+6h, T0+12h, T0+18h are produced by lead_time=6h + assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) + assert np.isnan(result["temp"].sel(valid_time=T0).item()) + assert result["temp"].sel(valid_time=T0 + H6).item() == 1.0 # (T0, 6h) + assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 11.0 # (T0+6h, 6h) + assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 21.0 # (T0+12h, 6h) + assert np.isnan(result["temp"].sel(valid_time=T0 + 4 * H6).item()) + + def test_nan_filled_for_times_not_in_forecast(self, ds_fcst, ds_obs): + result = ds_fcst.mx.align_time_with(ds_obs, lead_time="shortest") + # T0-6h is in obs but never produced by any (ref_time, lead_time) pair + assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) + + def test_result_has_observation_property(self, ds_fcst, ds_obs): + result = ds_fcst.mx.align_time_with(ds_obs, lead_time="shortest") + assert result.mx.is_observation() + assert not result.mx.is_forecast() + + +# --------------------------------------------------------------------------- +# Case 2: Observation → Forecast +# --------------------------------------------------------------------------- + +class TestObservationToForecast: + def test_values_placed_at_correct_positions(self, ds_obs, ds_fcst): + result = ds_obs.mx.align_time_with(ds_fcst) + + assert result.mx.is_forecast() + assert set(result.dims) == {"reference_time", "lead_time"} + + # obs values: T0→10, T0+6h→20, T0+12h→30, T0+18h→40, T0+24h→50 + assert result["temp"].sel(reference_time=T0, lead_time=np.timedelta64(0, "h")).item() == 10.0 + assert result["temp"].sel(reference_time=T0, lead_time=np.timedelta64(6, "h")).item() == 20.0 + assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")).item() == 30.0 + assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(18, "h")).item() == 50.0 + + def test_nan_where_obs_missing(self, ds_obs, ds_fcst): + result = ds_obs.mx.align_time_with(ds_fcst) + + # T0+30h is not in obs; it appears at (T0+12h, lead=18h) + assert np.isnan( + result["temp"].sel( + reference_time=T0 + 2 * H6, + lead_time=np.timedelta64(18, "h"), + ).item() + ) + + def test_obs_value_repeated_for_shared_valid_times(self, ds_obs, ds_fcst): + result = ds_obs.mx.align_time_with(ds_fcst) + + # T0+12h appears at (T0,12h), (T0+6h,6h), (T0+12h,0h) — all should equal 30.0 + assert result["temp"].sel(reference_time=T0, lead_time=np.timedelta64(12, "h")).item() == 30.0 + assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")).item() == 30.0 + assert result["temp"].sel(reference_time=T0 + 2*H6, lead_time=np.timedelta64(0, "h")).item() == 30.0 + + def test_result_has_forecast_property(self, ds_obs, ds_fcst): + result = ds_obs.mx.align_time_with(ds_fcst) + assert result.mx.is_forecast() + assert not result.mx.is_observation() + + +# --------------------------------------------------------------------------- +# Case 3: Observation → Observation +# --------------------------------------------------------------------------- + +class TestObservationToObservation: + @pytest.fixture + def ds_obs1(self): + times = np.array([T0, T0 + H6, T0 + 2 * H6, T0 + 3 * H6]) + return obs(times, [0.0, 1.0, 2.0, 3.0]) + + @pytest.fixture + def ds_obs2(self): + times = np.array([T0 + H6, T0 + 2 * H6, T0 + 3 * H6, T0 + 4 * H6]) + return obs(times, [10.0, 20.0, 30.0, 40.0]) + + def test_reindexes_to_ds2_valid_times(self, ds_obs1, ds_obs2): + result = ds_obs1.mx.align_time_with(ds_obs2) + + assert list(result.valid_time.values) == list(ds_obs2.valid_time.values) + # T0+24h is in ds2 but not ds1 → NaN + assert np.isnan(result["temp"].sel(valid_time=T0 + 4 * H6).item()) + # Overlapping times retain ds1 values + assert result["temp"].sel(valid_time=T0 + H6).item() == 1.0 + assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 2.0 + assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 3.0 + + def test_ds1_only_times_are_dropped(self, ds_obs1, ds_obs2): + result = ds_obs1.mx.align_time_with(ds_obs2) + assert T0 not in result.valid_time.values # only in ds1 + + def test_result_stays_observation(self, ds_obs1, ds_obs2): + result = ds_obs1.mx.align_time_with(ds_obs2) + assert result.mx.is_observation() + + +# --------------------------------------------------------------------------- +# Case 4: Forecast → Forecast +# --------------------------------------------------------------------------- + +class TestForecastToForecast: + @pytest.fixture + def ds_fcst2(self): + ref = np.array([T0 + H6, T0 + 2 * H6, T0 + 3 * H6]) + lead = np.array([np.timedelta64(6, "h"), np.timedelta64(12, "h")]) + values = np.zeros((3, 2)) + return fcst(ref, lead, values) + + def test_reindexes_to_ds2_reference_times(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") + + np.testing.assert_array_equal(result.reference_time.values, ds_fcst2.reference_time.values) + + def test_lead_time_reference_drops_ds1_only_leads(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") + + np.testing.assert_array_equal(result.lead_time.values, ds_fcst2.lead_time.values) + assert np.timedelta64(0, "h") not in result.lead_time.values + assert np.timedelta64(18, "h") not in result.lead_time.values + + def test_nan_for_ref_times_not_in_ds1(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") + + # T0+18h is in ds_fcst2 but not ds_fcst → all NaN + assert np.isnan(result["temp"].sel(reference_time=T0 + 3 * H6).values).all() + + def test_values_preserved_for_common_ref_times(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") + + assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")).item() == 11.0 + assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(12, "h")).item() == 12.0 + assert result["temp"].sel(reference_time=T0 + 2*H6, lead_time=np.timedelta64(6, "h")).item() == 21.0 + assert result["temp"].sel(reference_time=T0 + 2*H6, lead_time=np.timedelta64(12, "h")).item() == 22.0 + + def test_lead_time_intersection_keeps_common_leads(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="intersection") + + expected_lead = np.array([np.timedelta64(6, "h"), np.timedelta64(12, "h")]) + np.testing.assert_array_equal(result.lead_time.values, expected_lead) + assert np.timedelta64(0, "h") not in result.lead_time.values + assert np.timedelta64(18, "h") not in result.lead_time.values + + def test_lead_time_union_keeps_all_leads(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="union") + + expected_lead = np.array([np.timedelta64(h, "h") for h in [0, 6, 12, 18]]) + np.testing.assert_array_equal(result.lead_time.values, expected_lead) + + def test_result_has_valid_time_coord(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") + assert "valid_time" in result.coords + + def test_result_stays_forecast(self, ds_fcst, ds_fcst2): + result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") + assert result.mx.is_forecast() From 7d1e4cef60534060fa42ba163a60afbab0abdccb Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 11 May 2026 09:02:09 +0000 Subject: [PATCH 03/32] update pyproject --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 1016cdd..6e76b7b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,7 +40,11 @@ jobqueue = [ requires = ["hatchling"] build-backend = "hatchling.build" +[tool.pytest.ini_options] +testpaths = ["tests"] + [dependency-groups] dev = [ "ipykernel>=7.2.0", + "pytest>=8.0", ] From 5ee9674604820b32ae94c5c3db1282f3c055d8fb Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 12 May 2026 08:57:22 +0000 Subject: [PATCH 04/32] remove loaders --- src/mxalign/loaders/__init__.py | 11 --- src/mxalign/loaders/anemoi_datasets.py | 92 --------------------- src/mxalign/loaders/anemoi_inference.py | 103 ------------------------ src/mxalign/loaders/base.py | 103 ------------------------ src/mxalign/loaders/harp_obstable.py | 81 ------------------- src/mxalign/loaders/loader.py | 8 -- src/mxalign/loaders/registry.py | 17 ---- 7 files changed, 415 deletions(-) delete mode 100644 src/mxalign/loaders/__init__.py delete mode 100644 src/mxalign/loaders/anemoi_datasets.py delete mode 100644 src/mxalign/loaders/anemoi_inference.py delete mode 100644 src/mxalign/loaders/base.py delete mode 100644 src/mxalign/loaders/harp_obstable.py delete mode 100644 src/mxalign/loaders/loader.py delete mode 100644 src/mxalign/loaders/registry.py diff --git a/src/mxalign/loaders/__init__.py b/src/mxalign/loaders/__init__.py deleted file mode 100644 index f04b80e..0000000 --- a/src/mxalign/loaders/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -from . import anemoi_datasets -from . import anemoi_inference -from . import harp_obstable -from . import base - -__all__ = [ - "anemoi_datasets", - "anemoi_inference", - "harp_obstable", - "base", -] diff --git a/src/mxalign/loaders/anemoi_datasets.py b/src/mxalign/loaders/anemoi_datasets.py deleted file mode 100644 index 3ccb646..0000000 --- a/src/mxalign/loaders/anemoi_datasets.py +++ /dev/null @@ -1,92 +0,0 @@ -import numpy as np -import xarray as xr - -from .registry import register_loader -from ..properties.properties import Space, Time, Uncertainty -from .base import BaseLoader - -DROP_VARS = [ - "latitude", - "longitude", - "time", - "cos_julian_day", - "cos_latitude", - "cos_local_time", - "cos_longitude", - "insolation", - "sin_julian_day", - "sin_latitude", - "sin_local_time", - "sin_longitude", -] - -COORDS = dict(longitude="longitudes", latitude="latitudes", valid_time="dates") - -DEFAULTS = {"chunks": "auto"} - - -@register_loader -class AnemoiDatasetsLoader(BaseLoader): - name = "anemoi-datasets" - - space = Space.GRID - time = Time.OBSERVATION - uncertainty = Uncertainty.DETERMINISTIC - - def _load(self): - - if isinstance(self.files, list): - dss = [xr.open_zarr(file, consolidated=False) for file in self.files] - dss_postproc = [_postprocess(ds) for ds in dss] - ds_postproc = xr.concat(dss_postproc, dim="valid_time") - else: - ds = xr.open_zarr(self.files, consolidated=False) - ds_postproc = _postprocess(ds) - - if self.variables: - ds_selected = ds_postproc.sel(variable=self.variables) - else: - ds_selected = ds_postproc - if len(ds_selected["variable"]) > 10: - print( - f"Transforming anemoi-datasets xr.DataArray with {len(ds_postproc['variable'])} variables to xr.Dataset, this might take some time. Consider selecting the relevant variables during loading" - ) - return ds_selected.to_dataset(dim="variable") - - -def _postprocess(dataset: xr.Dataset) -> xr.Dataset: - """Post-process the dataset to add coordinates and drop unused variables. - - Args: - dataset (xr.Dataset): The input dataset to be processed. - - Returns: - xr.Dataset: The processed dataset with assigned coordinates and - attributes. - """ - - # Add coordinates - coords = { - key: dataset[value].astype("datetime64[ns]").load() - if key == "valid_time" - else dataset[value].load() - for key, value in COORDS.items() - } - for key in ("latitude", "longitude"): - coords[key] = coords[key].astype(np.float32) - - coords["variable"] = dataset.attrs["variables"] - coords["valid_time"] = coords["valid_time"].astype("datetime64[ns]") - ds_coords = dataset.assign_coords(coords) - - # Drop unused variables and remove ensemble dimension - drop_vars = [var for var in DROP_VARS if var in coords["variable"]] - - ds_pruned = ( - ds_coords["data"] - .isel(ensemble=0) - .drop_sel(variable=drop_vars) - .swap_dims({"time": "valid_time"}) - .rename({"cell": "grid_index"}) - ) - return ds_pruned diff --git a/src/mxalign/loaders/anemoi_inference.py b/src/mxalign/loaders/anemoi_inference.py deleted file mode 100644 index 68f8799..0000000 --- a/src/mxalign/loaders/anemoi_inference.py +++ /dev/null @@ -1,103 +0,0 @@ -from pathlib import Path -import xarray as xr - -from .registry import register_loader -from ..properties.properties import Space, Time, Uncertainty -from .base import BaseLoader - -DEFAULTS_NETCDF = {"chunks": "auto", "engine": "h5netcdf", "parallel": True} - -DEFAULTS_ZARR = { - "chunks": "auto", - "storage_options": {"anon": True}, -} - - -@register_loader -class AnemoiInferenceLoader(BaseLoader): - name = "anemoi-inference" - - space = Space.GRID - time = Time.FORECAST - uncertainty = Uncertainty.DETERMINISTIC - - def _load(self): - - kwargs = self.kwargs.copy() - - if isinstance(self.files, str): - if Path(self.files).suffix.lower() == ".zarr": - files = self.files - - for k, v in DEFAULTS_ZARR.items(): - kwargs[k] = self.kwargs.get(k, v) - - loader = _open_zarr - else: - files = [self.files] - - for k, v in DEFAULTS_NETCDF.items(): - kwargs[k] = self.kwargs.get(k, v) - - loader = _open_mf_dataset - else: - files = self.files - if Path(files[0]).suffix.lower() == ".zarr": - for k, v in DEFAULTS_ZARR.items(): - kwargs[k] = self.kwargs.get(k, v) - kwargs["engine"] = "zarr" - - else: - for k, v in DEFAULTS_NETCDF.items(): - kwargs[k] = self.kwargs.get(k, v) - - loader = _open_mf_dataset - - ds = loader(files, **kwargs) - return ds - - -def _open_mf_dataset(files, **kwargs): - - times = xr.open_dataset(files[0], engine=kwargs["engine"], chunks=kwargs["chunks"])[ - "time" - ].values - lead_times = times - times[0] - - ds = xr.open_mfdataset(files, preprocess=_preprocess, **kwargs) - - ds_out = ( - ds.assign_coords({"lead_time": ("time", lead_times)}) - .rename_dims({"values": "grid_index"}) - .swap_dims({"time": "lead_time"}) - ) - - return ds_out - - -def _open_zarr(files, **kwargs): - - ds = xr.open_zarr(files, **kwargs) - times = ds["time"].values - lead_times = times - times[0] - - ds_out = _preprocess(ds) - - ds_out = ( - ds_out.assign_coords({"lead_time": ("time", lead_times)}) - .rename_dims({"values": "grid_index"}) - .swap_dims({"time": "lead_time"}) - ) - - return ds_out - - -def _preprocess(ds): - ds_out = ( - ds.set_coords(["longitude", "latitude"]) - .expand_dims("reference_time") - .assign_coords({"reference_time": ("reference_time", [ds["time"].values[0]])}) - .drop_vars("time") - ) - - return ds_out diff --git a/src/mxalign/loaders/base.py b/src/mxalign/loaders/base.py deleted file mode 100644 index 3ab8bd9..0000000 --- a/src/mxalign/loaders/base.py +++ /dev/null @@ -1,103 +0,0 @@ -from abc import ABC, abstractmethod - -from .registry import register_loader -from ..properties.properties import Properties, Space, Time, Uncertainty -from ..properties.validation import validate_dataset -from ..properties.utils import properties_to_attrs - - -class BaseLoader(ABC): - """Base class for all loaders.""" - - name: str = "base" - - space: Space | None = None - time: Time | None = None - uncertainty: Uncertainty | None = None - - def __init__(self, files, variables=None, grid_mapping=None, **kwargs): - self.files = files - self.variables = [variables] if isinstance(variables, str) else variables - self.grid_mapping = grid_mapping - self.kwargs = kwargs - - def load(self): - ds = self._load() - if self.variables: - ds = self._select_variables(ds) - - properties = self._get_properties(ds) - validate_dataset(ds, properties) - - ds.attrs["properties"] = properties_to_attrs(properties) - - if self.grid_mapping: - ds = self._add_grid_mapping(ds) - - # Make sure all the coordinates are loaded - for coord in ds.coords: - ds[coord] = ds[coord].compute() - - return ds - - @abstractmethod - def _load(self): ... - - def _select_variables(self, ds): - return ds[self.variables] - - def _add_grid_mapping(self, ds): - ds = ds.space.add_crs(self.grid_mapping) - ds = ds.space.add_grid_mapping(self.grid_mapping) - return ds - - def _get_properties(self, ds): - properties = Properties( - space=self.space, time=self.time, uncertainty=self.uncertainty - ) - return properties - - -@register_loader -class MxAlignLoader(BaseLoader): - name = "mxalign" - - space = None - time = None - uncertainty = None - - def _load(self): - import xarray as xr - - files = [self.files] if isinstance(self.files, str) else self.files - - ds = xr.open_mfdataset(files, chunks="auto", **self.kwargs) - if "code" in ds.dims: - ds = ds.rename_dims({"code": "point_index"}).transpose( - "valid_time", "point_index" - ) - return ds - - def _get_properties(self, ds): - if "reference_time" in ds.dims and "lead_time" in ds.dims: - time = Time.FORECAST - elif "valid_time" in ds.dims: - time = Time.OBSERVATION - else: - raise ValueError("Unknown temporal dimensions") - - if "grid_index" in ds.dims or "xc" in ds.dims or "latitude" in ds.dims: - space = Space.GRID - elif "point_index" in ds.dims: - space = Space.POINT - else: - raise ValueError("Unknown spatial dimensions") - - if "member" in ds.dims: - uncertainty = Uncertainty.ENSEMBLE - elif "quantile" in ds.dims: - uncertainty = Uncertainty.QUANTILE - else: - uncertainty = Uncertainty.DETERMINISTIC - - return Properties(space=space, time=time, uncertainty=uncertainty) diff --git a/src/mxalign/loaders/harp_obstable.py b/src/mxalign/loaders/harp_obstable.py deleted file mode 100644 index fc04533..0000000 --- a/src/mxalign/loaders/harp_obstable.py +++ /dev/null @@ -1,81 +0,0 @@ -import sqlite3 -import pandas as pd - -from .registry import register_loader -from ..properties.properties import Space, Time, Uncertainty -from .base import BaseLoader - -COORDS = { - "longitude": "lon", - "latitude": "lat", - "valid_time": "validdate", - "code": "SID", - "altitude": "elev", -} - - -@register_loader -class ObstableLoader(BaseLoader): - name = "harp-obstable" - - space = Space.POINT - time = Time.OBSERVATION - uncertainty = Uncertainty.DETERMINISTIC - - def _load(self): - if isinstance(self.files, list) and len(self.files > 1): - raise NotImplementedError( - "Reading from multiple SQLite-files not implemented" - ) - - conn = sqlite3.connect(self.files) - - if self.variables is None: - # Retrieve all variables - variables = [ - var - for var in pd.read_sql_query( - "SELECT * FROM SYNOP LIMIT 0", conn - ).columns - if var not in COORDS.values() - ] - print(variables) - else: - variables = self.variables - - # Read the SIDs - codes = pd.read_sql( - "SELECT SID as code, MIN(lat) AS latitude, MIN(lon) AS longitude, elev as altitude FROM SYNOP GROUP BY SID", - conn, - index_col="code", - ).to_xarray() - - print(codes) - # Read the data - query = f""" - SELECT SID as code, validdate as valid_time, {", ".join(variables)} - FROM SYNOP - """ - print(query) - df = pd.read_sql( - query, - conn, - index_col=["code", "valid_time"], - parse_dates={"valid_time": {"unit": "s"}}, - ) - print(df) - - ds = df.to_xarray() - lon_values = codes["longitude"].sel(code=ds["code"]).values - lat_values = codes["latitude"].sel(code=ds["code"]).values - alt_values = codes["altitude"].sel(code=ds["code"]).values - - ds = ds.assign_coords( - longitude=("code", lon_values), - latitude=("code", lat_values), - altitude=("code", alt_values), - ) - - return ds.rename_dims({"code": "point_index"}).transpose( - "valid_time", "point_index" - ) diff --git a/src/mxalign/loaders/loader.py b/src/mxalign/loaders/loader.py deleted file mode 100644 index 86c03e8..0000000 --- a/src/mxalign/loaders/loader.py +++ /dev/null @@ -1,8 +0,0 @@ -from .registry import get_loader - - -def load(name, files, variables=None, grid_mapping=None, **kwargs): - loader_cls = get_loader(name) - loader = loader_cls(files, variables, grid_mapping, **kwargs) - - return loader.load() diff --git a/src/mxalign/loaders/registry.py b/src/mxalign/loaders/registry.py deleted file mode 100644 index 505200e..0000000 --- a/src/mxalign/loaders/registry.py +++ /dev/null @@ -1,17 +0,0 @@ -_LOADERS = {} - - -def register_loader(cls): - _LOADERS[cls.name] = cls - return cls - - -def available_loaders(): - return list(_LOADERS.keys()) - - -def get_loader(name): - try: - return _LOADERS[name] - except KeyError: - raise ValueError(f"Unknown loader: {name}") From 0584f933dc33294c3a3162ea916e33a3c06fd757 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 12 May 2026 08:57:42 +0000 Subject: [PATCH 05/32] remove properties --- src/mxalign/properties/__init__.py | 0 src/mxalign/properties/properties.py | 25 ------------- src/mxalign/properties/specs.py | 54 ---------------------------- src/mxalign/properties/utils.py | 43 ---------------------- src/mxalign/properties/validation.py | 48 ------------------------- 5 files changed, 170 deletions(-) delete mode 100644 src/mxalign/properties/__init__.py delete mode 100644 src/mxalign/properties/properties.py delete mode 100644 src/mxalign/properties/specs.py delete mode 100644 src/mxalign/properties/utils.py delete mode 100644 src/mxalign/properties/validation.py diff --git a/src/mxalign/properties/__init__.py b/src/mxalign/properties/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/mxalign/properties/properties.py b/src/mxalign/properties/properties.py deleted file mode 100644 index a39be11..0000000 --- a/src/mxalign/properties/properties.py +++ /dev/null @@ -1,25 +0,0 @@ -from enum import Enum -from dataclasses import dataclass - - -class Space(str, Enum): - GRID = "grid" - POINT = "point" - - -class Time(str, Enum): - FORECAST = "forecast" - OBSERVATION = "observation" - - -class Uncertainty(str, Enum): - DETERMINISTIC = "deterministic" - ENSEMBLE = "ensemble" - QUANTILE = "quantile" - - -@dataclass(frozen=True) -class Properties: - space: Space - time: Time - uncertainty: Uncertainty = Uncertainty.DETERMINISTIC diff --git a/src/mxalign/properties/specs.py b/src/mxalign/properties/specs.py deleted file mode 100644 index b6d89bc..0000000 --- a/src/mxalign/properties/specs.py +++ /dev/null @@ -1,54 +0,0 @@ -from dataclasses import dataclass, field -from typing import Callable -from .properties import Space, Time, Uncertainty - - -@dataclass -class PropertySpec: - dim_variants: list[set[str]] = field(default_factory=list) - required_coords: set[str] = field(default_factory=set) - optional_dims: set[str] = field(default_factory=set) - optional_coords: set[str] = field(default_factory=set) - validators: list[Callable] = field(default_factory=list) - - -SPACE_SPECS = { - Space.GRID: PropertySpec( - dim_variants=[ - {"xc", "yc"}, - {"grid_index"}, - {"longitude", "latitude"}, - ], - required_coords={"longitude", "latitude"}, - optional_coords={"xc", "yc"}, - optional_dims={"member"}, - ), - Space.POINT: PropertySpec( - dim_variants=[ - {"point_index"}, - ], - required_coords={"longitude", "latitude"}, - optional_coords={"code", "elevation", "name", "country"}, - ), -} -TIME_SPECS = { - Time.FORECAST: PropertySpec( - dim_variants=[{"reference_time", "lead_time"}], - required_coords={"reference_time", "lead_time"}, - optional_coords={"valid_time"}, - ), - Time.OBSERVATION: PropertySpec( - dim_variants=[{"valid_time"}], - required_coords={"valid_time"}, - ), -} - -UNCERTAINTY_SPECS = { - Uncertainty.DETERMINISTIC: PropertySpec(), - Uncertainty.ENSEMBLE: PropertySpec( - dim_variants=[{"member"}], required_coords={"member"} - ), - Uncertainty.QUANTILE: PropertySpec( - dim_variants=[{"quantile"}], required_coords={"quantile"} - ), -} diff --git a/src/mxalign/properties/utils.py b/src/mxalign/properties/utils.py deleted file mode 100644 index 53555d3..0000000 --- a/src/mxalign/properties/utils.py +++ /dev/null @@ -1,43 +0,0 @@ -from .properties import Properties, Space, Time, Uncertainty -from .validation import validate_time_dataset, validate_space_dataset - - -def properties_to_attrs(prop: Properties) -> dict: - return { - "space": prop.space.value, - "time": prop.time.value, - "uncertainty": prop.uncertainty.value, - } - - -def properties_from_attrs(ds) -> Properties: - attrs = ds.attrs.get("properties", {}) - return Properties( - space=Space(attrs["space"]), - time=Time(attrs["time"]), - uncertainty=Uncertainty(attrs.get("uncertainty", Uncertainty.DETERMINISTIC)), - ) - - -def update_space_property(ds, prop: Space): - old_props = properties_from_attrs(ds) - new_props = Properties( - space=prop, - time=old_props.time, - uncertainty=old_props.uncertainty, - ) - validate_space_dataset(ds, new_props) - ds.attrs["properties"] = properties_to_attrs(new_props) - return ds - - -def update_time_property(ds, prop: Time): - old_props = properties_from_attrs(ds) - new_props = Properties( - space=old_props.space, - time=prop, - uncertainty=old_props.uncertainty, - ) - validate_time_dataset(ds, new_props) - ds.attrs["properties"] = properties_to_attrs(new_props) - return ds diff --git a/src/mxalign/properties/validation.py b/src/mxalign/properties/validation.py deleted file mode 100644 index dbc6d34..0000000 --- a/src/mxalign/properties/validation.py +++ /dev/null @@ -1,48 +0,0 @@ -from .specs import SPACE_SPECS, TIME_SPECS, UNCERTAINTY_SPECS - - -def _validate_dims(ds, variants): - if not variants: - return - - ds_dims = set(ds.dims) - - for variant in variants: - if variant.issubset(ds_dims): - return - - raise ValueError(f"Dataset dims {ds_dims} do not match allowed variants {variants}") - - -def _validate_coords(ds, required_coords, axis): - missing = required_coords - set(ds.coords) - if missing: - raise ValueError(f"{axis}: missing required coordinates {missing}") - - -# TIME -def validate_time_dataset(ds, properties): - time_spec = TIME_SPECS[properties.time.value] - _validate_dims(ds, time_spec.dim_variants) - _validate_coords(ds, time_spec.required_coords, "time") - - -# SPACE -def validate_space_dataset(ds, properties): - space_spec = SPACE_SPECS[properties.space.value] - _validate_dims(ds, space_spec.dim_variants) - _validate_coords(ds, space_spec.required_coords, "space") - validate_time_dataset(ds, properties) - - -# UNCERTAINTY -def validate_uncertainty_dataset(ds, properties): - uncertainty_spec = UNCERTAINTY_SPECS[properties.uncertainty.value] - _validate_dims(ds, uncertainty_spec.dim_variants) - _validate_coords(ds, uncertainty_spec.required_coords, "uncertainty") - - -def validate_dataset(ds, properties): - validate_time_dataset(ds, properties) - validate_space_dataset(ds, properties) - validate_uncertainty_dataset(ds, properties) From f1d86aa53800135253e9e5fdf6f382dde16c6a1b Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 12 May 2026 08:58:56 +0000 Subject: [PATCH 06/32] use mlwp-data-specs traits --- src/mxalign/utils/traits.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/mxalign/utils/traits.py diff --git a/src/mxalign/utils/traits.py b/src/mxalign/utils/traits.py new file mode 100644 index 0000000..cb6b1f9 --- /dev/null +++ b/src/mxalign/utils/traits.py @@ -0,0 +1,37 @@ +from mlwp_data_specs.api import ( + TIME_TRAIT_ATTR, + SPACE_TRAIT_ATTR, + UNCERTAINTY_TRAIT_ATTR, +) + +from mlwp_data_specs.specs.traits.spatial_coordinate import Space +from mlwp_data_specs.specs.traits.spatial_coordinate import ( + validate_dataset as validate_space_dataset, +) + +from mlwp_data_specs.specs.traits.time_coordinate import Time +from mlwp_data_specs.specs.traits.time_coordinate import ( + validate_dataset as validate_time_dataset, +) + +from mlwp_data_specs.specs.traits.uncertainty import ( + validate_dataset as validate_uncertainty_dataset, +) + + +def update_space_trait(ds, new_trait: Space): + validate_space_dataset(ds, trait=new_trait) + ds.attrs[SPACE_TRAIT_ATTR] = new_trait.value + return ds + + +def update_time_trait(ds, new_trait: Time): + validate_time_dataset(ds, trait=new_trait) + ds.attrs[TIME_TRAIT_ATTR] = new_trait.value + return ds + + +def update_uncertainty_trait(ds, new_trait: Time): + validate_uncertainty_dataset(ds, trait=new_trait) + ds.attrs[UNCERTAINTY_TRAIT_ATTR] = new_trait.value + return ds From f48a93c57c15968bf688266e4be64f0e30c1290e Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 12 May 2026 09:00:16 +0000 Subject: [PATCH 07/32] use traits accross package --- src/mxalign/__init__.py | 11 ----------- src/mxalign/accessors/space.py | 7 +++---- src/mxalign/accessors/time.py | 11 ++++++----- src/mxalign/interpolations/base.py | 6 +++--- src/mxalign/interpolations/delaunay.py | 16 ++++++++++++++-- src/mxalign/interpolations/xarray.py | 2 +- 6 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/mxalign/__init__.py b/src/mxalign/__init__.py index 5a76c8d..61576c3 100644 --- a/src/mxalign/__init__.py +++ b/src/mxalign/__init__.py @@ -1,6 +1,3 @@ -from .properties.properties import Properties, Time, Space, Uncertainty -from .loaders.loader import load -from .loaders.registry import available_loaders, register_loader from .transformations.transform import transform from .transformations.registry import available_transformations, register_transformation from .interpolations.interpolate import interpolate @@ -9,18 +6,10 @@ from .align.space import align_space from . import accessors -from . import loaders from . import transformations from . import interpolations __all__ = [ - "Properties", - "Time", - "Space", - "Uncertainty", - "load", - "available_loaders", - "register_loader", "transform", "available_transformations", "register_transformation", diff --git a/src/mxalign/accessors/space.py b/src/mxalign/accessors/space.py index 4817f8b..49ecac3 100644 --- a/src/mxalign/accessors/space.py +++ b/src/mxalign/accessors/space.py @@ -2,9 +2,8 @@ import cartopy.crs as ccrs import numpy as np -from ..properties.properties import Space -from ..properties.utils import properties_from_attrs - +from mlwp_data_specs.api import SPACE_TRAIT_ATTR +from mlwp_data_specs.specs.traits.spatial_coordinate import Space from ..utils.projections import create_cartopy_crs, BUILTIN # Tolerance in degrees that the coordinates of two grids can differ while still being interpreted as the same grid. @@ -15,7 +14,7 @@ @xr.register_dataset_accessor("space") class SpaceAccessor: def __init__(self, ds): - self._space = properties_from_attrs(ds).space + self._space = ds.attrs[SPACE_TRAIT_ATTR] self._ds = ds def is_grid(self): diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py index 60f254e..fb60504 100644 --- a/src/mxalign/accessors/time.py +++ b/src/mxalign/accessors/time.py @@ -1,14 +1,15 @@ import xarray as xr import numpy as np -from ..properties.properties import Time -from ..properties.utils import properties_from_attrs, update_time_property +from mlwp_data_specs.api import TIME_TRAIT_ATTR +from mlwp_data_specs.specs.traits.time_coordinate import Time +from ..utils.traits import update_time_trait @xr.register_dataset_accessor("time") class TimeAccessor: def __init__(self, ds): - self._time = properties_from_attrs(ds).time + self._time = ds.attrs[TIME_TRAIT_ATTR] self._ds = ds def is_forecast(self): @@ -122,7 +123,7 @@ def _align_forecast_observation( exclude=set(ds_forecast_stacked.coords) | set(ds_observation.coords) - set(["valid_time"]), ) - ds_forecast_aligned = update_time_property(ds_forecast_aligned, Time.OBSERVATION) + ds_forecast_aligned = update_time_trait(ds_forecast_aligned, Time.OBSERVATION) return ds_forecast_aligned, ds_observation_aligned @@ -165,7 +166,7 @@ def _align_observation_forecast(ds_observation, ds_forecast, only_common=False): ds_observation_aligned = ds_observation_aligned.transpose( "reference_time", "lead_time", ... ) - ds_observation_aligned = update_time_property(ds_observation_aligned, Time.FORECAST) + ds_observation_aligned = update_time_trait(ds_observation_aligned, Time.FORECAST) if only_common: return ds_observation_aligned, ds_forecast_cut else: diff --git a/src/mxalign/interpolations/base.py b/src/mxalign/interpolations/base.py index bcba616..5134a44 100644 --- a/src/mxalign/interpolations/base.py +++ b/src/mxalign/interpolations/base.py @@ -1,6 +1,6 @@ import xarray as xr -from ..properties.properties import Space -from ..properties.utils import update_space_property +from mlwp_data_specs.specs.traits.spatial_coordinate import Space +from ..utils.traits import update_space_trait class BaseInterpolator: @@ -21,7 +21,7 @@ def interpolate( self, source_dataset: xr.Dataset | xr.DataArray ) -> xr.Dataset | xr.DataArray: ds_out = self._interpolate(source_dataset) - return update_space_property(ds_out, self.target_space) + return update_space_trait(ds_out, self.target_space) def _interpolate( self, source_dataset: xr.Dataset | xr.DataArray diff --git a/src/mxalign/interpolations/delaunay.py b/src/mxalign/interpolations/delaunay.py index 164c255..d44a912 100644 --- a/src/mxalign/interpolations/delaunay.py +++ b/src/mxalign/interpolations/delaunay.py @@ -9,7 +9,13 @@ from .base import BaseInterpolator from .registry import register_interpolator -from ..properties.properties import Space + +from mlwp_data_specs.specs.traits.spatial_coordinate import Space +from mlwp_data_specs.api import ( + TIME_TRAIT_ATTR, + SPACE_TRAIT_ATTR, + UNCERTAINTY_TRAIT_ATTR, +) @register_interpolator @@ -81,7 +87,13 @@ def _interpolate(self, source_dataset): latitude=self.target_dataset["latitude"], longitude=self.target_dataset["longitude"], ) - ds_out.attrs["properties"] = source_dataset.attrs["properties"] + + ds_out.attrs.update( + { + k: source_dataset.attrs[k] + for k in [TIME_TRAIT_ATTR, SPACE_TRAIT_ATTR, UNCERTAINTY_TRAIT_ATTR] + } + ) return ds_out diff --git a/src/mxalign/interpolations/xarray.py b/src/mxalign/interpolations/xarray.py index e3a8d29..8fd220d 100644 --- a/src/mxalign/interpolations/xarray.py +++ b/src/mxalign/interpolations/xarray.py @@ -1,6 +1,6 @@ from .base import BaseInterpolator from .registry import register_interpolator -from ..properties.properties import Space +from mlwp_data_specs.specs.traits.spatial_coordinate import Space import xarray as xr From 14283cdfc973bbb8cdb9ea9c4cdbffb0bea63084 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 12 May 2026 09:31:41 +0000 Subject: [PATCH 08/32] update readme --- README.md | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 69fa758..9f762c1 100644 --- a/README.md +++ b/README.md @@ -4,45 +4,42 @@ ## What is this? -`mxalign` is an `xarray`-based package designed for the alignment and verification of meteorological datasets. It standardizes operations across datasets by attaching properties along three main axes: -- **Space:** Grid or point-based data -- **Time:** Forecasts, observations, or climatology -- **Uncertainty:** Deterministic, ensemble, or quantile forecasts +`mxalign` is an `xarray`-based package for aligning meteorological datasets. It operates on datasets that carry **traits** — metadata attributes that describe the nature of a dataset along three axes: -Currently, `mxalign` also acts as a full execution engine. It can load datasets (e.g., Anemoi inference outputs, observation datasets), apply transformations, align datasets in both space and time to match a reference, safely broadcast NaNs, and execute verification metrics on scaled Dask clusters (Local or Slurm). +`mxalign` is an `xarray`-based package for aligning meteorological datasets. It operates on datasets that carry **traits** — metadata attributes that describe the nature of a dataset along three axes: +- **Space:** `grid` or `point` +- **Time:** `forecast`, `observation`, or `climatology` +- **Uncertainty:** `deterministic`, `ensemble`, or `quantile` -> ⚠️ **Roadmap & Future Architecture Changes (planned for v0.2.0):** -> Currently, `mxalign` handles both alignment and the execution of the verification tooling pipeline, including loading and validation. In the upcoming `v0.2.0` release, this architecture will be refactored: -> - **Loading** will be split out into [`mlwp-data-loaders`](https://github.com/mlwp-tools/mlwp-data-loaders). -> - **Validation** of loaded `xr.Dataset`s will be moved to [`mlwp-data-specs`](https://github.com/mlwp-tools/mlwp-data-specs) (which will contain the requirements for each of the dataset traits and the validation logic). -> - **Execution** of the full verification pipeline (loading, transformations, alignment, and verification) from configuration files may be moved to a separate package in future releases. -> - **Tests** will be added to `mxalign` (building on test datasets already integrated into `mlwp-data-loaders`) that ensure that all alignment operations work correctly (Testing notebook execution inside `mxalign` is explicitly excluded from the current roadmap). +These traits are defined and validated by [`mlwp-data-specs`](https://github.com/mlwp-tools/mlwp-data-specs) and attached to datasets by [`mlwp-data-loaders`](https://github.com/mlwp-tools/mlwp-data-loaders). `mxalign` reads them to infer how datasets should be aligned, without needing to know how they were loaded. + +`mxalign` currently supports alignment in **space** and **time**. Alignment along the **uncertainty** axis (e.g. ensemble to deterministic) is planned for a future release. ## Python API -`mxalign` provides building blocks for manual alignment, transformations, and interpolations of `xarray` datasets. This is ideal for interactive use in Jupyter notebooks or custom Python scripts. +`mxalign` provides building blocks for spatial and temporal alignment of `xarray` datasets. This is ideal for interactive use in Jupyter notebooks or custom Python scripts. ```python -import xarray as xr -from mxalign import load, align_space, align_time, transform +import mlwp_data_loaders as dl +import mxalign as mx -# Load datasets (using registered loaders) -ds_obs = load(name="observations_loader", files=["obs.nc"]) -ds_fcst = load(name="anemoi_inference", files=["forecast.nc"]) +# Load datasets — traits are attached by the loader +ds_obs = dl.load("observations_loader", files=["obs.nc"]) +ds_fcst = dl.load("anemoi_inference", files=["forecast.nc"]) # Align the forecast spatially to match the observation reference -ds_fcst_aligned_space = align_space(ds_fcst, reference=ds_obs, method="interpolation") +ds_fcst_aligned = mx.align_space(ds_fcst, reference=ds_obs, method="interpolation") # Align datasets temporally -datasets = {"obs": ds_obs, "fcst": ds_fcst_aligned_space} -aligned_datasets = align_time(datasets, method="intersection") +datasets = {"obs": ds_obs, "fcst": ds_fcst_aligned} +aligned_datasets = mx.align_time(datasets, method="intersection") ``` For a more comprehensive interactive example, check out the [introductory notebook](./examples/introduction.ipynb). ## Executing via a Configuration -For full verification pipeline execution, `mxalign` uses a YAML configuration file. This allows you to declaratively define how datasets are loaded, transformed, aligned, and verified. +`mxalign` can drive a full verification pipeline from a YAML configuration file, orchestrating dataset loading (via `mlwp-data-loaders`), transformations, alignment, and verification. ### Configuration Contents From b48a266ee17a40cbc55cfbbfa844082159d34c5d Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter <81358394+mpvginde@users.noreply.github.com> Date: Mon, 18 May 2026 10:25:21 +0200 Subject: [PATCH 09/32] Add IFS-forecast loader (#20) * port ifs-forecast loader * updated ifs forecast loader to also handle ensemble data (#19) --------- Co-authored-by: nielscarlier <136123206+nielscarlier@users.noreply.github.com> Co-authored-by: Stagiair user Niels Carlier --- src/mxalign/loaders/__init__.py | 13 ++++++ src/mxalign/loaders/ifs_forecast.py | 67 +++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 src/mxalign/loaders/__init__.py create mode 100644 src/mxalign/loaders/ifs_forecast.py diff --git a/src/mxalign/loaders/__init__.py b/src/mxalign/loaders/__init__.py new file mode 100644 index 0000000..329bfa3 --- /dev/null +++ b/src/mxalign/loaders/__init__.py @@ -0,0 +1,13 @@ +from . import anemoi_datasets +from . import anemoi_inference +from . import harp_obstable +from . import ifs_forecast +from . import base + +__all__ = [ + "anemoi_datasets", + "anemoi_inference", + "ifs_forecast", + "harp_obstable", + "base", +] diff --git a/src/mxalign/loaders/ifs_forecast.py b/src/mxalign/loaders/ifs_forecast.py new file mode 100644 index 0000000..db02942 --- /dev/null +++ b/src/mxalign/loaders/ifs_forecast.py @@ -0,0 +1,67 @@ +import xarray as xr + +from .registry import register_loader +from ..properties.properties import Space, Time, Uncertainty +from .base import BaseLoader + + +@register_loader +class IFSForecastLoader(BaseLoader): + try: + import cfgrib + except Exception: + raise ImportError("Please install the cfgrib package to load IFS-Forecasts") + + name = "ifs-forecast" + + space = Space.GRID + time = Time.FORECAST + uncertainty = None + + def _load(self): + kwargs = self.kwargs.copy() + files = [self.files] if isinstance(self.files, str) else self.files + + ds = xr.open_mfdataset( + files, + combine="nested", + concat_dim="time", + chunks={ + "time": 1, + "step": -1, + "values": -1, + }, + **kwargs, + ) + + ds.coords["longitude"] = (ds.coords["longitude"] + 180.0) % 360.0 - 180.0 + + rename_dims = { + "time": "reference_time", + "step": "lead_time", + "values": "grid_index", + } + rename_vars = { + "time": "reference_time", + "step": "lead_time", + } + + if "number" in ds.dims and "number" in ds.coords: + rename_dims["number"] = "member" + rename_vars["number"] = "member" + else: + ds = ds.drop_vars("number") + + ds = ds.rename_dims({k: v for k, v in rename_dims.items() if k in ds.dims}) + ds = ds.rename_vars({k: v for k, v in rename_vars.items() if k in ds.variables}) + + if "surface" in ds.variables: + ds = ds.drop_vars("surface") + + if "member" in ds.dims: + self.uncertainty = Uncertainty.ENSEMBLE + elif "quantile" in ds.dims: + self.uncertainty = Uncertainty.QUANTILE + else: + self.uncertainty = Uncertainty.DETERMINISTIC + return ds.transpose("reference_time", "lead_time", ...) From 199a6a0d55f646aa85c206a2f1de6c403ac9bc80 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 18 May 2026 08:55:38 +0000 Subject: [PATCH 10/32] remove files reintroduces by merge --- src/mxalign/accessors/space.py | 204 --------------------------------- src/mxalign/accessors/time.py | 181 ----------------------------- 2 files changed, 385 deletions(-) delete mode 100644 src/mxalign/accessors/space.py delete mode 100644 src/mxalign/accessors/time.py diff --git a/src/mxalign/accessors/space.py b/src/mxalign/accessors/space.py deleted file mode 100644 index 49ecac3..0000000 --- a/src/mxalign/accessors/space.py +++ /dev/null @@ -1,204 +0,0 @@ -import xarray as xr -import cartopy.crs as ccrs -import numpy as np - -from mlwp_data_specs.api import SPACE_TRAIT_ATTR -from mlwp_data_specs.specs.traits.spatial_coordinate import Space -from ..utils.projections import create_cartopy_crs, BUILTIN - -# Tolerance in degrees that the coordinates of two grids can differ while still being interpreted as the same grid. -# 0.0001 degrees ~ 10m at 45 deg latitude -COORD_TOLERANCE = 0.0001 - - -@xr.register_dataset_accessor("space") -class SpaceAccessor: - def __init__(self, ds): - self._space = ds.attrs[SPACE_TRAIT_ATTR] - self._ds = ds - - def is_grid(self): - return self._space == Space.GRID - - def is_point(self): - return self._space == Space.POINT - - def add_crs(self, crs): - if self.is_point(): - raise ValueError("Cannot add CRS to a point dataset") - if isinstance(crs, str): - try: - crs = BUILTIN[crs.lower()] - except KeyError: - raise ValueError("crs: {crs} not found in supported projections") - if isinstance(crs, dict): - crs = create_cartopy_crs( - projection=crs["projection"], - kws_projection=crs["kws_projection"], - kws_globe=crs.get("kws_globe", None), - ) - return self._ds.assign_attrs({"crs": crs}) - - def add_grid_mapping(self, grid_mapping: str | dict): - if self.is_point(): - raise ValueError("Cannot add grid mapping to a point dataset") - if isinstance(grid_mapping, str): - try: - grid_mapping = BUILTIN[grid_mapping.lower()]["kws_grid"] - except KeyError: - raise ValueError( - "grid mapping: {grid_mapping} not found in supported mappings" - ) - return self._ds.assign_attrs({"grid_mapping": grid_mapping}) - - def add_xy(self, crs=None): - if crs is not None: - self._ds = self.add_crs(crs) - - crs = self._ds.attrs.get("crs", None) - - if crs is None: - raise ValueError("No CRS provided and no CRS found in dataset attributes") - - if {"longitude", "latitude"}.issubset(self._ds.dims): - raise ValueError( - "Cannot add x/y coordinates to a GRID dataset that has longitude/latitude dimensions" - ) - elif {"xc", "yc"}.issubset(self._ds.coords): - return self._ds - else: - xyz = crs.transform_points( - x=self._ds["longitude"].values, - y=self._ds["latitude"].values, - src_crs=ccrs.PlateCarree(), - ) - - if self.is_grid(): - ds_out = self._ds.assign_coords( - xc=("grid_index", xyz[:, 0]), yc=("grid_index", xyz[:, 1]) - ) - elif self.is_point(): - ds_out = self._ds.assign_coords( - xc=("point_index", xyz[:, 0]), yc=("point_index", xyz[:, 1]) - ) - else: - raise ValueError("Dataset does not have expected spatial properties") - - return ds_out - - def is_stacked(self): - if {"xc", "yc"}.issubset(self._ds.dims) or {"longitude", "latitude"}.issubset( - self._ds.dims - ): - return False - elif "grid_index" in self._ds.dims: - return True - else: - raise ValueError("Dataset does not have expected dimensions for GRID") - - def stack(self): - if self.is_point(): - raise ValueError("POINT datasets cannot be stacked") - if self.is_stacked(): - return self._ds - else: - if {"xc", "yc"}.issubset(self._ds.dims): - dims_to_stack = ["yc", "xc"] - elif {"lat", "lon"}.issubset(self._ds.dims): - dims_to_stack = ["lat", "lon"] - else: - raise ValueError("Could not find correct dimensions to stack") - return self._ds.stack({"grid_index": dims_to_stack}).reset_index("grid_index") - - def unstack(self, crs=None, **kwargs): - if self.is_point(): - raise ValueError("POINT datasets cannot be unstacked") - if not self.is_stacked(): - return self._ds - else: - if crs: - self.add_crs(crs) - kws_mindex = dict.fromkeys(["nx", "ny", "lon_ll", "lat_ll", "dx", "dy"]) - for key in kws_mindex.keys(): - value = kwargs.get(key, None) - if value is None: - try: - value = self._ds.attrs["grid_mapping"][key] - except KeyError: - raise KeyError( - f"Did not find a value for {key} in the dataset attributes, please provide it as an argument" - ) - kws_mindex[key] = value - - mindex = self._create_multiindex(**kws_mindex) - mcoords = xr.Coordinates.from_pandas_multiindex(mindex, "grid_index") - ds_mindex = self._ds.assign_coords(mcoords) - ds_mindex.attrs["grid_mapping"] = kws_mindex - return ds_mindex.unstack() - - def _create_multiindex(self, nx, ny, lon_ll, lat_ll, dx, dy, **kwargs): - from pandas import MultiIndex - - if self._ds.sizes["grid_index"] != nx * ny: - raise ValueError( - f"Size of grid_index ({self._ds.sizes['grid_index']}) does not match product of nx and ny ({nx * ny})" - ) - - crs = self._ds.attrs["crs"] - x_ll, y_ll = crs.transform_point(x=lon_ll, y=lat_ll, src_crs=ccrs.PlateCarree()) - - xc = x_ll + np.arange(nx) * dx - yc = y_ll + np.arange(ny) * dy - - mindex = MultiIndex.from_product([yc, xc], names=["yc", "xc"]) - - return mindex - - def align_with(self, ds, **kwargs): - if self.is_grid(): - if ds.space.is_grid(): - return _align_grid_grid(self._ds, ds, **kwargs) - elif ds.space.is_point(): - return _align_grid_point(self._ds, ds, **kwargs) - elif self.is_point(): - if ds.space.is_point(): - return _align_point_point(self._ds, ds, **kwargs) - elif ds.space.is_grid(): - return _align_point_grid(self._ds, ds, **kwargs) - else: - raise ValueError("Datasets do not have compatible spatial properties") - - -def _align_grid_grid(ds1, ds2, **kwargs): - if np.array_equal( - ds1["longitude"].values, ds2["longitude"].values - ) and np.array_equal(ds1["latitude"].values, ds2["latitude"].values): - return ds1, ds2 - elif np.allclose( - ds1["longitude"].values, ds2["longitude"].values, atol=COORD_TOLERANCE - ) and np.allclose( - ds1["latitude"].values, ds2["latitude"].values, atol=COORD_TOLERANCE - ): - print( - f"Some lat-lon coordinates differ. But the difference is smaller than {COORD_TOLERANCE} degrees, considering both grids as equal" - ) - return ds1, ds2 - else: - raise NotImplementedError("Regridding not implemented") - - -def _align_grid_point(ds1, ds2, **kwargs): - from ..interpolations.interpolate import interpolate - - method = kwargs.pop("method", "xarray") - ds1 = interpolate(ds1, ds2, method, **kwargs) - - return ds1, ds2 - - -def _align_point_point(ds1, ds2, **kwargs): - raise NotImplementedError("Point selection not implemented") - - -def _align_point_grid(ds1, ds2, **kwargs): - raise NotImplementedError("Gridding of Point datanot implemented") diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py deleted file mode 100644 index fb60504..0000000 --- a/src/mxalign/accessors/time.py +++ /dev/null @@ -1,181 +0,0 @@ -import xarray as xr -import numpy as np - -from mlwp_data_specs.api import TIME_TRAIT_ATTR -from mlwp_data_specs.specs.traits.time_coordinate import Time -from ..utils.traits import update_time_trait - - -@xr.register_dataset_accessor("time") -class TimeAccessor: - def __init__(self, ds): - self._time = ds.attrs[TIME_TRAIT_ATTR] - self._ds = ds - - def is_forecast(self): - return self._time == Time.FORECAST - - def is_observation(self): - return self._time == Time.OBSERVATION - - def add_valid_time(self): - if self.is_forecast(): - valid_time = ( - self._ds["reference_time"].values[:, np.newaxis] - + self._ds["lead_time"].values - ) - ds_out = self._ds.assign_coords( - {"valid_time": (["reference_time", "lead_time"], valid_time)} - ) - else: - ds_out = self._ds - return ds_out - - def align_with(self, ds, **kwargs): - if self.is_forecast(): - if ds.time.is_forecast(): - return _align_forecast_forecast(self._ds, ds, **kwargs) - elif ds.time.is_observation(): - return _align_forecast_observation(self._ds, ds, **kwargs) - elif self.is_observation(): - if ds.time.is_observation(): - return _align_observation_observation(self._ds, ds, **kwargs) - elif ds.time.is_forecast(): - return _align_observation_forecast(self._ds, ds, **kwargs) - else: - raise ValueError("Datasets do not have compatible temporal properties") - - -def _align_forecast_forecast(ds1, ds2, only_common=False): - # Align the reference times - common_reference_times = ds1.indexes["reference_time"].intersection( - ds2.indexes["reference_time"] - ) - ds1_aligned = ds1.sel(reference_time=common_reference_times) - ds2_aligned = ds2.sel(reference_time=common_reference_times) - - # Align the lead times - if only_common: - common_lead_times = ds1_aligned.indexes["lead_time"].intersection( - ds2_aligned.indexes["lead_time"] - ) - ds1_aligned = ds1_aligned.sel(lead_time=common_lead_times) - ds2_aligned = ds2_aligned.sel(lead_time=common_lead_times) - else: - non_aligning_dims = (set(ds1.dims) | set(ds2.dims)) - set(["lead_time"]) - ds1_aligned, ds2_aligned = xr.align( - ds1_aligned, ds2_aligned, join="outer", exclude=non_aligning_dims - ) - ds1_aligned = ds1_aligned.time.add_valid_time() - ds2_aligned = ds2_aligned.time.add_valid_time() - return ds1_aligned, ds2_aligned - - -def _align_forecast_observation( - ds_forecast, ds_observation, only_common=False, lead_time="start-min" -): - ds_forecast = ds_forecast.time.add_valid_time() - - # Check if reference_times are continuous - reference_time_diff = ds_forecast.reference_time.diff("reference_time").values - if not (reference_time_diff[0] == reference_time_diff).all(): - raise NotImplementedError( - "Aligning a forecast with non-continuous reference times with an observation is not implemented." - ) - if lead_time == "start-min": - min_diff = reference_time_diff[0] - ds_forecast_reduced = ds_forecast.where( - ds_forecast.lead_time < min_diff, drop=True - ) - elif lead_time == "start-max": - max_diff = ds_forecast.lead_time.max().values - reference_times = np.arange( - ds_forecast.reference_time.min().values, - ds_forecast.reference_time.max().values, - max_diff, - dtype="datetime64[ns]", - ) - ds_forecast_reduced = ds_forecast.sel(reference_time=reference_times) - else: - raise ValueError( - "Invalid value for lead_time. Expected 'start-min' or 'start-max'." - ) - - ds_forecast_stacked = ( - ds_forecast_reduced.stack(time=["reference_time", "lead_time"]) - .reset_index("time") - .swap_dims({"time": "valid_time"}) - .transpose("valid_time", ...) - ) - if only_common: - ds_forecast_aligned, ds_observation_aligned = xr.align( - ds_forecast_stacked, - ds_observation, - join="inner", - exclude=set(ds_forecast_stacked.coords) - | set(ds_observation.coords) - set(["valid_time"]), - ) - else: - ds_forecast_aligned, ds_observation_aligned = xr.align( - ds_forecast_stacked, - ds_observation, - join="outer", - exclude=set(ds_forecast_stacked.coords) - | set(ds_observation.coords) - set(["valid_time"]), - ) - ds_forecast_aligned = update_time_trait(ds_forecast_aligned, Time.OBSERVATION) - return ds_forecast_aligned, ds_observation_aligned - - -def _align_observation_observation(ds1, ds2, only_common=False): - exclude = (set(ds1.dims) | set(ds2.dims)) - set(["valid_time"]) - if only_common: - ds1_aligned, ds2_aligned = xr.align(ds1, ds2, join="inner", exclude=exclude) - else: - ds1_aligned, ds2_aligned = xr.align(ds1, ds2, join="outer", exclude=exclude) - return ds1_aligned, ds2_aligned - - -def _align_observation_forecast(ds_observation, ds_forecast, only_common=False): - ds_forecast_cut = ds_forecast.time.add_valid_time() - if ( - ds_forecast_cut.reference_time.min().values - < ds_observation.valid_time.min().values - ): - ds_forecast_cut = ds_forecast_cut.sel( - reference_time=slice(ds_observation.valid_time.min().values, None) - ) - if ds_forecast_cut.valid_time.max().values > ds_observation.valid_time.max().values: - # The forecast time-step/lead times might not always align with the maximum observation time - valid_diff = ( - ds_forecast_cut["valid_time"] - (ds_observation["valid_time"].max()) - ).isel(lead_time=-1) - last_valid_index = ( - np.abs(valid_diff.where(valid_diff <= 0, drop=True)).argmin().values - ) - max_reference_time = ds_forecast_cut.isel(reference_time=last_valid_index)[ - "reference_time" - ].values - - # max_reference_time = ds_observation.valid_time.max().values - (ds_forecast_cut.lead_time.max().values - shift) - ds_forecast_cut = ds_forecast_cut.sel( - reference_time=slice(None, max_reference_time) - ) - - ds_observation_aligned = ds_observation.sel(valid_time=ds_forecast_cut.valid_time) - ds_observation_aligned = ds_observation_aligned.transpose( - "reference_time", "lead_time", ... - ) - ds_observation_aligned = update_time_trait(ds_observation_aligned, Time.FORECAST) - if only_common: - return ds_observation_aligned, ds_forecast_cut - else: - ds_observation_aligned, ds_forecast_aligned = xr.align( - ds_observation_aligned, - ds_forecast.time.add_valid_time(), - join="outer", - exclude=(set(ds_observation_aligned.coords) | set(ds_forecast_cut.coords)) - - set(["reference_time", "lead_time"]), - ) - ds_observation_aligned["valid_time"] = ds_forecast_aligned["valid_time"] - return ds_observation_aligned, ds_forecast_aligned From 03259a89384f270612dce7fbb4992b0e269f340b Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 18 May 2026 08:57:29 +0000 Subject: [PATCH 11/32] port to use mlwp-data-specs --- src/mxalign/accessors/mx.py | 32 ++++++--- tests/conftest.py | 10 +-- tests/test_align_time.py | 140 +++++++++++++++++++++++++++++------- 3 files changed, 140 insertions(+), 42 deletions(-) diff --git a/src/mxalign/accessors/mx.py b/src/mxalign/accessors/mx.py index 3104870..8f350a4 100644 --- a/src/mxalign/accessors/mx.py +++ b/src/mxalign/accessors/mx.py @@ -3,8 +3,10 @@ import xarray as xr import cartopy.crs as ccrs -from ..properties.properties import Space, Time -from ..properties.utils import properties_from_attrs, update_space_property, update_time_property +from mlwp_data_specs.api import SPACE_TRAIT_ATTR, TIME_TRAIT_ATTR +from mlwp_data_specs.specs.traits.spatial_coordinate import Space +from mlwp_data_specs.specs.traits.time_coordinate import Time + from ..utils.projections import create_cartopy_crs, BUILTIN COORD_TOLERANCE = 0.0001 @@ -13,9 +15,8 @@ @xr.register_dataset_accessor("mx") class MxAccessor: def __init__(self, ds): - props = properties_from_attrs(ds) - self._space = props.space - self._time = props.time + self._space = Space(ds.attrs[SPACE_TRAIT_ATTR]) + self._time = Time(ds.attrs[TIME_TRAIT_ATTR]) self._ds = ds # --- Space predicates --- @@ -201,7 +202,11 @@ def align_time_with(self, ds2, lead_time="shortest"): elif self.is_observation() and ds2.mx.is_observation(): return _align_observation_to_observation(self._ds, ds2) elif self.is_forecast() and ds2.mx.is_forecast(): - ff_lead_time = lead_time if lead_time in ("reference", "intersection", "union") else "reference" + ff_lead_time = ( + lead_time + if lead_time in ("reference", "intersection", "union") + else "reference" + ) return _align_forecast_to_forecast(self._ds, ds2, lead_time=ff_lead_time) else: raise ValueError("Cannot align datasets with unknown time properties") @@ -225,10 +230,10 @@ def align_space_with(self, ds2, **kwargs): # Temporal alignment helpers # --------------------------------------------------------------------------- + def _add_valid_time(ds_fcst): valid_time = ( - ds_fcst["reference_time"].values[:, np.newaxis] - + ds_fcst["lead_time"].values + ds_fcst["reference_time"].values[:, np.newaxis] + ds_fcst["lead_time"].values ) return ds_fcst.assign_coords( {"valid_time": (["reference_time", "lead_time"], valid_time)} @@ -237,7 +242,9 @@ def _add_valid_time(ds_fcst): def _align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): ds_with_vt = _add_valid_time(ds_fcst) - ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index("time") + ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index( + "time" + ) vt_vals = ds_stacked.valid_time.values lt_vals = ds_stacked.lead_time.values @@ -272,7 +279,8 @@ def _align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): ds_1d = ds_1d.transpose("valid_time", ...) ds_1d = ds_1d.reindex(valid_time=ds_obs.valid_time) - return update_time_property(ds_1d, Time.OBSERVATION) + ds_1d.attrs[TIME_TRAIT_ATTR] = Time.OBSERVATION.value + return ds_1d def _align_observation_to_forecast(ds_obs, ds_fcst): @@ -286,7 +294,8 @@ def _align_observation_to_forecast(ds_obs, ds_fcst): # sel with a 2D DataArray indexer broadcasts 1D obs → (reference_time, lead_time) ds_out = obs_reindexed.sel(valid_time=valid_time_2d) - return update_time_property(ds_out, Time.FORECAST) + ds_out.attrs[TIME_TRAIT_ATTR] = Time.FORECAST.value + return ds_out def _align_observation_to_observation(ds1, ds2): @@ -318,6 +327,7 @@ def _align_forecast_to_forecast(ds1, ds2, lead_time="reference"): # Spatial alignment helpers # --------------------------------------------------------------------------- + def _align_grid_grid(ds1, ds2, **kwargs): if np.array_equal( ds1["longitude"].values, ds2["longitude"].values diff --git a/tests/conftest.py b/tests/conftest.py index aee85f2..1409430 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -18,9 +18,7 @@ # Row 0 (ref=T0): 0, 1, 2, 3 # Row 1 (ref=T0+6h): 10, 11, 12, 13 # Row 2 (ref=T0+12h): 20, 21, 22, 23 -FORECAST_VALUES = np.array( - [[float(i * 10 + j) for j in range(4)] for i in range(3)] -) +FORECAST_VALUES = np.array([[float(i * 10 + j) for j in range(4)] for i in range(3)]) # Observation covers T0-6h … T0+24h (7 steps) OBS_TIMES = np.array([T0 + i * H6 for i in range(-1, 5)]) # T0-6h … T0+24h @@ -28,7 +26,11 @@ def _props(time: str) -> dict: - return {"properties": {"space": "point", "time": time, "uncertainty": "deterministic"}} + return { + "mlwp_time_trait": time, + "mlwp_space_trait": "point", + "mlwp_uncertainty_trait": "deterministic", + } @pytest.fixture diff --git a/tests/test_align_time.py b/tests/test_align_time.py index 7cce99c..628c875 100644 --- a/tests/test_align_time.py +++ b/tests/test_align_time.py @@ -30,8 +30,13 @@ # Helpers # --------------------------------------------------------------------------- + def _props(time: str) -> dict: - return {"properties": {"space": "point", "time": time, "uncertainty": "deterministic"}} + return { + "mlwp_time_trait": time, + "mlwp_space_trait": "point", + "mlwp_uncertainty_trait": "deterministic", + } def obs(valid_times, values): @@ -57,6 +62,7 @@ def fcst(reference_times, lead_times, values): # Case 1: Forecast → Observation # --------------------------------------------------------------------------- + class TestForecastToObservation: def test_shortest_lead_time(self, ds_fcst, ds_obs): result = ds_fcst.mx.align_time_with(ds_obs, lead_time="shortest") @@ -68,11 +74,19 @@ def test_shortest_lead_time(self, ds_fcst, ds_obs): assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) # For each covered time, shortest lead_time wins - assert result["temp"].sel(valid_time=T0).item() == 0.0 # only (T0, 0h) - assert result["temp"].sel(valid_time=T0 + H6).item() == 10.0 # (T0+6h, 0h) beats (T0, 6h) - assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 20.0 # (T0+12h, 0h) is shortest - assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 21.0 # (T0+12h, 6h) is shortest - assert result["temp"].sel(valid_time=T0 + 4 * H6).item() == 22.0 # (T0+12h, 12h) is shortest + assert result["temp"].sel(valid_time=T0).item() == 0.0 # only (T0, 0h) + assert ( + result["temp"].sel(valid_time=T0 + H6).item() == 10.0 + ) # (T0+6h, 0h) beats (T0, 6h) + assert ( + result["temp"].sel(valid_time=T0 + 2 * H6).item() == 20.0 + ) # (T0+12h, 0h) is shortest + assert ( + result["temp"].sel(valid_time=T0 + 3 * H6).item() == 21.0 + ) # (T0+12h, 6h) is shortest + assert ( + result["temp"].sel(valid_time=T0 + 4 * H6).item() == 22.0 + ) # (T0+12h, 12h) is shortest def test_longest_lead_time(self, ds_fcst, ds_obs): result = ds_fcst.mx.align_time_with(ds_obs, lead_time="longest") @@ -80,11 +94,19 @@ def test_longest_lead_time(self, ds_fcst, ds_obs): assert result.mx.is_observation() assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) - assert result["temp"].sel(valid_time=T0).item() == 0.0 # only one entry - assert result["temp"].sel(valid_time=T0 + H6).item() == 1.0 # (T0, 6h) beats (T0+6h, 0h) - assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 2.0 # (T0, 12h) is longest - assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 3.0 # (T0, 18h) is longest - assert result["temp"].sel(valid_time=T0 + 4 * H6).item() == 13.0 # (T0+6h, 18h) beats (T0+12h, 12h) + assert result["temp"].sel(valid_time=T0).item() == 0.0 # only one entry + assert ( + result["temp"].sel(valid_time=T0 + H6).item() == 1.0 + ) # (T0, 6h) beats (T0+6h, 0h) + assert ( + result["temp"].sel(valid_time=T0 + 2 * H6).item() == 2.0 + ) # (T0, 12h) is longest + assert ( + result["temp"].sel(valid_time=T0 + 3 * H6).item() == 3.0 + ) # (T0, 18h) is longest + assert ( + result["temp"].sel(valid_time=T0 + 4 * H6).item() == 13.0 + ) # (T0+6h, 18h) beats (T0+12h, 12h) def test_specific_lead_time(self, ds_fcst, ds_obs): lt = np.timedelta64(6, "h") @@ -94,7 +116,7 @@ def test_specific_lead_time(self, ds_fcst, ds_obs): # Only T0+6h, T0+12h, T0+18h are produced by lead_time=6h assert np.isnan(result["temp"].sel(valid_time=T0 - H6).item()) assert np.isnan(result["temp"].sel(valid_time=T0).item()) - assert result["temp"].sel(valid_time=T0 + H6).item() == 1.0 # (T0, 6h) + assert result["temp"].sel(valid_time=T0 + H6).item() == 1.0 # (T0, 6h) assert result["temp"].sel(valid_time=T0 + 2 * H6).item() == 11.0 # (T0+6h, 6h) assert result["temp"].sel(valid_time=T0 + 3 * H6).item() == 21.0 # (T0+12h, 6h) assert np.isnan(result["temp"].sel(valid_time=T0 + 4 * H6).item()) @@ -114,6 +136,7 @@ def test_result_has_observation_property(self, ds_fcst, ds_obs): # Case 2: Observation → Forecast # --------------------------------------------------------------------------- + class TestObservationToForecast: def test_values_placed_at_correct_positions(self, ds_obs, ds_fcst): result = ds_obs.mx.align_time_with(ds_fcst) @@ -122,29 +145,66 @@ def test_values_placed_at_correct_positions(self, ds_obs, ds_fcst): assert set(result.dims) == {"reference_time", "lead_time"} # obs values: T0→10, T0+6h→20, T0+12h→30, T0+18h→40, T0+24h→50 - assert result["temp"].sel(reference_time=T0, lead_time=np.timedelta64(0, "h")).item() == 10.0 - assert result["temp"].sel(reference_time=T0, lead_time=np.timedelta64(6, "h")).item() == 20.0 - assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")).item() == 30.0 - assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(18, "h")).item() == 50.0 + assert ( + result["temp"] + .sel(reference_time=T0, lead_time=np.timedelta64(0, "h")) + .item() + == 10.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0, lead_time=np.timedelta64(6, "h")) + .item() + == 20.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")) + .item() + == 30.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + H6, lead_time=np.timedelta64(18, "h")) + .item() + == 50.0 + ) def test_nan_where_obs_missing(self, ds_obs, ds_fcst): result = ds_obs.mx.align_time_with(ds_fcst) # T0+30h is not in obs; it appears at (T0+12h, lead=18h) assert np.isnan( - result["temp"].sel( + result["temp"] + .sel( reference_time=T0 + 2 * H6, lead_time=np.timedelta64(18, "h"), - ).item() + ) + .item() ) def test_obs_value_repeated_for_shared_valid_times(self, ds_obs, ds_fcst): result = ds_obs.mx.align_time_with(ds_fcst) # T0+12h appears at (T0,12h), (T0+6h,6h), (T0+12h,0h) — all should equal 30.0 - assert result["temp"].sel(reference_time=T0, lead_time=np.timedelta64(12, "h")).item() == 30.0 - assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")).item() == 30.0 - assert result["temp"].sel(reference_time=T0 + 2*H6, lead_time=np.timedelta64(0, "h")).item() == 30.0 + assert ( + result["temp"] + .sel(reference_time=T0, lead_time=np.timedelta64(12, "h")) + .item() + == 30.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")) + .item() + == 30.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + 2 * H6, lead_time=np.timedelta64(0, "h")) + .item() + == 30.0 + ) def test_result_has_forecast_property(self, ds_obs, ds_fcst): result = ds_obs.mx.align_time_with(ds_fcst) @@ -156,6 +216,7 @@ def test_result_has_forecast_property(self, ds_obs, ds_fcst): # Case 3: Observation → Observation # --------------------------------------------------------------------------- + class TestObservationToObservation: @pytest.fixture def ds_obs1(self): @@ -191,6 +252,7 @@ def test_result_stays_observation(self, ds_obs1, ds_obs2): # Case 4: Forecast → Forecast # --------------------------------------------------------------------------- + class TestForecastToForecast: @pytest.fixture def ds_fcst2(self): @@ -202,12 +264,16 @@ def ds_fcst2(self): def test_reindexes_to_ds2_reference_times(self, ds_fcst, ds_fcst2): result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") - np.testing.assert_array_equal(result.reference_time.values, ds_fcst2.reference_time.values) + np.testing.assert_array_equal( + result.reference_time.values, ds_fcst2.reference_time.values + ) def test_lead_time_reference_drops_ds1_only_leads(self, ds_fcst, ds_fcst2): result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") - np.testing.assert_array_equal(result.lead_time.values, ds_fcst2.lead_time.values) + np.testing.assert_array_equal( + result.lead_time.values, ds_fcst2.lead_time.values + ) assert np.timedelta64(0, "h") not in result.lead_time.values assert np.timedelta64(18, "h") not in result.lead_time.values @@ -220,10 +286,30 @@ def test_nan_for_ref_times_not_in_ds1(self, ds_fcst, ds_fcst2): def test_values_preserved_for_common_ref_times(self, ds_fcst, ds_fcst2): result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="reference") - assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")).item() == 11.0 - assert result["temp"].sel(reference_time=T0 + H6, lead_time=np.timedelta64(12, "h")).item() == 12.0 - assert result["temp"].sel(reference_time=T0 + 2*H6, lead_time=np.timedelta64(6, "h")).item() == 21.0 - assert result["temp"].sel(reference_time=T0 + 2*H6, lead_time=np.timedelta64(12, "h")).item() == 22.0 + assert ( + result["temp"] + .sel(reference_time=T0 + H6, lead_time=np.timedelta64(6, "h")) + .item() + == 11.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + H6, lead_time=np.timedelta64(12, "h")) + .item() + == 12.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + 2 * H6, lead_time=np.timedelta64(6, "h")) + .item() + == 21.0 + ) + assert ( + result["temp"] + .sel(reference_time=T0 + 2 * H6, lead_time=np.timedelta64(12, "h")) + .item() + == 22.0 + ) def test_lead_time_intersection_keeps_common_leads(self, ds_fcst, ds_fcst2): result = ds_fcst.mx.align_time_with(ds_fcst2, lead_time="intersection") From 099be4197e412b7e06fa39aae8b4d9bd64722037 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 18 May 2026 11:22:18 +0000 Subject: [PATCH 12/32] refactor space alignment --- src/mxalign/accessors/mx.py | 172 +++++---------------------------- src/mxalign/accessors/space.py | 30 ++++++ src/mxalign/accessors/time.py | 95 ++++++++++++++++++ 3 files changed, 150 insertions(+), 147 deletions(-) create mode 100644 src/mxalign/accessors/space.py create mode 100644 src/mxalign/accessors/time.py diff --git a/src/mxalign/accessors/mx.py b/src/mxalign/accessors/mx.py index 8f350a4..02692fa 100644 --- a/src/mxalign/accessors/mx.py +++ b/src/mxalign/accessors/mx.py @@ -1,5 +1,4 @@ import numpy as np -import pandas as pd import xarray as xr import cartopy.crs as ccrs @@ -8,8 +7,8 @@ from mlwp_data_specs.specs.traits.time_coordinate import Time from ..utils.projections import create_cartopy_crs, BUILTIN - -COORD_TOLERANCE = 0.0001 +from . import time as _time +from . import space as _space @xr.register_dataset_accessor("mx") @@ -167,13 +166,7 @@ def _create_multiindex(self, nx, ny, lon_ll, lat_ll, dx, dy, **kwargs): def add_valid_time(self): if self.is_forecast(): - valid_time = ( - self._ds["reference_time"].values[:, np.newaxis] - + self._ds["lead_time"].values - ) - return self._ds.assign_coords( - {"valid_time": (["reference_time", "lead_time"], valid_time)} - ) + return _time._add_valid_time(self._ds) return self._ds # --- Alignment --- @@ -196,158 +189,43 @@ def align_time_with(self, ds2, lead_time="shortest"): Ignored for observation→* cases. """ if self.is_forecast() and ds2.mx.is_observation(): - return _align_forecast_to_observation(self._ds, ds2, lead_time=lead_time) + return _time.align_forecast_to_observation(self._ds, ds2, lead_time=lead_time) elif self.is_observation() and ds2.mx.is_forecast(): - return _align_observation_to_forecast(self._ds, ds2) + return _time.align_observation_to_forecast(self._ds, ds2) elif self.is_observation() and ds2.mx.is_observation(): - return _align_observation_to_observation(self._ds, ds2) + return _time.align_observation_to_observation(self._ds, ds2) elif self.is_forecast() and ds2.mx.is_forecast(): ff_lead_time = ( - lead_time - if lead_time in ("reference", "intersection", "union") - else "reference" + lead_time if lead_time in ("reference", "intersection", "union") else "reference" ) - return _align_forecast_to_forecast(self._ds, ds2, lead_time=ff_lead_time) + return _time.align_forecast_to_forecast(self._ds, ds2, lead_time=ff_lead_time) else: raise ValueError("Cannot align datasets with unknown time properties") def align_space_with(self, ds2, **kwargs): - """Align this dataset's spatial grid to match ds2.""" + """Align this dataset's spatial grid to match ds2. + + Always uses "reference" semantics: self is interpolated or reindexed to + ds2's spatial coordinates. ds2 is never modified. + + Parameters + ---------- + ds2 : xr.Dataset + The reference dataset to align to. + method : str + Interpolation method for grid→point alignment. One of "xarray" or + "delaunay" (default "xarray"). Ignored for grid→grid. + **kwargs + Passed through to the interpolator. + """ if self.is_grid(): if ds2.mx.is_grid(): - return _align_grid_grid(self._ds, ds2, **kwargs) + return _space.align_grid_grid(self._ds, ds2, **kwargs) elif ds2.mx.is_point(): - return _align_grid_point(self._ds, ds2, **kwargs) + return _space.align_grid_point(self._ds, ds2, **kwargs) elif self.is_point(): if ds2.mx.is_point(): raise NotImplementedError("Point-to-point alignment not implemented") elif ds2.mx.is_grid(): raise NotImplementedError("Point-to-grid alignment not implemented") raise ValueError("Datasets do not have compatible spatial properties") - - -# --------------------------------------------------------------------------- -# Temporal alignment helpers -# --------------------------------------------------------------------------- - - -def _add_valid_time(ds_fcst): - valid_time = ( - ds_fcst["reference_time"].values[:, np.newaxis] + ds_fcst["lead_time"].values - ) - return ds_fcst.assign_coords( - {"valid_time": (["reference_time", "lead_time"], valid_time)} - ) - - -def _align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): - ds_with_vt = _add_valid_time(ds_fcst) - ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index( - "time" - ) - - vt_vals = ds_stacked.valid_time.values - lt_vals = ds_stacked.lead_time.values - - if lead_time in ("shortest", "longest"): - df = pd.DataFrame({"vt": vt_vals, "lt": lt_vals}) - agg = "min" if lead_time == "shortest" else "max" - is_extreme = (df.groupby("vt")["lt"].transform(agg) == df["lt"]).values - # Among entries that match the extreme lead_time, keep first per valid_time - # (handles ties: same vt + same extreme lt appearing via different ref_times) - extreme_positions = np.where(is_extreme)[0] - _, first_in_group = np.unique(vt_vals[extreme_positions], return_index=True) - positions = extreme_positions[first_in_group] - elif isinstance(lead_time, (list, np.ndarray)): - lt_set = set(np.asarray(lead_time).tolist()) - seen_vt = set() - positions = [] - for i, (vt, lt) in enumerate(zip(vt_vals, lt_vals)): - if lt in lt_set and vt not in seen_vt: - positions.append(i) - seen_vt.add(vt) - positions = np.array(positions) - else: - # single lead_time value — filter directly - positions = np.where(lt_vals == lead_time)[0] - - ds_1d = ds_stacked.isel(time=positions) - ds_1d = ds_1d.swap_dims({"time": "valid_time"}) - ds_1d = ds_1d.drop_vars( - [v for v in ["reference_time", "lead_time", "time"] if v in ds_1d.coords] - ) - ds_1d = ds_1d.transpose("valid_time", ...) - - ds_1d = ds_1d.reindex(valid_time=ds_obs.valid_time) - ds_1d.attrs[TIME_TRAIT_ATTR] = Time.OBSERVATION.value - return ds_1d - - -def _align_observation_to_forecast(ds_obs, ds_fcst): - ds_fcst_with_vt = _add_valid_time(ds_fcst) - valid_time_2d = ds_fcst_with_vt["valid_time"] # shape (reference_time, lead_time) - - # Reindex obs onto all unique fcst valid_times (NaN-fills fcst valid_times not in obs) - fcst_vt_flat = np.unique(valid_time_2d.values.ravel()) - obs_reindexed = ds_obs.reindex(valid_time=fcst_vt_flat) - - # sel with a 2D DataArray indexer broadcasts 1D obs → (reference_time, lead_time) - ds_out = obs_reindexed.sel(valid_time=valid_time_2d) - - ds_out.attrs[TIME_TRAIT_ATTR] = Time.FORECAST.value - return ds_out - - -def _align_observation_to_observation(ds1, ds2): - return ds1.reindex(valid_time=ds2.valid_time) - - -def _align_forecast_to_forecast(ds1, ds2, lead_time="reference"): - ds_out = ds1.reindex(reference_time=ds2.reference_time) - - # Align lead_time - if lead_time == "reference": - ds_out = ds_out.reindex(lead_time=ds2.lead_time) - elif lead_time == "intersection": - common_lt = np.intersect1d(ds_out.lead_time.values, ds2.lead_time.values) - ds_out = ds_out.sel(lead_time=common_lt) - elif lead_time == "union": - all_lt = np.union1d(ds_out.lead_time.values, ds2.lead_time.values) - ds_out = ds_out.reindex(lead_time=all_lt) - else: - raise ValueError(f"Unknown lead_time option for F→F alignment: {lead_time!r}") - - # Refresh valid_time - if "valid_time" in ds_out.coords: - ds_out = ds_out.drop_vars("valid_time") - return _add_valid_time(ds_out) - - -# --------------------------------------------------------------------------- -# Spatial alignment helpers -# --------------------------------------------------------------------------- - - -def _align_grid_grid(ds1, ds2, **kwargs): - if np.array_equal( - ds1["longitude"].values, ds2["longitude"].values - ) and np.array_equal(ds1["latitude"].values, ds2["latitude"].values): - return ds1 - elif np.allclose( - ds1["longitude"].values, ds2["longitude"].values, atol=COORD_TOLERANCE - ) and np.allclose( - ds1["latitude"].values, ds2["latitude"].values, atol=COORD_TOLERANCE - ): - print( - f"Some lat-lon coordinates differ but within {COORD_TOLERANCE}°, treating as equal" - ) - return ds1 - else: - raise NotImplementedError("Regridding not implemented") - - -def _align_grid_point(ds1, ds2, **kwargs): - from ..interpolations.interpolate import interpolate - - method = kwargs.pop("method", "xarray") - return interpolate(ds1, ds2, method, **kwargs) diff --git a/src/mxalign/accessors/space.py b/src/mxalign/accessors/space.py new file mode 100644 index 0000000..15aed4d --- /dev/null +++ b/src/mxalign/accessors/space.py @@ -0,0 +1,30 @@ +import numpy as np + +# Tolerance in degrees that the coordinates of two grids can differ while still +# being interpreted as the same grid. 0.0001 degrees ~ 10m at 45 deg latitude. +COORD_TOLERANCE = 0.0001 + + +def align_grid_grid(ds1, ds2, **kwargs): + if np.array_equal( + ds1["longitude"].values, ds2["longitude"].values + ) and np.array_equal(ds1["latitude"].values, ds2["latitude"].values): + return ds1 + elif np.allclose( + ds1["longitude"].values, ds2["longitude"].values, atol=COORD_TOLERANCE + ) and np.allclose( + ds1["latitude"].values, ds2["latitude"].values, atol=COORD_TOLERANCE + ): + print( + f"Some lat-lon coordinates differ but within {COORD_TOLERANCE}°, treating as equal" + ) + return ds1 + else: + raise NotImplementedError("Regridding not implemented") + + +def align_grid_point(ds1, ds2, method="xarray", **kwargs): + from ..interpolations.registry import get_interpolation + + interp_cls = get_interpolation(method) + return interp_cls(ds2, **kwargs).interpolate(ds1.copy()) diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py new file mode 100644 index 0000000..d957c66 --- /dev/null +++ b/src/mxalign/accessors/time.py @@ -0,0 +1,95 @@ +import numpy as np +import pandas as pd +import xarray as xr + +from mlwp_data_specs.api import TIME_TRAIT_ATTR +from mlwp_data_specs.specs.traits.time_coordinate import Time + + +def _add_valid_time(ds_fcst): + valid_time = ( + ds_fcst["reference_time"].values[:, np.newaxis] + ds_fcst["lead_time"].values + ) + return ds_fcst.assign_coords( + {"valid_time": (["reference_time", "lead_time"], valid_time)} + ) + + +def align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): + ds_with_vt = _add_valid_time(ds_fcst) + ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index("time") + + vt_vals = ds_stacked.valid_time.values + lt_vals = ds_stacked.lead_time.values + + if lead_time in ("shortest", "longest"): + df = pd.DataFrame({"vt": vt_vals, "lt": lt_vals}) + agg = "min" if lead_time == "shortest" else "max" + is_extreme = (df.groupby("vt")["lt"].transform(agg) == df["lt"]).values + # Among entries that match the extreme lead_time, keep first per valid_time + # (handles ties: same vt + same extreme lt appearing via different ref_times) + extreme_positions = np.where(is_extreme)[0] + _, first_in_group = np.unique(vt_vals[extreme_positions], return_index=True) + positions = extreme_positions[first_in_group] + elif isinstance(lead_time, (list, np.ndarray)): + lt_set = set(np.asarray(lead_time).tolist()) + seen_vt = set() + positions = [] + for i, (vt, lt) in enumerate(zip(vt_vals, lt_vals)): + if lt in lt_set and vt not in seen_vt: + positions.append(i) + seen_vt.add(vt) + positions = np.array(positions) + else: + # single lead_time value — filter directly + positions = np.where(lt_vals == lead_time)[0] + + ds_1d = ds_stacked.isel(time=positions) + ds_1d = ds_1d.swap_dims({"time": "valid_time"}) + ds_1d = ds_1d.drop_vars( + [v for v in ["reference_time", "lead_time", "time"] if v in ds_1d.coords] + ) + ds_1d = ds_1d.transpose("valid_time", ...) + + ds_1d = ds_1d.reindex(valid_time=ds_obs.valid_time) + ds_1d.attrs[TIME_TRAIT_ATTR] = Time.OBSERVATION.value + return ds_1d + + +def align_observation_to_forecast(ds_obs, ds_fcst): + ds_fcst_with_vt = _add_valid_time(ds_fcst) + valid_time_2d = ds_fcst_with_vt["valid_time"] # shape (reference_time, lead_time) + + # Reindex obs onto all unique fcst valid_times (NaN-fills fcst valid_times not in obs) + fcst_vt_flat = np.unique(valid_time_2d.values.ravel()) + obs_reindexed = ds_obs.reindex(valid_time=fcst_vt_flat) + + # sel with a 2D DataArray indexer broadcasts 1D obs → (reference_time, lead_time) + ds_out = obs_reindexed.sel(valid_time=valid_time_2d) + + ds_out.attrs[TIME_TRAIT_ATTR] = Time.FORECAST.value + return ds_out + + +def align_observation_to_observation(ds1, ds2): + return ds1.reindex(valid_time=ds2.valid_time) + + +def align_forecast_to_forecast(ds1, ds2, lead_time="reference"): + ds_out = ds1.reindex(reference_time=ds2.reference_time) + + if lead_time == "reference": + ds_out = ds_out.reindex(lead_time=ds2.lead_time) + elif lead_time == "intersection": + common_lt = np.intersect1d(ds_out.lead_time.values, ds2.lead_time.values) + ds_out = ds_out.sel(lead_time=common_lt) + elif lead_time == "union": + all_lt = np.union1d(ds_out.lead_time.values, ds2.lead_time.values) + ds_out = ds_out.reindex(lead_time=all_lt) + else: + raise ValueError(f"Unknown lead_time option for F→F alignment: {lead_time!r}") + + # Refresh valid_time + if "valid_time" in ds_out.coords: + ds_out = ds_out.drop_vars("valid_time") + return _add_valid_time(ds_out) From 40ff525af9fd448564ff8e830f909f98438f8f4b Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 18 May 2026 11:23:06 +0000 Subject: [PATCH 13/32] interpolator bugfixes --- src/mxalign/interpolations/delaunay.py | 13 +------------ src/mxalign/interpolations/xarray.py | 9 ++++----- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/mxalign/interpolations/delaunay.py b/src/mxalign/interpolations/delaunay.py index d44a912..3227c34 100644 --- a/src/mxalign/interpolations/delaunay.py +++ b/src/mxalign/interpolations/delaunay.py @@ -11,11 +11,6 @@ from .registry import register_interpolator from mlwp_data_specs.specs.traits.spatial_coordinate import Space -from mlwp_data_specs.api import ( - TIME_TRAIT_ATTR, - SPACE_TRAIT_ATTR, - UNCERTAINTY_TRAIT_ATTR, -) @register_interpolator @@ -87,13 +82,7 @@ def _interpolate(self, source_dataset): latitude=self.target_dataset["latitude"], longitude=self.target_dataset["longitude"], ) - - ds_out.attrs.update( - { - k: source_dataset.attrs[k] - for k in [TIME_TRAIT_ATTR, SPACE_TRAIT_ATTR, UNCERTAINTY_TRAIT_ATTR] - } - ) + ds_out.attrs.update(source_dataset.attrs) return ds_out diff --git a/src/mxalign/interpolations/xarray.py b/src/mxalign/interpolations/xarray.py index 790ab6c..403029c 100644 --- a/src/mxalign/interpolations/xarray.py +++ b/src/mxalign/interpolations/xarray.py @@ -46,11 +46,10 @@ def _interpolate_from_xcyc(self, source_dataset): y = xr.DataArray(xyz[:, 1], dims="point_index") ds_out = source_dataset.interp(xc=x, yc=y, **self.options) - # ).assing_coords( - # longitude=self.target_dataset["longitude"], - # latitude=self.target_dataset["latitude"] - # ) - + ds_out = ds_out.assign_coords( + longitude=("point_index", self.target_dataset["longitude"].values), + latitude=("point_index", self.target_dataset["latitude"].values), + ) return ds_out def _interpolate_from_latlon(self, source_dataset): From c8489d63d12bfc271de44b9a48c51551349df108 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 18 May 2026 11:23:40 +0000 Subject: [PATCH 14/32] add interpolation and space-alignment test --- tests/test_align_space.py | 154 +++++++++++++++++++++++++++++++++++ tests/test_interpolations.py | 130 +++++++++++++++++++++++++++++ 2 files changed, 284 insertions(+) create mode 100644 tests/test_align_space.py create mode 100644 tests/test_interpolations.py diff --git a/tests/test_align_space.py b/tests/test_align_space.py new file mode 100644 index 0000000..a621299 --- /dev/null +++ b/tests/test_align_space.py @@ -0,0 +1,154 @@ +"""Tests for ds.mx.align_space_with() covering all spatial alignment cases. + +Fixtures: + + ds_grid — 3×3 lat/lon grid, temp[i, j] = lat[i] + lon[j] + lat: 0°, 1°, 2° lon: 0°, 1°, 2° + + ds_point — 3 observation points: + point 0: (lat=0.0, lon=0.0) — exact grid node → expected temp=0.0 + point 1: (lat=0.5, lon=0.5) — interior → expected temp=1.0 + point 2: (lat=1.0, lon=1.0) — exact grid node → expected temp=2.0 + +Pure interpolation logic (values, coords) is tested in test_interpolations.py. +These tests focus on trait propagation and accessor dispatch. +""" + +import numpy as np +import pytest +import xarray as xr + +import mxalign # registers ds.mx accessor # noqa: F401 + + +# --------------------------------------------------------------------------- +# Helpers / fixtures +# --------------------------------------------------------------------------- + + +def _props(space, time="forecast"): + return { + "mlwp_space_trait": space, + "mlwp_time_trait": time, + "mlwp_uncertainty_trait": "deterministic", + } + + +@pytest.fixture +def ds_grid(): + lats = np.array([0.0, 1.0, 2.0]) + lons = np.array([0.0, 1.0, 2.0]) + temp = lats[:, np.newaxis] + lons[np.newaxis, :] + return xr.Dataset( + {"temp": (["latitude", "longitude"], temp)}, + coords={"latitude": lats, "longitude": lons}, + attrs=_props("grid"), + ) + + +@pytest.fixture +def ds_point(): + return xr.Dataset( + {"temp": ("point_index", np.array([0.0, 1.0, 2.0]))}, + coords={ + "latitude": ("point_index", np.array([0.0, 0.5, 1.0])), + "longitude": ("point_index", np.array([0.0, 0.5, 1.0])), + }, + attrs=_props("point", "observation"), + ) + + +# --------------------------------------------------------------------------- +# Case 1: Grid → Grid +# --------------------------------------------------------------------------- + + +class TestGridToGrid: + def test_identical_grids_return_self(self, ds_grid): + result = ds_grid.mx.align_space_with(ds_grid) + + assert result is ds_grid + + def test_within_tolerance_treated_as_equal(self, ds_grid): + ds_grid2 = ds_grid.assign_coords( + latitude=ds_grid.latitude + 1e-5, + longitude=ds_grid.longitude + 1e-5, + ).assign_attrs(_props("grid")) + result = ds_grid.mx.align_space_with(ds_grid2) + + assert result is ds_grid + + def test_different_grids_raise(self, ds_grid): + ds_grid2 = ds_grid.assign_coords( + latitude=ds_grid.latitude + 10.0, + ).assign_attrs(_props("grid")) + + with pytest.raises(NotImplementedError): + ds_grid.mx.align_space_with(ds_grid2) + + def test_result_stays_grid(self, ds_grid): + result = ds_grid.mx.align_space_with(ds_grid) + + assert result.mx.is_grid() + assert not result.mx.is_point() + + +# --------------------------------------------------------------------------- +# Case 2: Grid → Point (xarray interpolator) +# --------------------------------------------------------------------------- + + +class TestGridToPoint: + def test_result_has_point_trait(self, ds_grid, ds_point): + result = ds_grid.mx.align_space_with(ds_point, method="xarray") + + assert result.mx.is_point() + assert not result.mx.is_grid() + + def test_result_has_point_index_dim(self, ds_grid, ds_point): + result = ds_grid.mx.align_space_with(ds_point, method="xarray") + + assert "point_index" in result.dims + + def test_result_has_target_latlon_coords(self, ds_grid, ds_point): + result = ds_grid.mx.align_space_with(ds_point, method="xarray") + + np.testing.assert_array_equal( + result["latitude"].values, ds_point["latitude"].values + ) + np.testing.assert_array_equal( + result["longitude"].values, ds_point["longitude"].values + ) + + def test_interpolated_values_xarray(self, ds_grid, ds_point): + result = ds_grid.mx.align_space_with(ds_point, method="xarray") + + assert result["temp"].isel(point_index=0).item() == pytest.approx(0.0) + assert result["temp"].isel(point_index=1).item() == pytest.approx(1.0) + assert result["temp"].isel(point_index=2).item() == pytest.approx(2.0) + + def test_interpolated_values_delaunay(self, ds_grid, ds_point): + ds_stacked = ds_grid.stack(grid_index=["latitude", "longitude"]).reset_index( + "grid_index" + ) + ds_stacked.attrs.update(_props("grid")) + result = ds_stacked.mx.align_space_with(ds_point, method="delaunay") + + assert result["temp"].isel(point_index=0).item() == pytest.approx(0.0) + assert result["temp"].isel(point_index=1).item() == pytest.approx(1.0) + assert result["temp"].isel(point_index=2).item() == pytest.approx(2.0) + + +# --------------------------------------------------------------------------- +# Case 3: Point → * (not implemented) +# --------------------------------------------------------------------------- + + +class TestPointAlignmentNotImplemented: + def test_point_to_grid_raises(self, ds_point, ds_grid): + with pytest.raises(NotImplementedError): + ds_point.mx.align_space_with(ds_grid) + + def test_point_to_point_raises(self, ds_point): + with pytest.raises(NotImplementedError): + ds_point.mx.align_space_with(ds_point) diff --git a/tests/test_interpolations.py b/tests/test_interpolations.py new file mode 100644 index 0000000..6c2fe3d --- /dev/null +++ b/tests/test_interpolations.py @@ -0,0 +1,130 @@ +"""Tests for XarrayInterpolator and DelaunayInterpolator core logic. + +Both interpolators take a stacked or lat/lon-dim source GRID dataset and +produce a POINT dataset aligned to target point locations. + +Fixtures use temp = lat + lon, a linear function, so both bilinear (xarray) +and linear barycentric (Delaunay) interpolation reproduce it exactly. + +Trait / accessor-level tests live in test_align_space.py. +""" + +import numpy as np +import pytest +import xarray as xr + +from mxalign.interpolations.delaunay import DelaunayInterpolator +from mxalign.interpolations.xarray import XarrayInterpolator + + +# --------------------------------------------------------------------------- +# Fixtures +# --------------------------------------------------------------------------- + + +@pytest.fixture +def grid_latlon(): + """3×3 regular lat/lon grid. temp[i, j] = lat[i] + lon[j].""" + lats = np.array([0.0, 1.0, 2.0]) + lons = np.array([0.0, 1.0, 2.0]) + temp = lats[:, np.newaxis] + lons[np.newaxis, :] + return xr.Dataset( + {"temp": (["latitude", "longitude"], temp)}, + coords={"latitude": lats, "longitude": lons}, + ) + + +@pytest.fixture +def grid_stacked(grid_latlon): + """grid_latlon stacked to grid_index (required by DelaunayInterpolator).""" + return grid_latlon.stack(grid_index=["latitude", "longitude"]).reset_index("grid_index") + + +@pytest.fixture +def target_points(): + """3 target points: two at grid nodes, one at an interior location.""" + return xr.Dataset( + coords={ + "latitude": ("point_index", np.array([0.0, 0.5, 1.0])), + "longitude": ("point_index", np.array([0.0, 0.5, 1.0])), + }, + ) + + +# --------------------------------------------------------------------------- +# XarrayInterpolator +# --------------------------------------------------------------------------- + + +class TestXarrayInterpolator: + def test_values_at_grid_nodes(self, grid_latlon, target_points): + result = XarrayInterpolator(target_points)._interpolate(grid_latlon) + + # lat=0, lon=0 → 0+0=0; lat=1, lon=1 → 1+1=2 + assert result["temp"].isel(point_index=0).item() == pytest.approx(0.0) + assert result["temp"].isel(point_index=2).item() == pytest.approx(2.0) + + def test_value_at_interior_point(self, grid_latlon, target_points): + result = XarrayInterpolator(target_points)._interpolate(grid_latlon) + + # lat=0.5, lon=0.5 → 0.5+0.5=1.0 (exact for bilinear on linear function) + assert result["temp"].isel(point_index=1).item() == pytest.approx(1.0) + + def test_output_has_point_index_dim(self, grid_latlon, target_points): + result = XarrayInterpolator(target_points)._interpolate(grid_latlon) + + assert "point_index" in result.dims + + def test_output_has_latlon_coords_from_target(self, grid_latlon, target_points): + result = XarrayInterpolator(target_points)._interpolate(grid_latlon) + + np.testing.assert_array_equal(result["latitude"].values, target_points["latitude"].values) + np.testing.assert_array_equal(result["longitude"].values, target_points["longitude"].values) + + +# --------------------------------------------------------------------------- +# DelaunayInterpolator +# --------------------------------------------------------------------------- + + +class TestDelaunayInterpolator: + def test_values_at_grid_nodes(self, grid_stacked, target_points): + result = DelaunayInterpolator(target_points)._interpolate(grid_stacked) + + assert result["temp"].isel(point_index=0).item() == pytest.approx(0.0) + assert result["temp"].isel(point_index=2).item() == pytest.approx(2.0) + + def test_value_at_interior_point(self, grid_stacked, target_points): + result = DelaunayInterpolator(target_points)._interpolate(grid_stacked) + + # Barycentric interpolation is exact for any linear function + assert result["temp"].isel(point_index=1).item() == pytest.approx(1.0) + + def test_output_has_point_index_dim(self, grid_stacked, target_points): + result = DelaunayInterpolator(target_points)._interpolate(grid_stacked) + + assert "point_index" in result.dims + + def test_output_has_latlon_coords_from_target(self, grid_stacked, target_points): + result = DelaunayInterpolator(target_points)._interpolate(grid_stacked) + + np.testing.assert_array_equal(result["latitude"].values, target_points["latitude"].values) + np.testing.assert_array_equal(result["longitude"].values, target_points["longitude"].values) + + def test_weight_matrix_is_cached(self, grid_stacked, target_points): + interp = DelaunayInterpolator(target_points) + interp._interpolate(grid_stacked) + interp._interpolate(grid_stacked) + + assert len(interp._W_cache) == 1 + + def test_outside_convex_hull_is_nan(self, grid_stacked): + far_point = xr.Dataset( + coords={ + "latitude": ("point_index", np.array([10.0])), + "longitude": ("point_index", np.array([10.0])), + }, + ) + result = DelaunayInterpolator(far_point)._interpolate(grid_stacked) + + assert np.isnan(result["temp"].isel(point_index=0).item()) From 76bebba96393f037e345a7911e474dd6acc4323a Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:26:04 +0000 Subject: [PATCH 15/32] remove leftover loader files --- src/mxalign/loaders/__init__.py | 13 ---- src/mxalign/loaders/base.py | 103 ---------------------------- src/mxalign/loaders/ifs_forecast.py | 67 ------------------ 3 files changed, 183 deletions(-) delete mode 100644 src/mxalign/loaders/__init__.py delete mode 100644 src/mxalign/loaders/base.py delete mode 100644 src/mxalign/loaders/ifs_forecast.py diff --git a/src/mxalign/loaders/__init__.py b/src/mxalign/loaders/__init__.py deleted file mode 100644 index 329bfa3..0000000 --- a/src/mxalign/loaders/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -from . import anemoi_datasets -from . import anemoi_inference -from . import harp_obstable -from . import ifs_forecast -from . import base - -__all__ = [ - "anemoi_datasets", - "anemoi_inference", - "ifs_forecast", - "harp_obstable", - "base", -] diff --git a/src/mxalign/loaders/base.py b/src/mxalign/loaders/base.py deleted file mode 100644 index f6f779b..0000000 --- a/src/mxalign/loaders/base.py +++ /dev/null @@ -1,103 +0,0 @@ -from abc import ABC, abstractmethod - -from .registry import register_loader -from ..properties.properties import Properties, Space, Time, Uncertainty -from ..properties.validation import validate_dataset -from ..properties.utils import properties_to_attrs - - -class BaseLoader(ABC): - """Base class for all loaders.""" - - name: str = "base" - - space: Space | None = None - time: Time | None = None - uncertainty: Uncertainty | None = None - - def __init__(self, files, variables=None, grid_mapping=None, **kwargs): - self.files = files - self.variables = [variables] if isinstance(variables, str) else variables - self.grid_mapping = grid_mapping - self.kwargs = kwargs - - def load(self): - ds = self._load() - if self.variables: - ds = self._select_variables(ds) - - properties = self._get_properties(ds) - validate_dataset(ds, properties) - - ds.attrs["properties"] = properties_to_attrs(properties) - - if self.grid_mapping: - ds = self._add_grid_mapping(ds) - - # Make sure all the coordinates are loaded - for coord in ds.coords: - ds[coord] = ds[coord].compute() - - return ds - - @abstractmethod - def _load(self): ... - - def _select_variables(self, ds): - return ds[self.variables] - - def _add_grid_mapping(self, ds): - ds = ds.mx.add_crs(self.grid_mapping) - ds = ds.mx.add_grid_mapping(self.grid_mapping) - return ds - - def _get_properties(self, ds): - properties = Properties( - space=self.space, time=self.time, uncertainty=self.uncertainty - ) - return properties - - -@register_loader -class MxAlignLoader(BaseLoader): - name = "mxalign" - - space = None - time = None - uncertainty = None - - def _load(self): - import xarray as xr - - files = [self.files] if isinstance(self.files, str) else self.files - - ds = xr.open_mfdataset(files, chunks="auto", **self.kwargs) - if "code" in ds.dims: - ds = ds.rename_dims({"code": "point_index"}).transpose( - "valid_time", "point_index" - ) - return ds - - def _get_properties(self, ds): - if "reference_time" in ds.dims and "lead_time" in ds.dims: - time = Time.FORECAST - elif "valid_time" in ds.dims: - time = Time.OBSERVATION - else: - raise ValueError("Unknown temporal dimensions") - - if "grid_index" in ds.dims or "xc" in ds.dims or "latitude" in ds.dims: - space = Space.GRID - elif "point_index" in ds.dims: - space = Space.POINT - else: - raise ValueError("Unknown spatial dimensions") - - if "member" in ds.dims: - uncertainty = Uncertainty.ENSEMBLE - elif "quantile" in ds.dims: - uncertainty = Uncertainty.QUANTILE - else: - uncertainty = Uncertainty.DETERMINISTIC - - return Properties(space=space, time=time, uncertainty=uncertainty) diff --git a/src/mxalign/loaders/ifs_forecast.py b/src/mxalign/loaders/ifs_forecast.py deleted file mode 100644 index db02942..0000000 --- a/src/mxalign/loaders/ifs_forecast.py +++ /dev/null @@ -1,67 +0,0 @@ -import xarray as xr - -from .registry import register_loader -from ..properties.properties import Space, Time, Uncertainty -from .base import BaseLoader - - -@register_loader -class IFSForecastLoader(BaseLoader): - try: - import cfgrib - except Exception: - raise ImportError("Please install the cfgrib package to load IFS-Forecasts") - - name = "ifs-forecast" - - space = Space.GRID - time = Time.FORECAST - uncertainty = None - - def _load(self): - kwargs = self.kwargs.copy() - files = [self.files] if isinstance(self.files, str) else self.files - - ds = xr.open_mfdataset( - files, - combine="nested", - concat_dim="time", - chunks={ - "time": 1, - "step": -1, - "values": -1, - }, - **kwargs, - ) - - ds.coords["longitude"] = (ds.coords["longitude"] + 180.0) % 360.0 - 180.0 - - rename_dims = { - "time": "reference_time", - "step": "lead_time", - "values": "grid_index", - } - rename_vars = { - "time": "reference_time", - "step": "lead_time", - } - - if "number" in ds.dims and "number" in ds.coords: - rename_dims["number"] = "member" - rename_vars["number"] = "member" - else: - ds = ds.drop_vars("number") - - ds = ds.rename_dims({k: v for k, v in rename_dims.items() if k in ds.dims}) - ds = ds.rename_vars({k: v for k, v in rename_vars.items() if k in ds.variables}) - - if "surface" in ds.variables: - ds = ds.drop_vars("surface") - - if "member" in ds.dims: - self.uncertainty = Uncertainty.ENSEMBLE - elif "quantile" in ds.dims: - self.uncertainty = Uncertainty.QUANTILE - else: - self.uncertainty = Uncertainty.DETERMINISTIC - return ds.transpose("reference_time", "lead_time", ...) From 542b4e376a58c4afe23d6583b376b02b2102d2e6 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:29:51 +0000 Subject: [PATCH 16/32] update pyproject --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6e76b7b..3c2518d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,8 @@ dependencies = [ "dask>=2026.1.2", "earthkit-data>=0.19.0", "h5netcdf>=1.8.1", - "h5py>=3.15.1", + "h5py<3.15", + "mlwp-data-loaders", "netcdf4>=1.7.4", "pyyaml>=6.0.3", "scipy>=1.17.0", From 89e55a4ed5ad6f82fb239ed4837e6825930cec6e Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:30:37 +0000 Subject: [PATCH 17/32] add global space and time alignment --- src/mxalign/align/space.py | 35 +++++++++----- src/mxalign/align/time.py | 99 +++++++++++++++++++++++++++++++++++--- 2 files changed, 116 insertions(+), 18 deletions(-) diff --git a/src/mxalign/align/space.py b/src/mxalign/align/space.py index e4dab55..fded198 100644 --- a/src/mxalign/align/space.py +++ b/src/mxalign/align/space.py @@ -2,20 +2,31 @@ def align_space(datasets, reference, **kwargs): - if isinstance(datasets, (xr.Dataset, xr.DataArray)): - datasets = [datasets] + """Align all datasets spatially to a reference dataset. + + Each non-reference dataset is aligned by calling ``ds.mx.align_space_with(ref_ds)``. + Extra kwargs are forwarded to ``align_space_with`` (e.g. ``method``). + + Parameters + ---------- + datasets : xr.Dataset, list, or dict of xr.Dataset + reference : str or xr.Dataset + Key into *datasets* dict, or an xr.Dataset to align to. + """ if isinstance(datasets, dict): - keys = datasets.keys() - datasets = datasets.items() + keys = list(datasets.keys()) + ds_list = list(datasets.values()) + ref_ds = datasets[reference] if isinstance(reference, str) else reference else: + ds_list = [datasets] if isinstance(datasets, (xr.Dataset, xr.DataArray)) else list(datasets) keys = None + ref_ds = reference - datasets = [ds.mx.align_space_with(reference, **kwargs) for ds in datasets] + aligned = [ + ds if ds is ref_ds else ds.mx.align_space_with(ref_ds, **kwargs) + for ds in ds_list + ] - if keys is None: - if len(datasets) == 1: - return datasets[0] - else: - return datasets - else: - return {key: value for (key, value) in zip(keys, datasets)} + if keys is not None: + return dict(zip(keys, aligned)) + return aligned[0] if len(aligned) == 1 else aligned diff --git a/src/mxalign/align/time.py b/src/mxalign/align/time.py index 542c0a2..b29a9ef 100644 --- a/src/mxalign/align/time.py +++ b/src/mxalign/align/time.py @@ -1,5 +1,12 @@ +import logging + import xarray as xr +from mlwp_data_specs.api import TIME_TRAIT_ATTR +from mlwp_data_specs.specs.traits.time_coordinate import Time + +logger = logging.getLogger(__name__) + def align_time( datasets: list[xr.Dataset] | dict[str, xr.Dataset], @@ -8,8 +15,30 @@ def align_time( ): """Align all datasets temporally to a reference dataset. - Each non-reference dataset is aligned by calling ``ds.mx.align_time_with(ref_ds)``. - Extra kwargs are forwarded to ``align_time_with`` (e.g. ``lead_time``, ``join``). + Two regimes: + + * **Global** — when the reference is an observation and the inputs contain + one or more forecasts. Computes a single common ``(reference_time, + lead_time)`` grid across all forecasts and aligns every dataset onto it: + + 1. ``R*`` = intersection of ``reference_time`` across all forecasts. + 2. ``L*`` = union of ``lead_time`` across all forecasts. + 3. ``R*`` is pruned to ref_times ``r`` for which **every** ``l ∈ L*`` + yields a ``valid_time`` inside the reference observation's range + ``[ref.valid_time.min(), ref.valid_time.max()]``. ``L*`` is never + pruned — keeping a long lead_time only costs an extra column in the + output (NaN where the reference doesn't reach) and avoids dropping + lead_times from forecasts that did fit. Raises if no ref_time + survives. + 4. Each forecast → ``reindex(reference_time=R*, lead_time=L*)``, + NaN-padding lead_times the forecast doesn't have, and a refreshed + ``valid_time`` coordinate. + 5. Each observation → subset to ``V* = R* + L*`` then broadcast onto + ``(R*, L*)``. Output carries the forecast time trait. + + * **Pairwise** — for every other case (reference is a forecast, or all + datasets are observations), each non-reference dataset is aligned via + ``ds.mx.align_time_with(ref_ds, **kwargs)``. The reference is fixed. Parameters ---------- @@ -26,11 +55,69 @@ def align_time( keys = None ref_ds = reference - aligned = [ - ds if ds is ref_ds else ds.mx.align_time_with(ref_ds, **kwargs) - for ds in ds_list - ] + forecasts = [ds for ds in ds_list if ds.mx.is_forecast()] + use_global = ref_ds.mx.is_observation() and len(forecasts) > 0 + + if use_global: + aligned = _align_time_global(ds_list, forecasts, ref_ds) + else: + aligned = [ + ds if ds is ref_ds else ds.mx.align_time_with(ref_ds, **kwargs) + for ds in ds_list + ] if keys is not None: return dict(zip(keys, aligned)) return aligned[0] if len(aligned) == 1 else aligned + + +def _align_time_global(ds_list, forecasts, ref_ds): + # R* = intersection of reference_time, L* = union of lead_time. + # Pull the aligned *coord* (= the merged index) rather than the array's + # data — outer-aligning a coord-DataArray NaN-fills the data where the + # index extends, but the coord itself carries the correct union. + + r_star = xr.align(*[f.reference_time for f in forecasts], join="inner")[0].reference_time + l_star = xr.align(*[f.lead_time for f in forecasts], join="outer")[0].lead_time + + n_r = r_star.size + r_star = _constrain_to_reference(r_star, l_star, ref_ds.valid_time) + if r_star.size < n_r: + logger.warning( + "Global time alignment: pruned %d reference_time(s) (%d → %d) " + "whose (r + l) falls outside the reference observation's range.", + n_r - r_star.size, n_r, r_star.size, + ) + + # xarray broadcasts r_star (reference_time) + l_star (lead_time) → 2D + valid_time_2d = r_star + l_star + + aligned = [] + for ds in ds_list: + if ds.mx.is_forecast(): + out = ds.reindex(reference_time=r_star, lead_time=l_star) + out = out.assign_coords(valid_time=valid_time_2d) + else: + out = ds.reindex(valid_time=valid_time_2d.values.ravel()).sel( + valid_time=valid_time_2d + ) + out.attrs[TIME_TRAIT_ATTR] = Time.FORECAST.value + aligned.append(out) + return aligned + + +def _constrain_to_reference(r_star, l_star, ref_vt): + """Drop ref_times whose ``(r + l)`` falls outside the reference range. + + A ref_time ``r`` is kept only when every ``l ∈ L*`` yields a valid_time + in ``[ref_vt.min(), ref_vt.max()]``. ``L*`` is never pruned. + """ + vt = r_star + l_star + in_range = (vt >= ref_vt.min()) & (vt <= ref_vt.max()) + rows_ok = in_range.all(dim="lead_time") + if not bool(rows_ok.any()): + raise ValueError( + "Global time alignment: no reference_time keeps all lead_times " + "within the reference observation's valid_time range." + ) + return r_star.where(rows_ok, drop=True) From a94cc83ebfafe4f2b06d62c1c5dba514f0d555c5 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:31:32 +0000 Subject: [PATCH 18/32] switch runner to mlwp-data-loaders --- src/mxalign/runner.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/mxalign/runner.py b/src/mxalign/runner.py index 9fc5739..89c0e1e 100644 --- a/src/mxalign/runner.py +++ b/src/mxalign/runner.py @@ -1,11 +1,11 @@ import os import xarray as xr +from mlwp_data_loaders import load_and_validate_dataset + from .utils.config import Config -from .loaders.loader import load from .transformations.transform import transform from .align.time import align_time -from .align.space import align_space from .align.nans import broadcast_nans from .utils.save import save_dataset, save_metrics from .verification import Metric @@ -28,28 +28,38 @@ def run(self): def load_datasets(self): config = self.config["datasets"] if config is None: - return ValueError("No datasets section in the config.") + raise ValueError("No datasets section in the config.") for name, config_ds in config.items(): config_ds = config_ds.copy() - # Check if all the files exist loader = config_ds.pop("loader") variables = config_ds.pop("variables", None) grid_mapping = config_ds.pop("grid_mapping", None) + + raw_files = config_ds.pop("files") + if isinstance(raw_files, str): + raw_files = [raw_files] files = [] - # Check if all the files exist - for file in config_ds.pop("files"): + for file in raw_files: if os.path.exists(file): files.append(file) else: print(f"File: {file} is missing, skipping.") - self.datasets[name] = load( - name=loader, - files=files, - variables=variables, - grid_mapping=grid_mapping, + dataset_path = files[0] if len(files) == 1 else files + + ds = load_and_validate_dataset( + dataset_path, + loader=loader, **config_ds, ) + if variables is not None: + ds = ds[[variables] if isinstance(variables, str) else list(variables)] + if grid_mapping is not None: + ds = ds.mx.add_crs(grid_mapping) + ds = ds.mx.add_grid_mapping(grid_mapping) + + self.datasets[name] = ds + def transform_datasets(self): config = self.config["transformations"] if config is None: @@ -157,7 +167,7 @@ def align_space(self, reference, config): for name, ds in self.datasets.items(): if name != reference: options = config.get(get_spatial_alignment(ds, ds_ref), {}) - self.datasets[name] = align_space(ds, ds_ref, **options) + self.datasets[name] = ds.mx.align_space_with(ds_ref, **options) def get_spatial_alignment(ds, reference): From faab341bf17393ef0c5ff7fc31be117c0b8c4932 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:32:12 +0000 Subject: [PATCH 19/32] fix chunked non-spatial dims --- src/mxalign/interpolations/delaunay.py | 20 +++++++++++++++----- src/mxalign/interpolations/interpolate.py | 2 ++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/mxalign/interpolations/delaunay.py b/src/mxalign/interpolations/delaunay.py index 3227c34..457d600 100644 --- a/src/mxalign/interpolations/delaunay.py +++ b/src/mxalign/interpolations/delaunay.py @@ -1,3 +1,4 @@ +import logging from functools import partial import numpy as np @@ -12,6 +13,8 @@ from mlwp_data_specs.specs.traits.spatial_coordinate import Space +logger = logging.getLogger(__name__) + @register_interpolator class DelaunayInterpolator(BaseInterpolator): @@ -149,15 +152,22 @@ def interpolate_da( n_target = len(target_points) leading_dims = da.dims[:-1] - # Validate that grid_index is not chunked + # Delaunay needs the full source axis per block (every target point pulls + # from every source point via the sparse weight matrix). If grid_index is + # split across multiple chunks, rechunk to a single chunk before the matmul. + # ``unify_chunks`` then reconciles any leftover mismatch between the data + # array and its coords (e.g. when ``chunks="auto"`` produced different + # chunkings for reference_time on data vs. coord). if isinstance(da.data, dda.Array): grid_chunks = dict(zip(da.dims, da.chunks)).get("grid_index") if grid_chunks is not None and len(grid_chunks) > 1: - raise ValueError( - f"grid_index must not be chunked for Delaunay interpolation " - f"(found {len(grid_chunks)} chunks). Rechunk with da.chunk({{'grid_index': -1}}) " - f"or enforce this on the loading side." + logger.warning( + "Delaunay interpolation: rechunking grid_index from %d chunks to 1 " + "(required for the sparse weight matmul).", + len(grid_chunks), ) + da = da.chunk({"grid_index": -1}) + da = da.unify_chunks() # Build the template # Get chunking info for leading dims diff --git a/src/mxalign/interpolations/interpolate.py b/src/mxalign/interpolations/interpolate.py index bf2efab..daeea52 100644 --- a/src/mxalign/interpolations/interpolate.py +++ b/src/mxalign/interpolations/interpolate.py @@ -11,6 +11,8 @@ def interpolate(source_datasets, target_dataset, method, **kwargs): else: if not isinstance(source_datasets, list): datasets = [source_datasets] + else: + datasets = source_datasets keys = None if keys: From 2c7d3875b4083688d8b878182d35883b81896670 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:32:27 +0000 Subject: [PATCH 20/32] add tests --- tests/test_align_time_global.py | 211 ++++++++++++++++++++++++++++++++ tests/test_interpolations.py | 11 ++ 2 files changed, 222 insertions(+) create mode 100644 tests/test_align_time_global.py diff --git a/tests/test_align_time_global.py b/tests/test_align_time_global.py new file mode 100644 index 0000000..1368777 --- /dev/null +++ b/tests/test_align_time_global.py @@ -0,0 +1,211 @@ +"""Tests for module-level ``align_time`` — multi-dataset global alignment. + +The pairwise ``ds.mx.align_time_with`` cases are covered by +``test_align_time.py``. This file exercises the *global* regime triggered +when the reference is an observation and one or more forecasts are present: + + 1. R* = intersection of reference_time across forecasts + 2. L* = union of lead_time across forecasts (never pruned) + 3. R* is pruned to ref_times r where every (r + l ∈ L*) lies inside + [ref.valid_time.min(), ref.valid_time.max()] + 4. Forecasts reindex(reference_time=R*, lead_time=L*); refresh valid_time + 5. Observations reshape onto (R*, L*); trait flips to forecast +""" + +import logging + +import numpy as np +import pandas as pd +import pytest +import xarray as xr + +from mxalign.align.time import align_time + +T0 = np.datetime64("2020-01-01T00:00", "ns") +H6 = np.timedelta64(6, "h") + + +def _props(time: str) -> dict: + return { + "mlwp_time_trait": time, + "mlwp_space_trait": "point", + "mlwp_uncertainty_trait": "deterministic", + } + + +def fcst(reference_times, lead_times): + rt = pd.to_datetime(np.asarray(reference_times)) + lt = pd.to_timedelta(np.asarray(lead_times)) + values = np.arange(len(rt) * len(lt), dtype=float).reshape(len(rt), len(lt)) + return xr.Dataset( + {"temp": (["reference_time", "lead_time"], values)}, + coords={"reference_time": rt, "lead_time": lt}, + attrs=_props("forecast"), + ) + + +def obs(valid_times, offset=0.0): + vt = pd.to_datetime(np.asarray(valid_times)) + return xr.Dataset( + {"temp": (["valid_time"], np.arange(len(vt), dtype=float) + offset)}, + coords={"valid_time": vt}, + attrs=_props("observation"), + ) + + +# --------------------------------------------------------------------------- +# Global regime: 2 forecasts + 1 observation +# --------------------------------------------------------------------------- + + +class TestGlobalForecastsObservation: + @pytest.fixture + def datasets(self): + f1 = fcst( + ["2020-01-01", "2020-01-02", "2020-01-03"], + ["0h", "6h", "12h"], + ) + f2 = fcst( + ["2020-01-02", "2020-01-03", "2020-01-04"], + ["6h", "12h", "18h"], + ) + ref = obs(pd.date_range("2020-01-01", "2020-01-05", freq="3h"), offset=100.0) + return {"f1": f1, "f2": f2, "ref": ref} + + def test_r_star_is_intersection_of_forecast_ref_times(self, datasets): + out = align_time(datasets, reference="ref") + np.testing.assert_array_equal( + out["f1"].reference_time.values.astype("datetime64[D]"), + np.array(["2020-01-02", "2020-01-03"], dtype="datetime64[D]"), + ) + assert out["f2"].sizes["reference_time"] == 2 + + def test_l_star_is_union_of_forecast_lead_times(self, datasets): + out = align_time(datasets, reference="ref") + expected = np.array([0, 6, 12, 18], dtype="int64") + np.testing.assert_array_equal( + out["f1"].lead_time.values.astype("timedelta64[h]").astype("int64"), + expected, + ) + + def test_all_outputs_share_grid(self, datasets): + out = align_time(datasets, reference="ref") + shapes = {k: out[k].temp.shape for k in out} + assert len(set(shapes.values())) == 1, f"shapes differ: {shapes}" + + def test_reference_observation_becomes_forecast_shaped(self, datasets): + out = align_time(datasets, reference="ref") + assert out["ref"].mx.is_forecast() + assert out["ref"].temp.dims == ("reference_time", "lead_time") + assert out["ref"].valid_time.dims == ("reference_time", "lead_time") + + def test_forecast_nan_filled_for_missing_lead_times(self, datasets): + out = align_time(datasets, reference="ref") + # f1 has no 18h lead → its 18h column is all-NaN across R* + assert np.isnan(out["f1"].temp.sel(lead_time="18h").values).all() + # f2 has no 0h lead → its 0h column is all-NaN + assert np.isnan(out["f2"].temp.sel(lead_time="0h").values).all() + # f1's 0h column has real data + assert not np.isnan(out["f1"].temp.sel(lead_time="0h").values).any() + + +# --------------------------------------------------------------------------- +# R* pruning by valid_time range +# --------------------------------------------------------------------------- + + +class TestReferenceTimePruning: + def test_prunes_ref_times_before_reference_window(self, caplog): + f1 = fcst(["2020-01-01", "2020-01-02", "2020-01-03"], ["0h", "6h", "12h"]) + f2 = fcst(["2020-01-01", "2020-01-02", "2020-01-03"], ["0h", "6h", "12h"]) + ref = obs(pd.date_range("2020-01-03", "2020-01-05", freq="3h")) + + with caplog.at_level(logging.WARNING, logger="mxalign.align.time"): + out = align_time({"f1": f1, "f2": f2, "ref": ref}, reference="ref") + + np.testing.assert_array_equal( + out["f1"].reference_time.values.astype("datetime64[D]"), + np.array(["2020-01-03"], dtype="datetime64[D]"), + ) + # The reference observation must end up gap-free after pruning + assert not np.isnan(out["ref"].temp.values).any() + assert any("pruned" in r.message for r in caplog.records) + + def test_keeps_long_lead_time_when_reference_covers_it(self): + """Forecast F2 has a long lead_time; F1 doesn't. L* must keep it.""" + f1 = fcst(["2020-01-02", "2020-01-03"], ["0h", "6h", "12h"]) + f2 = fcst(["2020-01-02", "2020-01-03"], ["0h", "6h", "12h", "240h"]) + ref = obs(pd.date_range("2020-01-01", "2020-01-31", freq="3h")) + + out = align_time({"f1": f1, "f2": f2, "ref": ref}, reference="ref") + + leads = out["f1"].lead_time.values.astype("timedelta64[h]").astype("int64") + assert 240 in leads, "L* must keep F2's long lead_time" + # F1 doesn't have 240h → that column is NaN, but F1's own short leads survive + assert np.isnan(out["f1"].temp.sel(lead_time="240h").values).all() + assert not np.isnan(out["f1"].temp.sel(lead_time="0h").values).any() + + def test_raises_when_no_ref_time_fits_all_lead_times(self): + """Long lead_time + short reference → R* empties → ValueError.""" + f1 = fcst(["2020-01-02", "2020-01-03"], ["0h"]) + f2 = fcst(["2020-01-02", "2020-01-03"], ["0h", "240h"]) + ref = obs(pd.date_range("2020-01-01", "2020-01-04", freq="3h")) + + with pytest.raises(ValueError, match="no reference_time"): + align_time({"f1": f1, "f2": f2, "ref": ref}, reference="ref") + + +# --------------------------------------------------------------------------- +# Multiple observations +# --------------------------------------------------------------------------- + + +class TestMultipleObservations: + def test_both_observations_reshape_to_forecast_grid(self): + f1 = fcst(["2020-01-02", "2020-01-03"], ["0h", "6h", "12h"]) + f2 = fcst(["2020-01-02", "2020-01-03"], ["6h", "12h", "18h"]) + o1 = obs(pd.date_range("2020-01-01", "2020-01-05", freq="3h"), offset=100.0) + o2 = obs(pd.date_range("2020-01-02 06", "2020-01-03 18", freq="6h"), offset=200.0) + + out = align_time({"f1": f1, "f2": f2, "o1": o1, "o2": o2}, reference="o1") + + assert out["o1"].mx.is_forecast() + assert out["o2"].mx.is_forecast() + assert out["o1"].temp.shape == out["o2"].temp.shape == out["f1"].temp.shape + # Reference observation has full coverage; o2 has partial coverage → some NaNs + assert not np.isnan(out["o1"].temp.values).any() + assert np.isnan(out["o2"].temp.values).any() + + +# --------------------------------------------------------------------------- +# Pairwise fallback +# --------------------------------------------------------------------------- + + +class TestPairwiseFallback: + def test_forecast_reference_uses_pairwise(self): + """When the reference is a forecast, no global pruning happens — + each non-ref dataset is aligned pairwise to the reference.""" + f1 = fcst(["2020-01-01", "2020-01-02", "2020-01-03"], ["0h", "6h", "12h"]) + f_ref = fcst(["2020-01-02", "2020-01-03"], ["6h", "12h"]) + + out = align_time({"f1": f1, "ref": f_ref}, reference="ref") + + # f1 reindexed onto f_ref's axes; ref untouched + np.testing.assert_array_equal( + out["f1"].reference_time.values, f_ref.reference_time.values + ) + np.testing.assert_array_equal(out["f1"].lead_time.values, f_ref.lead_time.values) + assert out["ref"] is f_ref + + def test_all_observations_uses_pairwise(self): + """Reference is obs and no forecasts → pairwise reindex.""" + o1 = obs(pd.date_range("2020-01-01", "2020-01-05", freq="6h")) + o2 = obs(pd.date_range("2020-01-02", "2020-01-04", freq="6h")) + + out = align_time({"o1": o1, "o2": o2}, reference="o2") + + np.testing.assert_array_equal( + out["o1"].valid_time.values, o2.valid_time.values + ) + assert out["o1"].mx.is_observation() diff --git a/tests/test_interpolations.py b/tests/test_interpolations.py index 6c2fe3d..3311735 100644 --- a/tests/test_interpolations.py +++ b/tests/test_interpolations.py @@ -81,6 +81,17 @@ def test_output_has_latlon_coords_from_target(self, grid_latlon, target_points): np.testing.assert_array_equal(result["latitude"].values, target_points["latitude"].values) np.testing.assert_array_equal(result["longitude"].values, target_points["longitude"].values) + def test_outside_domain_is_nan(self, grid_latlon): + far_point = xr.Dataset( + coords={ + "latitude": ("point_index", np.array([10.0])), + "longitude": ("point_index", np.array([10.0])), + }, + ) + result = XarrayInterpolator(far_point)._interpolate(grid_latlon) + + assert np.isnan(result["temp"].isel(point_index=0).item()) + # --------------------------------------------------------------------------- # DelaunayInterpolator From eafa041b454d542e636a9615bd87583b03526ece Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:32:49 +0000 Subject: [PATCH 21/32] remove leftover loader functionality --- src/mxalign/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mxalign/__init__.py b/src/mxalign/__init__.py index 61576c3..1ce5e4f 100644 --- a/src/mxalign/__init__.py +++ b/src/mxalign/__init__.py @@ -19,7 +19,6 @@ "align_time", "align_space", "accessors", - "loaders", "transformations", "interpolations", ] From 2c7c905c18031fd913efb06c65badecd7dfaf4c2 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:33:16 +0000 Subject: [PATCH 22/32] add custom loader --- examples/myloader.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 examples/myloader.py diff --git a/examples/myloader.py b/examples/myloader.py new file mode 100644 index 0000000..62cbbf1 --- /dev/null +++ b/examples/myloader.py @@ -0,0 +1,21 @@ +import xarray as xr +import dask + +def load_dataset(file): + ds = xr.open_mfdataset([file], engine='h5netcdf') + + ds = ds.rename_dims(code="point_index") + + ds.attrs["mlwp_time_trait"] = "observation" + ds.attrs["mlwp_space_trait"] = "point" + ds.attrs["mlwp_uncertainty_trait"] = "deterministic" + + ds.coords["valid_time"].attrs["standard_name"] = "time" + ds.coords["latitude"].attrs.update( + {"standard_name": "latitude", "units": "degrees_north"} + ) + ds.coords["longitude"].attrs.update( + {"standard_name": "longitude", "units": "degrees_east"} + ) + + return ds \ No newline at end of file From 576b090cff5aaad4329d707761bb15b19994664e Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:33:28 +0000 Subject: [PATCH 23/32] update introduction --- examples/introduction.ipynb | 88202 ++++------------------------------ 1 file changed, 8326 insertions(+), 79876 deletions(-) diff --git a/examples/introduction.ipynb b/examples/introduction.ipynb index 3c4805e..78e0a0e 100644 --- a/examples/introduction.ipynb +++ b/examples/introduction.ipynb @@ -9,11 +9,18 @@ "\n", "**An xarray based package for alignment of meteorological data**\n", "\n", - "When loading a `xr.Dataset` with the `mxalign` package it attaches Properties along 3 axes:\n", + "`mxalign` operates on `xr.Datasets` that conform to the contract defined in [`mlwp-data-specs`](https://github.com/mlwp-tools/mlwp-data-specs).\n", "\n", - "- **space**: _grid_, _point_\n", - "- **time**: _forecast_, _observation_, _climatology_\n", - "- **uncertainty**: _deterministic_, _ensemble_, _quantile_" + "Different types of datasets can be loaded (and validated) with specific loaders from [`mlwp-data-loaders`](https://github.com/mlwp-tools/mlwp-data-specs)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "65383ad5", + "metadata": {}, + "source": [ + "Opening a dataset directly with `xarray` returns a an `xr.Dataset` exposing the internal structure of the data." ] }, { @@ -567,25 +574,16 @@ " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", " stroke-width: 0.8px;\n", "}\n", - "
<xarray.Dataset> Size: 9GB\n",
-       "Dimensions:         (values: 1142761, time: 25)\n",
+       "
<xarray.Dataset> Size: 475MB\n",
+       "Dimensions:    (values: 1142761, time: 25)\n",
        "Coordinates:\n",
-       "  * time            (time) datetime64[ns] 200B 2020-02-01 ... 2020-02-07\n",
+       "  * time       (time) datetime64[ns] 200B 2020-02-01 ... 2020-02-07\n",
        "Dimensions without coordinates: values\n",
-       "Data variables: (12/81)\n",
-       "    latitude        (values) float32 5MB ...\n",
-       "    longitude       (values) float32 5MB ...\n",
-       "    10u             (time, values) float32 114MB ...\n",
-       "    10v             (time, values) float32 114MB ...\n",
-       "    2d              (time, values) float32 114MB ...\n",
-       "    2t              (time, values) float32 114MB ...\n",
-       "    ...              ...\n",
-       "    z_500           (time, values) float32 114MB ...\n",
-       "    z_700           (time, values) float32 114MB ...\n",
-       "    z_850           (time, values) float32 114MB ...\n",
-       "    z_925           (time, values) float32 114MB ...\n",
-       "    z               (time, values) float32 114MB ...\n",
-       "    tp              (time, values) float32 114MB ...
    • latitude
      (values)
      float64
      dask.array<chunksize=(1142761,), meta=np.ndarray>
      units :
      degrees_north
      long_name :
      latitude
      \n", + " \n", + " \n", + " \n", + " \n", + "
      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      Array Chunk
      Bytes 8.72 MiB 8.72 MiB
      Shape (1142761,) (1142761,)
      Dask graph 1 chunks in 2 graph layers
      Data type float64 numpy.ndarray
      \n", + "
      \n", + " \n", + "\n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 1142761\n", + " 1\n", + "\n", + "
    • longitude
      (values)
      float64
      dask.array<chunksize=(1142761,), meta=np.ndarray>
      units :
      degrees_east
      long_name :
      longitude
      \n", + " \n", + " \n", + " \n", + " \n", + "
      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      Array Chunk
      Bytes 8.72 MiB 8.72 MiB
      Shape (1142761,) (1142761,)
      Dask graph 1 chunks in 2 graph layers
      Data type float64 numpy.ndarray
      \n", + "
      \n", + " \n", + "\n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 1142761\n", + " 1\n", + "\n", + "
    • 10u
      (time, values)
      float64
      dask.array<chunksize=(13, 571381), meta=np.ndarray>
      fill_value :
      nan
      \n", + " \n", + " \n", + " \n", + " \n", + "
      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      Array Chunk
      Bytes 217.96 MiB 56.67 MiB
      Shape (25, 1142761) (13, 571381)
      Dask graph 4 chunks in 2 graph layers
      Data type float64 numpy.ndarray
      \n", + "
      \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 1142761\n", + " 25\n", + "\n", + "
    • 2t
      (time, values)
      float64
      dask.array<chunksize=(13, 571381), meta=np.ndarray>
      fill_value :
      nan
      \n", + " \n", + " \n", + " \n", + " \n", + "
      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      Array Chunk
      Bytes 217.96 MiB 56.67 MiB
      Shape (25, 1142761) (13, 571381)
      Dask graph 4 chunks in 2 graph layers
      Data type float64 numpy.ndarray
      \n", + "
      \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 1142761\n", + " 25\n", + "\n", + "
  • " ], "text/plain": [ - " Size: 9GB\n", - "Dimensions: (values: 1142761, time: 25)\n", + " Size: 475MB\n", + "Dimensions: (values: 1142761, time: 25)\n", "Coordinates:\n", - " * time (time) datetime64[ns] 200B 2020-02-01 ... 2020-02-07\n", + " * time (time) datetime64[ns] 200B 2020-02-01 ... 2020-02-07\n", "Dimensions without coordinates: values\n", - "Data variables: (12/81)\n", - " latitude (values) float32 5MB ...\n", - " longitude (values) float32 5MB ...\n", - " 10u (time, values) float32 114MB ...\n", - " 10v (time, values) float32 114MB ...\n", - " 2d (time, values) float32 114MB ...\n", - " 2t (time, values) float32 114MB ...\n", - " ... ...\n", - " z_500 (time, values) float32 114MB ...\n", - " z_700 (time, values) float32 114MB ...\n", - " z_850 (time, values) float32 114MB ...\n", - " z_925 (time, values) float32 114MB ...\n", - " z (time, values) float32 114MB ...\n", - " tp (time, values) float32 114MB ..." + "Data variables:\n", + " latitude (values) float64 9MB dask.array\n", + " longitude (values) float64 9MB dask.array\n", + " 10u (time, values) float64 229MB dask.array\n", + " 2t (time, values) float64 229MB dask.array" ] }, "execution_count": 1, @@ -629,23 +842,77 @@ "source": [ "import xarray as xr\n", "import numpy as np\n", - "import os\n", "\n", - "# netCDF file produced by anemoi-inference\n", - "dir_fcst = \"/scratch/project_465000527/vandenbl/sg-la-comparison/inference-out/la-1024-01-ea-00\"\n", - "fname_fcst = \"2020020100.nc\"\n", + "\n", + "ENDPOINT_URL = \"https://object-store.os-api.cci2.ecmwf.int\"\n", + "STORAGE_OPTS = {\"endpoint_url\": ENDPOINT_URL, \"anon\": True}\n", + "\n", + "# netCDF file produced by anemoi-inference stored in an s3-bucket\n", + "DS_PATH = \"s3://mlwp-sample-datasets/anemoi-inference/unknown-revision/anemoi-inference-lam_2020020100.nc\"\n", "\n", "# Using xarray to open the netCDF-file\n", - "ds_fcst1 = xr.open_dataset(os.path.join(dir_fcst, fname_fcst))\n", + "ds_fcst1 = xr.open_dataset(\n", + " DS_PATH,\n", + " engine=\"h5netcdf\",\n", + " storage_options=STORAGE_OPTS,\n", + " chunks=\"auto\"\n", + ")\n", "ds_fcst1" ] }, + { + "cell_type": "markdown", + "id": "d94c63cb", + "metadata": {}, + "source": [ + "As seen above, the returned dataset may need some additional processing before it can be used in a verification pipeline (e.g. the `latitude` and `longitude` are registed as data variables)" + ] + }, + { + "cell_type": "markdown", + "id": "3ada1ac6", + "metadata": {}, + "source": [ + "When loading a dataset with the `mlwp-data-loaders` package it returns an `xr.Dataset` and attaches Traits along 3 axes:\n", + "\n", + "- **space**: _grid_, _point_\n", + "- **time**: _forecast_, _observation_, _climatology_\n", + "- **uncertainty**: _deterministic_, _ensemble_, _quantile_" + ] + }, + { + "cell_type": "markdown", + "id": "c9815f90", + "metadata": {}, + "source": [ + "Depending on the traits, pre-defined dimensions, coordinates and metadata are enforced." + ] + }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "f718a1d8", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2026-06-23 12:20:18.922\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'time', 'variants': [{'reference_time', 'lead_time'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.923\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'time', 'required_coords': {'reference_time', 'lead_time'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.923\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_time_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.924\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Time Coordinate', 'requirement': \"Metadata for coordinate 'reference_time'\", 'coord': 'reference_time', 'required_attrs': {'standard_name': {'time', 'forecast_reference_time'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.924\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Time Coordinate', 'requirement': \"Metadata for coordinate 'lead_time'\", 'coord': 'lead_time', 'required_attrs': {'standard_name': {'forecast_period'}, 'units': {'s', 'h', 'seconds', 'hours'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.925\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'space', 'variants': [{'yc', 'xc'}, {'grid_index'}, {'longitude', 'latitude'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.925\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'space', 'required_coords': {'longitude', 'latitude'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.926\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_space_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.926\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'longitude'\", 'coord': 'longitude', 'required_attrs': {'standard_name': {'longitude'}, 'units': {'degrees_east'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.926\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'latitude'\", 'coord': 'latitude', 'required_attrs': {'standard_name': {'latitude'}, 'units': {'degrees_north'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.927\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'uncertainty', 'variants': []}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.927\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'uncertainty', 'required_coords': set()}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:18.928\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_uncertainty_coordinate_metadata with {'trait': }\u001b[0m\n" + ] + }, { "data": { "text/html": [ @@ -1191,38 +1458,21 @@ " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", " stroke-width: 0.8px;\n", "}\n", - "
    <xarray.Dataset> Size: 9GB\n",
    +       "
    <xarray.Dataset> Size: 475MB\n",
            "Dimensions:         (grid_index: 1142761, reference_time: 1, lead_time: 25)\n",
            "Coordinates:\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    +       "    latitude        (grid_index) float64 9MB dask.array<chunksize=(1142761,), meta=np.ndarray>\n",
    +       "    longitude       (grid_index) float64 9MB dask.array<chunksize=(1142761,), meta=np.ndarray>\n",
            "  * reference_time  (reference_time) datetime64[ns] 8B 2020-02-01\n",
            "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
            "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 114MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, grid_index) float64 229MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, grid_index) float64 229MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
            "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...
    " + ], + "text/plain": [ + " Size: 475MB\n", + "Dimensions: (grid_index: 1142761, reference_time: 1, lead_time: 25)\n", + "Coordinates:\n", + " latitude (grid_index) float64 9MB dask.array\n", + " longitude (grid_index) float64 9MB dask.array\n", + " * reference_time (reference_time) datetime64[ns] 8B 2020-02-01\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + "Dimensions without coordinates: grid_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, grid_index) float64 229MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 229MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Using mxalign to open the netCDF-file\n", + "from mlwp_data_loaders import load_and_validate_dataset\n", + "\n", + "LOADER = \"mlwp_data_loaders.loaders.anemoi.anemoi_inference\"\n", + "\n", + "ds_fcst2, report = load_and_validate_dataset(\n", + " DS_PATH, \n", + " loader=LOADER,\n", + " storage_options=STORAGE_OPTS,\n", + " return_validation_report=True\n", + ")\n", + "ds_fcst2" + ] + }, + { + "cell_type": "markdown", + "id": "31d7e305", + "metadata": {}, + "source": [ + "`mlwp-data-loaders` can (`return_validation_report = True`) provide additional information in the form of a validation report" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e848eef1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                     Validation Report                                                 \n",
    +       "┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
    +       "┃ Section             Requirement                Status  Detail                     Check Function            ┃\n",
    +       "┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
    +       "│ Time Coordinate     Allowed dimension         │   ✅   │ Dataset dims satisfy       traits._common.check_dim… │\n",
    +       "│                     variants                  │        │ variant ['lead_time',                                │\n",
    +       "│                                               │        │ 'reference_time']                                    │\n",
    +       "│ Time Coordinate     Required coordinates are  │   ✅   │ All required coordinates   traits._common.check_req… │\n",
    +       "│                     present                   │        │ present: ['lead_time',                               │\n",
    +       "│                                               │        │ 'reference_time']                                    │\n",
    +       "│ Time Coordinate     Metadata for coordinate   │   ✅   │ reference_time: metadata   metadata.coords.check_ti… │\n",
    +       "│                     'reference_time'          │        │ is compliant                                         │\n",
    +       "│ Time Coordinate     Metadata for coordinate   │   ✅   │ lead_time: metadata is     metadata.coords.check_ti… │\n",
    +       "│                     'lead_time'               │        │ compliant                                            │\n",
    +       "│ Spatial Coordinate  Allowed dimension         │   ✅   │ Dataset dims satisfy       traits._common.check_dim… │\n",
    +       "│                     variants                  │        │ variant ['grid_index']                               │\n",
    +       "│ Spatial Coordinate  Required coordinates are  │   ✅   │ All required coordinates   traits._common.check_req… │\n",
    +       "│                     present                   │        │ present: ['latitude',                                │\n",
    +       "│                                               │        │ 'longitude']                                         │\n",
    +       "│ Spatial Coordinate  Metadata for coordinate   │   ✅   │ longitude: metadata is     metadata.coords.check_sp… │\n",
    +       "│                     'longitude'               │        │ compliant                                            │\n",
    +       "│ Spatial Coordinate  Metadata for coordinate   │   ✅   │ latitude: metadata is      metadata.coords.check_sp… │\n",
    +       "│                     'latitude'                │        │ compliant                                            │\n",
    +       "│ Uncertainty         Allowed dimension         │   ✅   │ No dimension restrictions  traits._common.check_dim… │\n",
    +       "│                     variants                  │        │                                                      │\n",
    +       "│ Uncertainty         Required coordinates are  │   ✅   │ No required coordinates    traits._common.check_req… │\n",
    +       "│                     present                   │        │                                                      │\n",
    +       "│ Uncertainty         Deterministic mode        │   ✅   │ No uncertainty coordinate  metadata.coords.check_un… │\n",
    +       "│                     metadata                  │        │ required                                             │\n",
    +       "└────────────────────┴───────────────────────────┴────────┴───────────────────────────┴───────────────────────────┘\n",
    +       "
    \n" + ], + "text/plain": [ + "\u001b[3m Validation Report \u001b[0m\n", + "┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mSection \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mRequirement \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mStatus\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mDetail \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mCheck Function \u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", + "│\u001b[1m \u001b[0m\u001b[1mTime Coordinate \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mAllowed dimension \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mDataset dims satisfy \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mtraits._common.check_dim…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mvariants \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mvariant ['lead_time', \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3m'reference_time'] \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mTime Coordinate \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mRequired coordinates are \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mAll required coordinates \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mtraits._common.check_req…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mpresent \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mpresent: ['lead_time', \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3m'reference_time'] \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mTime Coordinate \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMetadata for coordinate \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mreference_time: metadata \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mmetadata.coords.check_ti…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'reference_time' \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mis compliant \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mTime Coordinate \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMetadata for coordinate \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mlead_time: metadata is \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mmetadata.coords.check_ti…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'lead_time' \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mcompliant \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mSpatial Coordinate\u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mAllowed dimension \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mDataset dims satisfy \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mtraits._common.check_dim…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mvariants \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mvariant ['grid_index'] \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mSpatial Coordinate\u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mRequired coordinates are \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mAll required coordinates \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mtraits._common.check_req…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mpresent \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mpresent: ['latitude', \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3m'longitude'] \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mSpatial Coordinate\u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMetadata for coordinate \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mlongitude: metadata is \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mmetadata.coords.check_sp…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'longitude' \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mcompliant \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mSpatial Coordinate\u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMetadata for coordinate \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mlatitude: metadata is \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mmetadata.coords.check_sp…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'latitude' \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mcompliant \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mUncertainty \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mAllowed dimension \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mNo dimension restrictions\u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mtraits._common.check_dim…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mvariants \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mUncertainty \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mRequired coordinates are \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mNo required coordinates \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mtraits._common.check_req…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mpresent \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m\u001b[1mUncertainty \u001b[0m\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mDeterministic mode \u001b[0m\u001b[2m \u001b[0m│ ✅ │\u001b[3m \u001b[0m\u001b[3mNo uncertainty coordinate\u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m\u001b[1mmetadata.coords.check_un…\u001b[0m\u001b[1m \u001b[0m│\n", + "│\u001b[1m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mmetadata \u001b[0m\u001b[2m \u001b[0m│ │\u001b[3m \u001b[0m\u001b[3mrequired \u001b[0m\u001b[3m \u001b[0m│\u001b[1m \u001b[0m│\n", + "└────────────────────┴───────────────────────────┴────────┴───────────────────────────┴───────────────────────────┘\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
    Summary: 0 fail(s), 0 warning(s), 11 pass(es).\n",
    +       "
    \n" + ], + "text/plain": [ + "Summary: \u001b[1;36m0\u001b[0m \u001b[1;35mfail\u001b[0m\u001b[1m(\u001b[0ms\u001b[1m)\u001b[0m, \u001b[1;36m0\u001b[0m \u001b[1;35mwarning\u001b[0m\u001b[1m(\u001b[0ms\u001b[1m)\u001b[0m, \u001b[1;36m11\u001b[0m \u001b[1;35mpass\u001b[0m\u001b[1m(\u001b[0mes\u001b[1m)\u001b[0m.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "report.console_print()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "6f4f1472", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'mlwp_time_trait': 'forecast',\n", + " 'mlwp_space_trait': 'grid',\n", + " 'mlwp_uncertainty_trait': 'deterministic'}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# The type of datasets is uniquely defined by its Traits (stored as attributes)\n", + "ds_fcst2.attrs" + ] + }, + { + "cell_type": "markdown", + "id": "fd2fb88c", + "metadata": {}, + "source": [ + "## Traits\n", + "Every trait comes with a _contract_: a required set of dimensions, dimension names and coordinates\n", + "\n", + "### Space\n", + "**GRID**\n", + "- required dimensions: `(grid_index)` or `(lat, lon)` or `(yc, xc)`\n", + "- required coordinates: `(lat, lon)`\n", + "\n", + "**OBSERVATION**\n", + "- required dimensions: `(point_index)`\n", + "- required dimensions: `(lat, lon)`\n", + "\n", + "### Time\n", + "**FORECAST**\n", + "- required dimensions: `(reference_time, lead_time)`\n", + "- required coordinates: `(reference_time, lead_time)`\n", + "\n", + "**OBSERVATION**\n", + "- required dimensions: `(valid_time)`\n", + "- required coordinates: `(valid_time)`\n", + "\n", + "**CLIMATOLOGY**\n", + "TBD\n", + "\n", + "### Uncertainty\n", + "**DETERMINISTIC**\n", + "- required dimensions: `null`\n", + "- required coordinates: `null`\n", + "\n", + "**ENSEMBLE**\n", + "- required dimensions: `(member)`\n", + "- required coordinates: `(member)`\n", + "\n", + "**QUANTILE**\n", + "- required dimensions: `(quantile)`\n", + "- required coordinates: `(quantile)`\n", + "\n", + "When a dataset is loaded with `mxalign` the above specification get validated." + ] + }, + { + "cell_type": "markdown", + "id": "25971749", + "metadata": {}, + "source": [ + "## Accessors\n", + "With datesets defined along the three Trait-axes, alignment methods can be inferred from the datasets themselves.\n", + "\n", + "For this the `mxalign` package adds an `mx` accessor to `xr.Datasets`" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "79297314", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2026-06-23 12:20:26.417\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'time', 'variants': [{'reference_time', 'lead_time'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.418\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'time', 'required_coords': {'reference_time', 'lead_time'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.418\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_time_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.419\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Time Coordinate', 'requirement': \"Metadata for coordinate 'reference_time'\", 'coord': 'reference_time', 'required_attrs': {'standard_name': {'time', 'forecast_reference_time'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.419\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Time Coordinate', 'requirement': \"Metadata for coordinate 'lead_time'\", 'coord': 'lead_time', 'required_attrs': {'standard_name': {'forecast_period'}, 'units': {'s', 'h', 'seconds', 'hours'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.420\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'space', 'variants': [{'yc', 'xc'}, {'grid_index'}, {'longitude', 'latitude'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.420\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'space', 'required_coords': {'longitude', 'latitude'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.420\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_space_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.421\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'longitude'\", 'coord': 'longitude', 'required_attrs': {'standard_name': {'longitude'}, 'units': {'degrees_east'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.421\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'latitude'\", 'coord': 'latitude', 'required_attrs': {'standard_name': {'latitude'}, 'units': {'degrees_north'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.421\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'uncertainty', 'variants': []}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.422\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'uncertainty', 'required_coords': set()}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:26.422\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_uncertainty_coordinate_metadata with {'trait': }\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 932MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, grid_index: 1142761)\n",
    +       "Coordinates:\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    latitude        (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    +       "    longitude       (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    +       "Dimensions without coordinates: grid_index\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        grid\n",
    +       "    mlwp_uncertainty_trait:  deterministic
    " - ], - "text/plain": [ - " Size: 9GB\n", - "Dimensions: (grid_index: 1142761, reference_time: 1, lead_time: 25)\n", - "Coordinates:\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " * reference_time (reference_time) datetime64[ns] 8B 2020-02-01\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 114MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ..." - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Using mxalign to open the netCDF-file\n", - "import mxalign as mx\n", - "\n", - "ds_fcst2 = mx.load(\n", - " \"anemoi-inference\", os.path.join(dir_fcst, fname_fcst), engine=\"netcdf4\"\n", - ")\n", - "ds_fcst2" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "6f4f1472", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'space': 'grid', 'time': 'forecast', 'uncertainty': 'deterministic'}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# The type of datasets is uniquely defined by its properties\n", - "ds_fcst2.attrs[\"properties\"]" - ] - }, - { - "cell_type": "markdown", - "id": "fd2fb88c", - "metadata": {}, - "source": [ - "## Properties\n", - "Every property comes with a _contract_: a required set of dimensions, dimension names and coordinates\n", - "\n", - "### Space\n", - "**GRID**\n", - "- required dimensions: `(grid_index)` or `(lat, lon)` or `(yc, xc)`\n", - "- required coordinates: `(lat, lon)`\n", - "\n", - "**OBSERVATION**\n", - "- required dimensions: `(point_index)`\n", - "- required dimensions: `(lat, lon)`\n", - "\n", - "### Time\n", - "**FORECAST**\n", - "- required dimensions: `(reference_time, lead_time)`\n", - "- required coordinates: `(reference_time, lead_time)`\n", - "\n", - "**OBSERVATION**\n", - "- required dimensions: `(valid_time)`\n", - "- required coordinates: `(valid_time)`\n", - "\n", - "**CLIMATOLOGY**\n", - "TBD\n", - "\n", - "### Uncertainty\n", - "**DETERMINISTIC**\n", - "- required dimensions: `null`\n", - "- required coordinates: `null`\n", - "\n", - "**ENSEMBLE**\n", - "- required dimensions: `(member)`\n", - "- required coordinates: `(member)`\n", - "\n", - "**QUANTILE**\n", - "- required dimensions: `(quantile)`\n", - "- required coordinates: `(quantile)`\n", - "\n", - "When a dataset is loaded with `mxalign` the above specification get validated." - ] - }, - { - "cell_type": "markdown", - "id": "25971749", - "metadata": {}, - "source": [ - "## Accessors\n", - "With datesets defined along the three Property-axes, alignment methods can be inferred from the datasets themselves.\n", - "\n", - "For this the `mxalign` package adds a `time` and `space` accessor to `xr.Datasets`" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "79297314", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (reference_time: 3, lead_time: 25, grid_index: 1142761)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ..." - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# anemoi-inference forecasts\n", - "fname_fcst = [\"2020020100.nc\", \"2020020200.nc\", \"2020020300.nc\"]\n", - "ds_fcst = mx.load(\n", - " \"anemoi-inference\",\n", - " [os.path.join(dir_fcst, fname) for fname in fname_fcst],\n", - " engine=\"netcdf4\",\n", - ")\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "3f9a50e4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Dataset is a forecast\n" - ] - }, - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (reference_time: 3, lead_time: 25, grid_index: 1142761)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ..." - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# TIME accessor\n", - "if ds_fcst.time.is_forecast():\n", - " print(\"Dataset is a forecast\")\n", - "if ds_fcst.time.is_observation():\n", - " print(\"Dataset is an observation\")\n", - "\n", - "# Add an auxiliary valid time coordinate\n", - "ds_fcst = ds_fcst.time.add_valid_time()\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "1effcc4a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...\n",
    -       "    crs:         +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8.0 ...
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (reference_time: 3, lead_time: 25, grid_index: 1142761)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...\n", - " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8.0 ..." - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# SPACE accessor\n", - "import cartopy.crs as ccrs\n", - "\n", - "# Define a Coordinate Reference System (CRS)\n", - "globe_cerra = ccrs.Globe(semimajor_axis=6371229.0, semiminor_axis=6371229.0)\n", - "crs_cerra = ccrs.LambertConformal(\n", - " central_longitude=8.0,\n", - " central_latitude=50.0,\n", - " standard_parallels=[50.0, 50.0],\n", - " globe=globe_cerra,\n", - ")\n", - "\n", - "# Add it to the dataset (this will enable other functionality)\n", - "ds_fcst = ds_fcst.space.add_crs(crs_cerra)\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "77d7ff0e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "    xc              (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    -       "    yc              (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...\n",
    -       "    crs:         +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8.0 ...
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (reference_time: 3, lead_time: 25, grid_index: 1142761)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " xc (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n", - " yc (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'determ...\n", - " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8.0 ..." - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Add native x and y coordinates (in this case Lambert Conformal)\n", - "ds_fcst = ds_fcst.space.add_xy()\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "47988bd3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "    xc              (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    -       "    yc              (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:    {'space': 'grid', 'time': 'forecast', 'uncertainty': 'dete...\n",
    -       "    crs:           +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n",
    -       "    grid_mapping:  {'lon_ll': -17.4859, 'lat_ll': 20.2923, 'lon_ur': 74.1051,...
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (reference_time: 3, lead_time: 25, grid_index: 1142761)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " xc (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n", - " yc (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'dete...\n", - " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n", - " grid_mapping: {'lon_ll': -17.4859, 'lat_ll': 20.2923, 'lon_ur': 74.1051,..." - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Adding a grid-mapping will enable unstacking of the grid\n", - "ds_fcst = ds_fcst.space.add_grid_mapping(\"cerra\")\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "1d3ce9a0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (yc: 1069, xc: 1069, reference_time: 3, lead_time: 25)\n",
    -       "Coordinates:\n",
    -       "  * yc              (yc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    -       "  * xc              (xc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    -       "    latitude        (yc, xc) float32 5MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n",
    -       "    longitude       (yc, xc) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, yc, xc) float32 343MB dask.array<chunksize=(1, 25, 1069, 1069), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:    {'space': 'grid', 'time': 'forecast', 'uncertainty': 'dete...\n",
    -       "    crs:           +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n",
    -       "    grid_mapping:  {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'lat_ll': 20....
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (yc: 1069, xc: 1069, reference_time: 3, lead_time: 25)\n", - "Coordinates:\n", - " * yc (yc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n", - " * xc (xc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n", - " latitude (yc, xc) float32 5MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n", - " longitude (yc, xc) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " z (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - " tp (reference_time, lead_time, yc, xc) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'dete...\n", - " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n", - " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'lat_ll': 20...." - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Unstack\n", - "ds_fcst = ds_fcst.space.unstack()\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "18ff3d66", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAIvCAYAAACBRloiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnXecHVXd/99nyu3bs5tN7wRSCBBa6NICBGwI0gQUHkBQREWxI4qFnw0bKBZAioWiIlVK6L2EmpCQQnrdZOstU87vjzMzd+beu7sJEHjgmc++7mvvnTvlzNw5Zz7n821CSimJESNGjBgxYsR4n0J7rxsQI0aMGDFixIjxdhCTmRgxYsSIESPG+xoxmYkRI0aMGDFivK8Rk5kYMWLEiBEjxvsaMZmJESNGjBgxYryvEZOZGDFixIgRI8b7GjGZiREjRowYMWK8rxGTmRgxYsSIESPG+xrGe92AGDFixIgR44OGQqFAqVR6V46VSCRIpVLvyrH+tyImMzFixIgRI8Y7iEKhQHu6gU7eHTLT3t7O0qVL/08TmpjMxIgRI0aMGO8gSqUSnZT4KfuQ3s6P2Tw2F659nFKpFJOZGDFixIgRI8Y7i6xmkhbb9zGrSQHudj3E+wKxA3CMGDFixIgR432NWJmJESNGjBgxtgM0HTSxnY8hiZUZYmUmRowYMWLEiPE+R6zMxIgRI0aMGNsBQhNoYvtKM0JuZ+nnfYJYmYkRI0aMGDFivK8RKzMxYsSIESPGdoCug76dhRNdbt/9v18QKzMxYsSIESNGjPc1YjITI0aMGDFixHhfIzYzxYgRI0aMGNsB2rvgAKzFDsBArMzEiBEjRowYMd7niJWZGDFixIgRYztA096lpHkxYmUmRowYMWLEiPH+RqzMxIgRI0aMGNsBmh77zLxbiJWZGDFixIgRI8b7GrEyEyNGjBgxYmwHaEL5zWzXY8RFJoFYmYkRI0aMGDFivM8RKzMxYsSIESPGdoCmC7TtHM60vX1y3i+IlZkYMWLEiBEjxvsasTITI0aMGDFibAfomnpt12Ns392/bxArMzFixIgRI0aM9zViZSZGjBgxYsTYDtC0d8FnhthnBmJlJkaMGDFixIjxPkdMZmLEiBEjRoztAKGDtp1fYhudZq688kp23nln6uvrqa+vZ9asWdx1113B94VCgfPOO4+WlhZyuRzHHnss69ati+xj+fLlzJkzh0wmQ1tbG1/5ylewbfuduGRvGTGZiREjRowYMf6PYOTIkfz4xz/mueee49lnn+Xggw/mIx/5CK+++ioAX/ziF/nPf/7DTTfdxEMPPcTq1av5+Mc/HmzvOA5z5syhVCrx+OOPc+2113LNNdfwne985706JQCElDKuuRkjRowYMWK8Q+jq6qKhoYF/jj6UrGZu12P1uhYfW34fnZ2d1NfXv6V9NDc385Of/IRPfOITtLa2cuONN/KJT3wCgAULFrDTTjvxxBNPsPfee3PXXXdx9NFHs3r1aoYOHQrA7373Oy666CI2bNhAIpF4x85tWxArMzFixIgRI8b/QTiOw9/+9jd6e3uZNWsWzz33HJZlceihhwbr7LjjjowePZonnngCgCeeeILp06cHRAZg9uzZdHV1BerOe4E4milGjBgxYsTYDtC0d6E2k/e/q6srsjyZTJJMJmtu8/LLLzNr1iwKhQK5XI5//vOfTJkyhXnz5pFIJGhsbIysP3ToUNauXQvA2rVrI0TG/97/7r3Ce6LMXHfddey4446Ypll10WLUhhCC7373u+91M2L8H8fpp5/O2LFj35NjH3TQQRx00EHvyL4efPBBhBA8+OCD78j+/q8gHof+92LUqFE0NDQErx/96Ef9rjt58mTmzZvHU089xWc/+1lOO+00XnvttXexte883nUys2DBAk4//XQmTJjAH/7wB6666qp3uwn/a3HnnXf+nxwo7r//fj7zmc+www47kMlkGD9+PGeeeSZr1qypuf7jjz/OfvvtRyaTob29nfPPP5+enp7IOs888wyf+9znmDp1KtlsltGjR3P88cezcOHCmvucP38+RxxxBLlcjubmZj71qU+xYcOGrT6HYrHIRRddxPDhw0mn0+y1117ce++9kXX6+vr47W9/y+GHH86wYcOoq6tj11135corr8RxnHf0WAD//e9/OeOMM5g2bRq6rr9nJOS9xBVXXME111zzXjfjXYXrulxzzTV8+MMfZtSoUWSzWaZNm8all15KoVB4r5sXYzthxYoVdHZ2Bq+vf/3r/a6bSCSYOHEiM2fO5Ec/+hEzZszgl7/8Je3t7ZRKJbZs2RJZf926dbS3twPQ3t5eFd3kf/bXeS/wrpuZHnzwQVzX5Ze//CUTJ058tw//vxp33nknv/3tb2sSmnw+j2F8MK2C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f/xj7rjjDi699FKam5v5/e9/z8EHH8xll13GDTfcwIUXXsgee+zBAQccAPC2293X10dfX9+g7dN1naampq0+Hx89PT309PQwZMiQYNnLL7+MbdvsvvvukXUTiQS77LILL7zwwoD7lFKybt26CKFYtWoV69evr9onwJ577smdd945aFtfeOEFdthhhyqJd8899wSUaWzUqFH9bu9HAITPdXsda3tga/vdNddcQy6X40tf+hK5XI4HHniA73znO3R1dfGTn/wk2N+f/vQnzj77bPbZZx8uuOAClixZwoc//GGam5u36dwuv/xyPv/5z5PL5fjmN78JUBWFUYnNmzdz9NFHc8IJJ3Dcccdx5ZVXcsIJJ3DDDTdwwQUXcM4553DSSScFOTlWrFhBXV0doPwG9t57b4QQfO5zn6O1tZW77rqLM844g66uLi644IIBj93Z2YllWYOeVyqVIpfLbd1FCGFb7rMzzzyT66+/npNOOol99tmHBx54gDlz5lSt98wzz/D4449zwgknMHLkSJYtW8aVV17JQQcdxGuvvRb4wO27777ccMMNfPGLX4xsf8MNN1BXV8dHPvIRAM455xxuvvlmPve5zzFlyhQ2bdrEo48+yvz589ltt922+ZxjVONPf/rTgN+nUil++9vfBpPrWhgzZsxWjY3vKrZFxrn44oslIE888cTI8mXLlkld1+UPfvCDyPKXX35ZGoYRWe7vI2xm6u7ulo2NjfJ//ud/ItuvXbtWNjQ0RJafdtppEpBf+9rXIus+8sgjEpA33HBDZPndd99dtXzMmDESkA8//HCwbP369TKZTMovf/nLwbLvfOc7EpC33npr1bVwXVdKKeV1110nNU2TjzzySOT73/3udxKoKff2h4HMTFTIu/51POuss4Jltm3LkSNHSiGE/PGPfxws37x5s0yn0/K0004Llr3ddvvHH+z1Vk0S3//+9yUg77///mDZTTfdVPW7+TjuuONke3v7gPu87rrrJCD/9Kc/BcueeeYZCci//OUvVet/5StfkYAsFAoD7nfq1Kny4IMPrlr+6quvSkD+7ne/63fbYrEop0yZIseNGyctyxrwOG/nWNvLzLQt/a6vr69qf2effbbMZDLBNS6VSrKtrU3usssuETPhVVddJYF3zMw0d+5cCci5c+cGyw488EAJyBtvvDFYtmDBAglITdPkk08+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kq4BHHHEEbS2tnLDDTew11570dfXF5ihwhg2bBjnnnsu5557LuvXr2e33XbjBz/4wfuSzGiaQNO2c54ZGecMgncoA/DHP/5xdF3nkksuqVI2pJQR80YtzJ49m/r6en74wx/W9Obfmkysxx9/PI7jBBJmGLZt1+xcg+HYY4/lxRdf5J///GfVd/55Hn/88axatYo//OEPVevk83l6e3u3+njZbBbgLbV1W/F2233qqady7733Dvrqb8YeRm9vL0cddRSrVq3izjvv7Ndc2dDQwKGHHsr1119Pd3d3sPy6666jp6eH4447LljmOA6f/OQneeKJJ7jpppuChE+1cOyxx3L77bdHwprvv/9+Fi5cGOwzlUpx6KGHRl5+lNYnPvEJHMeJmBeKxSJXX301e+21V0TlevjhhznhhBM44IADuOGGG6oUxnfyWO8Gtrbf+cpGeHwolUpcccUVkW123313Wltb+d3vfhdRKa655pq31C+y2ey70p90XefYY4/llltuqTkB2pox7Gc/+9lW9amvfvWrg+5r/vz5zJkzh7Fjx3L77bdv0wTPJw2/+tWvIssvv/zyqnV1Xa8a83/961/XDLc3DIMTTzyRf/zjH1xzzTVMnz49olY5jhMxTYGa4A4fPjxiWt24cSMLFiyIRFP29fWxYMGCiK8SKLP18uXLBznjGB8EvGPKzKWXXsrXv/51li1bxkc/+lHq6upYunQp//znPznrrLO48MIL+92+vr6eK6+8kk996lPstttunHDCCbS2trJ8+XLuuOMO9t13X37zm98M2IYDDzyQs88+mx/96EfMmzePww8/HNM0WbRoETfddBO//OUvg5LmW4uvfOUr3HzzzRx33HF85jOfYebMmXR0dHDbbbfxu9/9jhkzZvCpT32Kf/zjH5xzzjnMnTuXfffdF8dxWLBgAf/4xz+45557aob91oJvMz///POZPXs2uq5HnBHfSbzddr+TPjMnn3wyTz/9NJ/5zGeYP39+JA9GLpfjox/9aPD5Bz/4Afvssw8HHnggZ511FitXruRnP/sZhx9+OEcccUSw3pe//GVuu+02jjnmGDo6Orj++usjxww7HX7jG9/gpptu4kMf+hBf+MIX6Onp4Sc/+QnTp0/n05/+9KDt32uvvTjuuOP4+te/zvr165k4cSLXXnsty5Yti4RBvvnmm3z4wx9GCMEn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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Now we can plot the data on the native grid\n", - "import matplotlib.pyplot as plt\n", - "\n", - "_ = (\n", - " ds_fcst[\"2t\"]\n", - " .isel(reference_time=0, lead_time=10)\n", - " .plot(\n", - " x=\"xc\",\n", - " y=\"yc\",\n", - " figsize=(7, 7),\n", - " subplot_kws={\"projection\": ds_fcst.attrs[\"crs\"]},\n", - " cmap=\"Spectral_r\",\n", - " )\n", - ")\n", - "_ = plt.gca().coastlines()\n", - "_ = plt.gca().gridlines()" - ] - }, - { - "cell_type": "markdown", - "id": "a9feaf7c", - "metadata": {}, - "source": [ - "## Loading\n", - "All loading of datasets is done through the central `mxalign.load` function" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "90e29952", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['mxalign', 'anemoi-datasets', 'anemoi-inference']" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# check available loaders\n", - "mx.available_loaders()" - ] - }, - { - "cell_type": "markdown", - "id": "b210cb47", - "metadata": {}, - "source": [ - "Since you know your dataset best you can bring your own loader. \n", - "The final result of your loader should be an `xarray.Dataset` with a property on each of the 3 axes and the correct dimensions and coordinates. \n", - "To register your loader use the `@register_loader` decorator" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "c880e07f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 2GB\n",
    -       "Dimensions:          (valid_time: 20201, point_index: 1706)\n",
    -       "Coordinates:\n",
    -       "  * valid_time       (valid_time) datetime64[ns] 162kB 2020-01-01 ... 2021-01-12\n",
    -       "    code             (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n",
    -       "    station_name     (point_index) <U20 136kB 'Krakenes' ... 'Krasnaja Gora'\n",
    -       "    station_country  (point_index) <U20 136kB 'Norway' ... 'U.S.S.R.(Europe)'\n",
    -       "    latitude         (point_index) float64 14kB 62.03 62.33 62.18 ... 52.9 53.02\n",
    -       "    longitude        (point_index) float64 14kB 4.983 5.267 6.067 ... 30.03 31.6\n",
    -       "    altitude         (point_index) float64 14kB nan 38.0 74.0 ... nan nan nan\n",
    -       "Dimensions without coordinates: point_index\n",
    -       "Data variables:\n",
    -       "    10wdir           (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    10si             (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    2t               (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    2d               (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    msl              (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    2r               (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    2t_max           (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "    2t_min           (valid_time, point_index) float64 276MB dask.array<chunksize=(14097, 1190), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'point', 'time': 'observation', 'uncertainty': 'de...
    " - ], - "text/plain": [ - " Size: 2GB\n", - "Dimensions: (valid_time: 20201, point_index: 1706)\n", - "Coordinates:\n", - " * valid_time (valid_time) datetime64[ns] 162kB 2020-01-01 ... 2021-01-12\n", - " code (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n", - " station_name (point_index) \n", - " 10si (valid_time, point_index) float64 276MB dask.array\n", - " 2t (valid_time, point_index) float64 276MB dask.array\n", - " 2d (valid_time, point_index) float64 276MB dask.array\n", - " msl (valid_time, point_index) float64 276MB dask.array\n", - " 2r (valid_time, point_index) float64 276MB dask.array\n", - " 2t_max (valid_time, point_index) float64 276MB dask.array\n", - " 2t_min (valid_time, point_index) float64 276MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'point', 'time': 'observation', 'uncertainty': 'de..." - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ds_obs = mx.load(\n", - " \"mxalign\",\n", - " files=\"/scratch/project_465002133/datasets/observations/cerra_synops_2020.nc\",\n", - ")\n", - "ds_obs" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "73c1c20a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Transforming anemoi-datasets xr.DataArray with 80 variables to xr.Dataset, this might take some time. Consider selecting the relevant variables during loading\n" - ] - }, - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 39TB\n",
    -       "Dimensions:     (valid_time: 106167, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * valid_time  (valid_time) datetime64[ns] 849kB 1984-09-01T03:00:00 ... 202...\n",
    -       "    longitude   (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "    latitude    (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/80)\n",
    -       "    10u_10      (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    10v_10      (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    2d_2        (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    2t_2        (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    al          (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    lsm         (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    ...          ...\n",
    -       "    z_50        (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    z_500       (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    z_600       (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    z_700       (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    z_850       (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    z_925       (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'observation', 'uncertainty': 'det...
    " - ], - "text/plain": [ - " Size: 39TB\n", - "Dimensions: (valid_time: 106167, grid_index: 1142761)\n", - "Coordinates:\n", - " * valid_time (valid_time) datetime64[ns] 849kB 1984-09-01T03:00:00 ... 202...\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/80)\n", - " 10u_10 (valid_time, grid_index) float32 485GB dask.array\n", - " 10v_10 (valid_time, grid_index) float32 485GB dask.array\n", - " 2d_2 (valid_time, grid_index) float32 485GB dask.array\n", - " 2t_2 (valid_time, grid_index) float32 485GB dask.array\n", - " al (valid_time, grid_index) float32 485GB dask.array\n", - " lsm (valid_time, grid_index) float32 485GB dask.array\n", - " ... ...\n", - " z_50 (valid_time, grid_index) float32 485GB dask.array\n", - " z_500 (valid_time, grid_index) float32 485GB dask.array\n", - " z_600 (valid_time, grid_index) float32 485GB dask.array\n", - " z_700 (valid_time, grid_index) float32 485GB dask.array\n", - " z_850 (valid_time, grid_index) float32 485GB dask.array\n", - " z_925 (valid_time, grid_index) float32 485GB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'observation', 'uncertainty': 'det..." - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# anemoi-datasets (not ideal for general purpose work due to the chunking, but xarray+dask can make it work)\n", - "ds_cerra = mx.load(\n", - " \"anemoi-datasets\",\n", - " files=\"/scratch/project_465002133/datasets/cerra-rr-an-oper-0001-mars-5p5km-1984-2020-3h-v2-rmi.zarr\",\n", - ")\n", - "ds_cerra" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "fb31b7b6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 971GB\n",
    -       "Dimensions:     (valid_time: 106167, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * valid_time  (valid_time) datetime64[ns] 849kB 1984-09-01T03:00:00 ... 202...\n",
    -       "    longitude   (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "    latitude    (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables:\n",
    -       "    2t_2        (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "    tp          (valid_time, grid_index) float32 485GB dask.array<chunksize=(1, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'grid', 'time': 'observation', 'uncertainty': 'det...
    " - ], - "text/plain": [ - " Size: 971GB\n", - "Dimensions: (valid_time: 106167, grid_index: 1142761)\n", - "Coordinates:\n", - " * valid_time (valid_time) datetime64[ns] 849kB 1984-09-01T03:00:00 ... 202...\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n", - "Dimensions without coordinates: grid_index\n", - "Data variables:\n", - " 2t_2 (valid_time, grid_index) float32 485GB dask.array\n", - " tp (valid_time, grid_index) float32 485GB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'observation', 'uncertainty': 'det..." - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Select some variables duringing loading\n", - "ds_cerra = mx.load(\n", - " \"anemoi-datasets\",\n", - " files=\"/scratch/project_465002133/datasets/cerra-rr-an-oper-0001-mars-5p5km-1984-2020-3h-v2-rmi.zarr\",\n", - " variables=[\"2t_2\", \"tp\"],\n", - ")\n", - "ds_cerra" - ] - }, - { - "cell_type": "markdown", - "id": "34462b8a", - "metadata": {}, - "source": [ - "## Alignment\n", - "Alignment is space and time can now be automatically inferred from the dataset themselves" - ] - }, - { - "cell_type": "markdown", - "id": "50954bb3", - "metadata": {}, - "source": [ - "### Space" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "9ad7c741", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 40MB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, point_index: 1706)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "    latitude        (point_index) float64 14kB 62.03 62.33 62.18 ... 52.9 53.02\n",
    -       "    longitude       (point_index) float64 14kB 4.983 5.267 6.067 ... 30.03 31.6\n",
    -       "    xc              (point_index) float64 14kB -1.612e+05 ... 1.555e+06\n",
    -       "    yc              (point_index) float64 14kB 1.352e+06 1.386e+06 ... 5.83e+05\n",
    -       "Dimensions without coordinates: point_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:    {'space': 'point', 'time': 'forecast', 'uncertainty': 'det...\n",
    -       "    crs:           +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n",
    -       "    grid_mapping:  {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'lat_ll': 20....
    " - ], - "text/plain": [ - " Size: 40MB\n", - "Dimensions: (reference_time: 3, lead_time: 25, point_index: 1706)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - " latitude (point_index) float64 14kB 62.03 62.33 62.18 ... 52.9 53.02\n", - " longitude (point_index) float64 14kB 4.983 5.267 6.067 ... 30.03 31.6\n", - " xc (point_index) float64 14kB -1.612e+05 ... 1.555e+06\n", - " yc (point_index) float64 14kB 1.352e+06 1.386e+06 ... 5.83e+05\n", - "Dimensions without coordinates: point_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " 10v (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " 2d (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " 2t (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " cos_julian_day (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " cos_latitude (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z_700 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z_850 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z_925 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " tp (reference_time, lead_time, point_index) float32 512kB dask.array\n", - "Attributes:\n", - " properties: {'space': 'point', 'time': 'forecast', 'uncertainty': 'det...\n", - " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n", - " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'lat_ll': 20...." - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Align a Grid with Point observations in space:\n", - "# --> This means interpolation\n", - "ds_fcst_aligned, ds_obs_aligned = ds_fcst.space.align_with(ds_obs)\n", - "# This is quick because the interpolation itself is not yet executed, but rather lazely evaluated\n", - "ds_fcst_aligned" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "4f1c75b4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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tqyXaYIlC70GjIyMZM5mIYQQjUpzvoXedNIthRBCNDvKSm0th5HpbwCXLHQhhBBCD0kPXAghhN6SWuhCCCGEPqplEht6/AxcbqELIYQQekh64EIIIfSWZKELIYQQekiy0IUQQgihV6QHLoQQQm9JJTYhhBBCDyk1GpQaTa3211dyC10IIYTQQ9IDF0IIobckC10IIYTQQ5KFLoQQQughhVarS2R7pOUhS6kuWrSIP/3pT5ibm2NtbY23tzepqal3bBcfH8/AgQMxNTXFwsKCfv36UVJSons9NzeXd955BwsLC1q1asWECRMoKip6qLZIABdCCCFq6NixY/j6+nLq1Cni4uKoqKhgyJAhFBcX67aJj4/Hy8uLIUOGkJiYyOnTp/Hz80Op/G/Ifeeddzh//jxxcXHs2bOH48eP8/777z9UWxRarR5XchdCCNEsFRQUYGlpyfAR6zE0NHnk41RU/M7/ffO/5OfnY2Fh8dD7X79+HWtra44dO0a/fv0A6NWrF4MHD+bTTz+96z4XLlzg+eef5/Tp03Tv3h2A/fv388orr5CVlUW7du1qdG7pgQshhNBbt5LYarNA1QXB7UtZWVmNzp+fnw+AlZUVADk5OSQkJGBtbY27uzs2NjZ4eHhw4sQJ3T7x8fG0atVKF7wBPD09USqVJCQk1Py913hLIYQQoolq3749lpaWumXRokUP3Eej0RAQEECfPn144YUXAEhLSwNgzpw5+Pj4sH//ftzc3Bg0aBA///wzAFevXsXa2rrasQwMDLCysuLq1as1brNkoQshhNBbykotSmXts9AzMzOr3UJXqVQP3NfX15dz585V611r/lMYZuLEiYwfPx6Arl27cujQITZu3FijC4OakgAuhBBCf2lqWQ71P4XYLCwsHuoZuJ+fny757KmnntKtt7OzA+D555+vtr2TkxMZGRkA2NrakpOTU+11tVpNbm4utra2NW6D3EIXQgghakir1eLn58fOnTs5fPgwjo6O1V53cHCgXbt2dwwt++mnn7C3twegd+/e3Lx5k6SkJN3rhw8fRqPR0LNnzxq3RXrgQggh9FZl+e+oa9EDr1SXPHij2/j6+rJ161Z27dqFubm57pm1paUlxsbGKBQKpk+fzieffIKLiwuurq5ERkZy8eJFduzYAVT1xr28vPDx8WHt2rVUVFTg5+fHW2+9VeMMdJBhZEIIIfRQaWkpjo6OD5X0dS+2trakp6djZGT0wG0VCsVd10dERDBu3DjdzyEhIaxevZrc3FxcXFwIDQ2lb9++utdzc3Px8/MjJiYGpVLJiBEjWLlyJWZmZjVutwRwIYQQeqm0tJTy8vJaH6dly5Y1Ct6NjQRwIYQQQg9JEpsQQgihhySACyGEEHpIArgQQgihhySACyGEEHpIArgQQgihhySACyGEEHpIArgQQgihhySACyGEEHpIArgQQgihhySACyGEEHro/wGT7y3EaWSHkgAAAABJRU5ErkJggg==", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t2m_fcst = ds_fcst_aligned.isel(reference_time=0, lead_time=10)[\"2t\"].compute()\n", - "ax = plt.subplot(1, 1, 1, projection=ds_fcst_aligned.attrs[\"crs\"])\n", - "im = ax.scatter(\n", - " x=t2m_fcst[\"xc\"], y=t2m_fcst[\"yc\"], c=t2m_fcst.values, cmap=\"Spectral_r\", s=2\n", - ")\n", - "ax.coastlines()\n", - "plt.colorbar(im)" - ] - }, - { - "cell_type": "markdown", - "id": "de39ca6e", - "metadata": {}, - "source": [ - "If you want to interpolate more than 1 dataset with a target dataset you can use the main `mxalign.interpolate` function. " - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "a9599868", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['xarray', 'delaunay']" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mx.available_interpolations()" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "5b304c8e", - "metadata": {}, - "outputs": [ - { - "ename": "NotImplementedError", - "evalue": "Delaunay interpolation currently only supports stacked grids", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mNotImplementedError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[35]\u001b[39m\u001b[32m, line 2\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# The default interpolation is xarray-based, now lets try the Delaunay interpolation\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m2\u001b[39m ds_fcst_aligned2 = \u001b[43mmx\u001b[49m\u001b[43m.\u001b[49m\u001b[43minterpolate\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 3\u001b[39m \u001b[43m \u001b[49m\u001b[43msource_datasets\u001b[49m\u001b[43m=\u001b[49m\u001b[43mds_fcst\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 4\u001b[39m \u001b[43m \u001b[49m\u001b[43mtarget_dataset\u001b[49m\u001b[43m=\u001b[49m\u001b[43mds_obs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mdelaunay\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\n\u001b[32m 6\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 8\u001b[39m \u001b[38;5;66;03m# This is equivalent with\u001b[39;00m\n\u001b[32m 9\u001b[39m \u001b[38;5;66;03m# ds_fcst_aligned2, _ = ds_fcst.space.align_with(ds_obs, method=\"delaunay\")\u001b[39;00m\n", - "\u001b[36mFile \u001b[39m\u001b[32m/pfs/lustrep4/users/vanginde/mxalign_dev/src/mxalign/interpolations/interpolate.py:24\u001b[39m, in \u001b[36minterpolate\u001b[39m\u001b[34m(source_datasets, target_dataset, method, **kwargs)\u001b[39m\n\u001b[32m 21\u001b[39m interpolated_datasets = []\n\u001b[32m 22\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m ds \u001b[38;5;129;01min\u001b[39;00m datasets:\n\u001b[32m 23\u001b[39m interpolated_datasets.append(\n\u001b[32m---> \u001b[39m\u001b[32m24\u001b[39m \u001b[43minterpolator\u001b[49m\u001b[43m.\u001b[49m\u001b[43minterpolate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mds\u001b[49m\u001b[43m.\u001b[49m\u001b[43mcopy\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 25\u001b[39m )\n\u001b[32m 26\u001b[39m interpolated_datasets = interpolated_datasets[\u001b[32m0\u001b[39m] \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(interpolated_datasets) == \u001b[32m1\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m interpolated_datasets\n\u001b[32m 27\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m (interpolated_datasets)\n", - "\u001b[36mFile \u001b[39m\u001b[32m/pfs/lustrep4/users/vanginde/mxalign_dev/src/mxalign/interpolations/base.py:26\u001b[39m, in \u001b[36mBaseInterpolator.interpolate\u001b[39m\u001b[34m(self, source_dataset)\u001b[39m\n\u001b[32m 22\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34minterpolate\u001b[39m(\n\u001b[32m 23\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 24\u001b[39m source_dataset: xr.Dataset | xr.DataArray\n\u001b[32m 25\u001b[39m ) -> xr.Dataset | xr.DataArray:\n\u001b[32m---> \u001b[39m\u001b[32m26\u001b[39m ds_out = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_interpolate\u001b[49m\u001b[43m(\u001b[49m\u001b[43msource_dataset\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 27\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m update_space_property(ds_out, \u001b[38;5;28mself\u001b[39m.target_space)\n", - "\u001b[36mFile \u001b[39m\u001b[32m/pfs/lustrep4/users/vanginde/mxalign_dev/src/mxalign/interpolations/delaunay.py:40\u001b[39m, in \u001b[36mDelaunayInterpolator._interpolate\u001b[39m\u001b[34m(self, source_dataset)\u001b[39m\n\u001b[32m 38\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_interpolate\u001b[39m(\u001b[38;5;28mself\u001b[39m, source_dataset):\n\u001b[32m 39\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33mgrid_index\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m source_dataset.dims:\n\u001b[32m---> \u001b[39m\u001b[32m40\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[33m\"\u001b[39m\u001b[33mDelaunay interpolation currently only supports stacked grids\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 42\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33mlatitude\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m source_dataset.dims:\n\u001b[32m 43\u001b[39m lon_grid, lat_grid = np.meshgrid(\n\u001b[32m 44\u001b[39m source_dataset[\u001b[33m\"\u001b[39m\u001b[33mlongitude\u001b[39m\u001b[33m\"\u001b[39m].values, \n\u001b[32m 45\u001b[39m source_dataset[\u001b[33m\"\u001b[39m\u001b[33mlatitude\u001b[39m\u001b[33m\"\u001b[39m].values\n\u001b[32m 46\u001b[39m )\n", - "\u001b[31mNotImplementedError\u001b[39m: Delaunay interpolation currently only supports stacked grids" - ] - } - ], - "source": [ - "# The default interpolation is xarray-based, now lets try the Delaunay interpolation\n", - "ds_fcst_aligned2 = mx.interpolate(\n", - " source_datasets=ds_fcst, target_dataset=ds_obs, method=\"delaunay\"\n", - ")\n", - "\n", - "# This is equivalent with\n", - "# ds_fcst_aligned2, _ = ds_fcst.space.align_with(ds_obs, method=\"delaunay\")" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "b532541c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 27GB\n",
    -       "Dimensions:         (reference_time: 3, lead_time: 25, grid_index: 1142761)\n",
    -       "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n",
    -       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n",
    -       "    latitude        (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    -       "    longitude       (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    -       "    yc              (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n",
    -       "    xc              (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    -       "Dimensions without coordinates: grid_index\n",
    -       "Data variables: (12/79)\n",
    -       "    10u             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    10v             (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2d              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    2t              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_julian_day  (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    cos_latitude    (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    ...              ...\n",
    -       "    z_500           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_700           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_850           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z_925           (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    z               (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "    tp              (reference_time, lead_time, grid_index) float32 343MB dask.array<chunksize=(1, 25, 1142761), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:    {'space': 'grid', 'time': 'forecast', 'uncertainty': 'dete...\n",
    -       "    crs:           +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n",
    -       "    grid_mapping:  {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'lat_ll': 20....
    " - ], - "text/plain": [ - " Size: 27GB\n", - "Dimensions: (reference_time: 3, lead_time: 25, grid_index: 1142761)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-0...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-0...\n", - " latitude (grid_index) float32 5MB 20.29 20.31 20.32 ... 63.81 63.77\n", - " longitude (grid_index) float32 5MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", - " yc (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n", - " xc (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n", - "Dimensions without coordinates: grid_index\n", - "Data variables: (12/79)\n", - " 10u (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 10v (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2d (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " 2t (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_julian_day (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " cos_latitude (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " ... ...\n", - " z_500 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_700 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_850 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z_925 (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " z (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - " tp (reference_time, lead_time, grid_index) float32 343MB dask.array\n", - "Attributes:\n", - " properties: {'space': 'grid', 'time': 'forecast', 'uncertainty': 'dete...\n", - " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0 +lon_0=8....\n", - " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'lat_ll': 20...." - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Delaunay interpolation currently only works with stacked datasets.\n", - "ds_fcst = ds_fcst.space.stack()\n", - "ds_fcst" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "abde9b4c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating interpolation-weight matrix\n", - "Done\n" - ] - } - ], - "source": [ - "# Now try the deleanay interpolation\n", - "ds_fcst_aligned2 = mx.interpolate(\n", - " source_datasets=ds_fcst, target_dataset=ds_obs, method=\"delaunay\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "103c8038", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 17.8 s, sys: 1min 39s, total: 1min 57s\n", - "Wall time: 8min 27s\n" - ] - } - ], - "source": [ - "# Compare the interpolation methods performance\n", - "%%time\n", - "result1 = ds_fcst_aligned.compute()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "bddb7474", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Warning, interpolating NaNs for variable cos_julian_dayWarning, interpolating NaNs for variable cos_julian_day\n", - "\n", - "Warning, interpolating NaNs for variable cos_julian_day\n", - "Warning, interpolating NaNs for variable sin_latitude\n", - "Warning, interpolating NaNs for variable sin_latitude\n", - "Warning, interpolating NaNs for variable sin_latitude\n", - "Warning, interpolating NaNs for variable lsm\n", - "Warning, interpolating NaNs for variable lsm\n", - "Warning, interpolating NaNs for variable lsm\n", - "Warning, interpolating NaNs for variable cos_local_time\n", - "Warning, interpolating NaNs for variable cos_local_time\n", - "Warning, interpolating NaNs for variable cos_local_time\n", - "Warning, interpolating NaNs for variable sin_longitude\n", - "Warning, interpolating NaNs for variable sin_longitude\n", - "Warning, interpolating NaNs for variable sin_longitude\n", - "Warning, interpolating NaNs for variable cos_longitude\n", - "Warning, interpolating NaNs for variable cos_longitude\n", - "Warning, interpolating NaNs for variable cos_longitude\n", - "Warning, interpolating NaNs for variable z\n", - "Warning, interpolating NaNs for variable z\n", - "Warning, interpolating NaNs for variable z\n", - "Warning, interpolating NaNs for variable sin_local_time\n", - "Warning, interpolating NaNs for variable sin_local_time\n", - "Warning, interpolating NaNs for variable sin_local_time\n", - "Warning, interpolating NaNs for variable tp\n", - "Warning, interpolating NaNs for variable tp\n", - "Warning, interpolating NaNs for variable tp\n", - "Warning, interpolating NaNs for variable sin_julian_day\n", - "Warning, interpolating NaNs for variable sin_julian_day\n", - "Warning, interpolating NaNs for variable sin_julian_day\n", - "Warning, interpolating NaNs for variable cos_latitude\n", - "Warning, interpolating NaNs for variable cos_latitude\n", - "Warning, interpolating NaNs for variable cos_latitude\n", - "Warning, interpolating NaNs for variable insolation\n", - "Warning, interpolating NaNs for variable insolation\n", - "Warning, interpolating NaNs for variable insolation\n", - "CPU times: user 33.5 s, sys: 2min 4s, total: 2min 37s\n", - "Wall time: 1min 29s\n" - ] - } - ], - "source": [ - "# For the Delaunay interpolation, one should add the ~30s\n", - "# used for the calculation of the interpolation matrix done above\n", - "%%time\n", - "result2 = ds_fcst_aligned2.compute()" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "c9c75b67", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.DataArray '2t' ()> Size: 8B\n",
    -       "array(0.02950728)\n",
    -       "Attributes:\n",
    -       "    fill_value:  nan
    " + "
  • mlwp_time_trait :
    forecast
    mlwp_space_trait :
    grid
    mlwp_uncertainty_trait :
    deterministic
  • " ], "text/plain": [ - " Size: 8B\n", - "array(0.02950728)\n", + " Size: 932MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, grid_index: 1142761)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " latitude (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n", + " longitude (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", + "Dimensions without coordinates: grid_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 457MB dask.array\n", "Attributes:\n", - " fill_value: nan" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Difference in interpolation methods\n", - "t2m_difference = (result2 - result1)[\"2t\"]\n", - "np.abs(t2m_difference).mean()" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "9831d63a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic" ] }, - "execution_count": 43, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "ax = plt.subplot(1, 1, 1, projection=ds_fcst_aligned.attrs[\"crs\"])\n", - "im = ax.scatter(\n", - " x=t2m_difference[\"xc\"],\n", - " y=t2m_difference[\"yc\"],\n", - " c=t2m_difference.isel(reference_time=0, lead_time=10).values,\n", - " cmap=\"RdBu_r\",\n", - " s=2,\n", + "import mxalign as mx\n", + "# anemoi-inference forecasts\n", + "DS_PATH = [\n", + " \"s3://mlwp-sample-datasets/anemoi-inference/unknown-revision/\"\n", + " \"anemoi-inference-lam_2020020100.nc\",\n", + " \"s3://mlwp-sample-datasets/anemoi-inference/unknown-revision/\"\n", + " \"anemoi-inference-lam_2020020200.nc\",\n", + "]\n", + "\n", + "ds_fcst = load_and_validate_dataset(\n", + " DS_PATH, \n", + " loader=LOADER,\n", + " storage_options=STORAGE_OPTS\n", ")\n", - "ax.coastlines()\n", - "plt.colorbar(im)" + "\n", + "ds_fcst" ] }, { "cell_type": "markdown", - "id": "b0d0d89f", + "id": "1f296c84", "metadata": {}, "source": [ - "### Time" + "**Temporal accessor functions**" ] }, { "cell_type": "code", - "execution_count": 44, - "id": "2780b5b4", + "execution_count": 6, + "id": "3f9a50e4", "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset is a forecast\n" + ] + }, { "data": { "text/html": [ @@ -75371,746 +3158,242 @@ "\n", ".xr-dim-list li {\n", " display: inline-block;\n", - " padding: 0;\n", - " margin: 0;\n", - "}\n", - "\n", - ".xr-dim-list:before {\n", - " content: \"(\";\n", - "}\n", - "\n", - ".xr-dim-list:after {\n", - " content: \")\";\n", - "}\n", - "\n", - ".xr-dim-list li:not(:last-child):after {\n", - " content: \",\";\n", - " padding-right: 5px;\n", - "}\n", - "\n", - ".xr-has-index {\n", - " font-weight: bold;\n", - "}\n", - "\n", - ".xr-var-list,\n", - ".xr-var-item {\n", - " display: contents;\n", - "}\n", - "\n", - ".xr-var-item > div,\n", - ".xr-var-item label,\n", - ".xr-var-item > .xr-var-name span {\n", - " background-color: var(--xr-background-color-row-even);\n", - " border-color: var(--xr-background-color-row-odd);\n", - " margin-bottom: 0;\n", - " padding-top: 2px;\n", - "}\n", - "\n", - ".xr-var-item > .xr-var-name:hover span {\n", - " padding-right: 5px;\n", - "}\n", - "\n", - ".xr-var-list > li:nth-child(odd) > div,\n", - ".xr-var-list > li:nth-child(odd) > label,\n", - ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", - " background-color: var(--xr-background-color-row-odd);\n", - " border-color: var(--xr-background-color-row-even);\n", - "}\n", - "\n", - ".xr-var-name {\n", - " grid-column: 1;\n", - "}\n", - "\n", - ".xr-var-dims {\n", - " grid-column: 2;\n", - "}\n", - "\n", - ".xr-var-dtype {\n", - " grid-column: 3;\n", - " text-align: right;\n", - " color: var(--xr-font-color2);\n", - "}\n", - "\n", - ".xr-var-preview {\n", - " grid-column: 4;\n", - "}\n", - "\n", - ".xr-index-preview {\n", - " grid-column: 2 / 5;\n", - " color: var(--xr-font-color2);\n", - "}\n", - "\n", - ".xr-var-name,\n", - ".xr-var-dims,\n", - ".xr-var-dtype,\n", - ".xr-preview,\n", - ".xr-attrs dt {\n", - " white-space: nowrap;\n", - " overflow: hidden;\n", - " text-overflow: ellipsis;\n", - " padding-right: 10px;\n", - "}\n", - "\n", - ".xr-var-name:hover,\n", - ".xr-var-dims:hover,\n", - ".xr-var-dtype:hover,\n", - ".xr-attrs dt:hover {\n", - " overflow: visible;\n", - " width: auto;\n", - " z-index: 1;\n", - "}\n", - "\n", - ".xr-var-attrs,\n", - ".xr-var-data,\n", - ".xr-index-data {\n", - " display: none;\n", - " border-top: 2px dotted var(--xr-background-color);\n", - " padding-bottom: 20px !important;\n", - " padding-top: 10px !important;\n", - "}\n", - "\n", - ".xr-var-attrs-in + label,\n", - ".xr-var-data-in + label,\n", - ".xr-index-data-in + label {\n", - " padding: 0 1px;\n", - "}\n", - "\n", - ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", - ".xr-var-data-in:checked ~ .xr-var-data,\n", - ".xr-index-data-in:checked ~ .xr-index-data {\n", - " display: block;\n", - "}\n", - "\n", - ".xr-var-data > table {\n", - " float: right;\n", - "}\n", - "\n", - ".xr-var-data > pre,\n", - ".xr-index-data > pre,\n", - ".xr-var-data > table > tbody > tr {\n", - " background-color: transparent !important;\n", - "}\n", - "\n", - ".xr-var-name span,\n", - ".xr-var-data,\n", - ".xr-index-name div,\n", - ".xr-index-data,\n", - ".xr-attrs {\n", - " padding-left: 25px !important;\n", - "}\n", - "\n", - ".xr-attrs,\n", - ".xr-var-attrs,\n", - ".xr-var-data,\n", - ".xr-index-data {\n", - " grid-column: 1 / -1;\n", - "}\n", - "\n", - "dl.xr-attrs {\n", - " padding: 0;\n", - " margin: 0;\n", - " display: grid;\n", - " grid-template-columns: 125px auto;\n", - "}\n", - "\n", - ".xr-attrs dt,\n", - ".xr-attrs dd {\n", - " padding: 0;\n", - " margin: 0;\n", - " float: left;\n", - " padding-right: 10px;\n", - " width: auto;\n", - "}\n", - "\n", - ".xr-attrs dt {\n", - " font-weight: normal;\n", - " grid-column: 1;\n", - "}\n", - "\n", - ".xr-attrs dt:hover span {\n", - " display: inline-block;\n", - " background: var(--xr-background-color);\n", - " padding-right: 10px;\n", - "}\n", - "\n", - ".xr-attrs dd {\n", - " grid-column: 2;\n", - " white-space: pre-wrap;\n", - " word-break: break-all;\n", - "}\n", - "\n", - ".xr-icon-database,\n", - ".xr-icon-file-text2,\n", - ".xr-no-icon {\n", - " display: inline-block;\n", - " vertical-align: middle;\n", - " width: 1em;\n", - " height: 1.5em !important;\n", - " stroke-width: 0;\n", - " stroke: currentColor;\n", - " fill: currentColor;\n", - "}\n", - "\n", - ".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n", - ".xr-var-data-in:checked + label > .xr-icon-database,\n", - ".xr-index-data-in:checked + label > .xr-icon-database {\n", - " color: var(--xr-font-color0);\n", - " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", - " stroke-width: 0.8px;\n", - "}\n", - "
    <xarray.Dataset> Size: 9MB\n",
    -       "Dimensions:          (reference_time: 3, lead_time: 25, point_index: 1706)\n",
    -       "Coordinates:\n",
    -       "  * reference_time   (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-...\n",
    -       "  * lead_time        (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 d...\n",
    -       "    valid_time       (reference_time, lead_time) datetime64[ns] 600B 2020-02-...\n",
    -       "    code             (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n",
    -       "    station_name     (point_index) <U20 136kB 'Krakenes' ... 'Krasnaja Gora'\n",
    -       "    station_country  (point_index) <U20 136kB 'Norway' ... 'U.S.S.R.(Europe)'\n",
    -       "    latitude         (point_index) float64 14kB 62.03 62.33 62.18 ... 52.9 53.02\n",
    -       "    longitude        (point_index) float64 14kB 4.983 5.267 6.067 ... 30.03 31.6\n",
    -       "    altitude         (point_index) float64 14kB nan 38.0 74.0 ... nan nan nan\n",
    -       "Dimensions without coordinates: point_index\n",
    -       "Data variables:\n",
    -       "    10wdir           (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    10si             (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    2t               (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    2d               (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    msl              (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    2r               (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    2t_max           (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    2t_min           (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter...
    " + "
  • mlwp_time_trait :
    forecast
    mlwp_space_trait :
    grid
    mlwp_uncertainty_trait :
    deterministic
  • " ], "text/plain": [ - " Size: 9MB\n", - "Dimensions: (reference_time: 3, lead_time: 25, point_index: 1706)\n", + " Size: 932MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, grid_index: 1142761)\n", "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 d...\n", - " valid_time (reference_time, lead_time) datetime64[ns] 600B 2020-02-...\n", - " code (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n", - " station_name (point_index) \n", - " 10si (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " 2t (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " 2d (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " msl (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " 2r (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " 2t_max (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " 2t_min (reference_time, lead_time, point_index) float64 1MB dask.array\n", + " 10u (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 457MB dask.array\n", "Attributes:\n", - " properties: {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter..." + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic" ] }, - "execution_count": 44, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Now align in time\n", - "# align the observations with the forecasts (so we can average over the lead times)\n", - "ds_obs_aligned, ds_fcst_aligned = ds_obs.time.align_with(ds_fcst_aligned)\n", - "ds_obs_aligned" - ] - }, - { - "cell_type": "markdown", - "id": "879eb5c1", - "metadata": {}, - "source": [ - "## Transformations\n", - "Often, the variables themselves need some transformations before different datasets can be compared. \n", - "When working interactively, this is easiest by interacting directly on the xr.Datasets.\n", + "# TIME \n", + "if ds_fcst.mx.is_forecast():\n", + " print(\"Dataset is a forecast\")\n", + "if ds_fcst.mx.is_observation():\n", + " print(\"Dataset is an observation\")\n", "\n", - "But this can also be done using the `mxalign.transform` function." + "# Add an auxiliary valid time coordinate\n", + "ds_fcst = ds_fcst.mx.add_valid_time()\n", + "ds_fcst" ] }, { - "cell_type": "code", - "execution_count": 77, - "id": "e4220a99", + "cell_type": "markdown", + "id": "7df8a0d3", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['rename', 'kelvin_to_celcius', 'uv_to_speed', 'external']" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "mx.available_transformations()" + "**Spatial accessor functions**" ] }, { "cell_type": "code", - "execution_count": 45, - "id": "a0a2dac0", + "execution_count": 7, + "id": "1effcc4a", "metadata": {}, "outputs": [ { @@ -76873,231 +4136,78 @@ ".xr-attrs dd {\n", " grid-column: 2;\n", " white-space: pre-wrap;\n", - " word-break: break-all;\n", - "}\n", - "\n", - ".xr-icon-database,\n", - ".xr-icon-file-text2,\n", - ".xr-no-icon {\n", - " display: inline-block;\n", - " vertical-align: middle;\n", - " width: 1em;\n", - " height: 1.5em !important;\n", - " stroke-width: 0;\n", - " stroke: currentColor;\n", - " fill: currentColor;\n", - "}\n", - "\n", - ".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n", - ".xr-var-data-in:checked + label > .xr-icon-database,\n", - ".xr-index-data-in:checked + label > .xr-icon-database {\n", - " color: var(--xr-font-color0);\n", - " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", - " stroke-width: 0.8px;\n", - "}\n", - "
    <xarray.Dataset> Size: 42MB\n",
    -       "Dimensions:          (reference_time: 3, lead_time: 25, point_index: 1706)\n",
    -       "Coordinates:\n",
    -       "  * reference_time   (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-...\n",
    -       "  * lead_time        (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 d...\n",
    -       "    code             (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n",
    -       "    station_name     (point_index) <U20 136kB 'Krakenes' ... 'Krasnaja Gora'\n",
    -       "    station_country  (point_index) <U20 136kB 'Norway' ... 'U.S.S.R.(Europe)'\n",
    -       "    latitude         (point_index) float64 14kB 62.03 62.33 62.18 ... 52.9 53.02\n",
    -       "    longitude        (point_index) float64 14kB 4.983 5.267 6.067 ... 30.03 31.6\n",
    -       "    altitude         (point_index) float64 14kB nan 38.0 74.0 ... nan nan nan\n",
    -       "Dimensions without coordinates: point_index\n",
    -       "Data variables: (12/80)\n",
    -       "    10u              (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    10v              (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    2d               (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    2t               (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    cos_julian_day   (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    cos_latitude     (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    ...               ...\n",
    -       "    z_700            (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z_850            (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z_925            (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    z                (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    tp               (reference_time, lead_time, point_index) float32 512kB dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>\n",
    -       "    10si             (reference_time, lead_time, point_index) float64 1MB 6.2...\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter...
    " + ], + "text/plain": [ + " Size: 932MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, grid_index: 1142761)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + " latitude (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n", + " longitude (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", + "Dimensions without coordinates: grid_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0..." + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# SPACE accessor\n", + "import cartopy.crs as ccrs\n", + "\n", + "# Define a Coordinate Reference System (CRS)\n", + "globe_cerra = ccrs.Globe(semimajor_axis=6371229.0, semiminor_axis=6371229.0)\n", + "crs_cerra = ccrs.LambertConformal(\n", + " central_longitude=8.0,\n", + " central_latitude=50.0,\n", + " standard_parallels=[50.0, 50.0],\n", + " globe=globe_cerra,\n", + ")\n", + "\n", + "# Add it to the dataset (this will enable other functionality)\n", + "ds_fcst = ds_fcst.mx.add_crs(crs_cerra)\n", + "ds_fcst" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "77d7ff0e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 951MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, grid_index: 1142761)\n",
    +       "Coordinates:\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
    +       "    latitude        (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    +       "    longitude       (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    +       "    xc              (grid_index) float64 9MB -2.938e+06 -2.931e+06 ... 2.937e+06\n",
    +       "    yc              (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n",
    +       "Dimensions without coordinates: grid_index\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        grid\n",
    +       "    mlwp_uncertainty_trait:  deterministic\n",
    +       "    crs:                     +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...
    " + ], + "text/plain": [ + " Size: 951MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, grid_index: 1142761)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + " latitude (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n", + " longitude (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", + " xc (grid_index) float64 9MB -2.938e+06 -2.931e+06 ... 2.937e+06\n", + " yc (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n", + "Dimensions without coordinates: grid_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0..." + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Add native x and y coordinates (in this case Lambert Conformal)\n", + "ds_fcst = ds_fcst.mx.add_xy()\n", + "ds_fcst" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "47988bd3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 951MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, grid_index: 1142761)\n",
    +       "Coordinates:\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
    +       "    latitude        (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    +       "    longitude       (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    +       "    xc              (grid_index) float64 9MB -2.938e+06 -2.931e+06 ... 2.937e+06\n",
    +       "    yc              (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n",
    +       "Dimensions without coordinates: grid_index\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 571381), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        grid\n",
    +       "    mlwp_uncertainty_trait:  deterministic\n",
    +       "    crs:                     +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n",
    +       "    grid_mapping:            {'lon_ll': -17.4859, 'lat_ll': 20.2923, 'lon_ur'...
    " + ], + "text/plain": [ + " Size: 951MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, grid_index: 1142761)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + " latitude (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n", + " longitude (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", + " xc (grid_index) float64 9MB -2.938e+06 -2.931e+06 ... 2.937e+06\n", + " yc (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n", + "Dimensions without coordinates: grid_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'lon_ll': -17.4859, 'lat_ll': 20.2923, 'lon_ur'..." + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Adding a grid-mapping will enable unstacking of the grid\n", + "# Note that the cerra grid is predifined in the mxalign package\n", + "ds_fcst = ds_fcst.mx.add_grid_mapping(\"cerra\")\n", + "ds_fcst" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1d3ce9a0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 933MB\n",
    +       "Dimensions:         (yc: 1069, xc: 1069, reference_time: 2, lead_time: 25)\n",
    +       "Coordinates:\n",
    +       "  * yc              (yc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    +       "  * xc              (xc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    +       "    latitude        (yc, xc) float64 9MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n",
    +       "    longitude       (yc, xc) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, yc, xc) float64 457MB dask.array<chunksize=(1, 13, 534, 1069), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, yc, xc) float64 457MB dask.array<chunksize=(1, 13, 534, 1069), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        grid\n",
    +       "    mlwp_uncertainty_trait:  deterministic\n",
    +       "    crs:                     +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n",
    +       "    grid_mapping:            {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la...
    " + ], + "text/plain": [ + " Size: 933MB\n", + "Dimensions: (yc: 1069, xc: 1069, reference_time: 2, lead_time: 25)\n", + "Coordinates:\n", + " * yc (yc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n", + " * xc (xc) float64 9kB -2.937e+06 -2.931e+06 ... 2.937e+06\n", + " latitude (yc, xc) float64 9MB 20.29 20.31 20.32 ... 63.84 63.81 63.77\n", + " longitude (yc, xc) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + "Data variables:\n", + " 10u (reference_time, lead_time, yc, xc) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, yc, xc) float64 457MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la..." + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Unstack\n", + "ds_fcst = ds_fcst.mx.unstack()\n", + "ds_fcst" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "18ff3d66", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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fvWrjB07lng8zsiRIzn55JPZuHFjsE4+n+fiiy9m4sSJxONxRo0axTe+8Q3y+fygr+2pp57Kb3/7W0DapdU/hfJrpe7FokWLOOmkk6irq6O5uZnvfe97CCFYsWIFRx11FLW1tbS2tnL55ZdXHHNrtHtrYN9990Uv85Lbd999aWxsZMGCBcGyzs5OHnjgAU466aSSGcjJJ59MJpPhn//8Z7Bszz33rJh1T5o0ialTp5bsE+C2227jiCOOYPTo0cGygw46iO22265kn33h1ltvxTAMzjjjjGBZIpHgtNNO4+mnnw76wJAhQ5g6dWrF9p/+9KcBKtr1fo4FMHz4cCxr24aFwuD73X/+8x/mzp3L8OHDicfjTJgwgR/96EdVTWzXXnstEyZMIJlMsttuu/H4449vcbvGjh3LG2+8waOPPhr0J+VzU81nZv/992fatGm8+uqr7LfffqRSKSZOnMitt94KwKOPPsruu+9OMplk8uTJPPjggxXHXLVqFV/84hcZOnQo8XicqVOn8uc//3mL2/5+EIvF2HPPPSuWb8lzls/n+epXv0pzczM1NTV88pOfZOXKlRXrvfvuu5x99tlMnjyZZDJJU1MTxxxzDMuWLQvWWbJkCZqmccUVV1Rs/9RTT6FpGn/7298A6Orq4vzzzw/G25aWFg4++GBeeumlwZ7+/yqoQpPb+t+WYP369Zx88slMnjyZAw88kOeff5777ruPgw8+GIArrriCI444gqOPPpp9992X1tZWbr/99uI5GQZ33nknhmEwe/ZsTjrpJE4++WR++MMfbs1Lt8V4T3YLZQ74yU9+gvDT1Pz4xz/me9/7Hsceeyynn346GzZs4Ne//jX77rsvL7/8MvX19Vx55ZX89a9/5V//+hfXXHMNmUyGHXfcEZBOwaeccgpz5szhsssuo7e3l2uuuYa9996bl19+ucTe7zgOc+bMYe+99+YXv/gFqVQKgDPPPJPrr7+eL3zhC5x33nksXbqU3/zmN7z88ss8+eSTJQP7O++8w2c/+1lOO+00TjnlFP785z9z6qmnMmvWrOCF093dzT777MOCBQv44he/yM4778zGjRu54447WLlyJUOGDMHzPD75yU/yxBNPcMYZZ7DDDjvw2muvccUVV7Bo0SL+/e9/D+qannnmmaxevZoHHniAG264YdD34nOf+xw77LADP/vZz7jr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UgDDf334AnJ/eAdbr7uSO776cn780RfxybeexrSWEpY0ydspAjeGD3IDdkcfhGLalOom0weqCEDmA4QKsaxmVUFNjcFQzYpbUbYy4ESCFCJy2KjuFFUzotfDvw96dJB6bvXjyEpBLWAIyYL0NjYW57qA03f/ePs4tmRroZfbx09hTWEh8xLbOD99NwvS2zFNlQ3S9DF+NKNfPzUzs7eftGWQ6iGUc6vkuB8tD5e0Zfk8AYiJci+pIO/woA/wL//yL5x44om0trbS09PDy1/+ctauXRv8vmXLloBt1D+/+tWvgv36+vp4yUteQlNTEz09PXzkIx/Biow4e25sck+3EXahUSYiImlWo6HRJg7z5BbOc25hiVzLJrGQW40XsUkswMKsXUCDFin8Necy2y4LfysXINQGxFoi3gO1elyC1czxOpB8kY6kwdBYIdheua9CyztOeNAxDNbtHueBtXv51BUraVYja9TOyJ/Fadvf95IV7Bma4Oe3rQs6yrDOwO0A/fu9cHobP/v4izl5cTd3r9ntghlHcTPFtS0dlFRkvj00z6nNWxNpJF/SBmtJV3OKnYM5Xvm5G/nNXRvIF/0BLjz4CSGYPqWZXNHmCz95iIee3VX+Xd0fwm5C/5MwKTkOX/7FY6x858/o2zPK3778Mn70jy9iake2DERC96M8YAghSCU195ZlYQpJszHBaElxKQYASgMnynWHwKR/TJRpg3zgplG2q/oTf10hFUBUZVeqDIZVE+l5dahnn8oBWQeuEf1F0EZjnon6v7/WkZr+Xxn055o7GJXNDDodQT2skmRTcTa35s9gU2kOS5KbOC95F/OSOzCFBlzU914FGqlkOXGmer3as3RBivLx2dOICW9oghgHaA5bhd15551cffXVPPDAA9x8882USiUuvPBCxsddNnj27Nn09/eHPp/97GdpaWnh4ovdBJe2bfOSl7yEYrHIfffdx49//GOuueYaPvWpTz1v1/XchGZXW86givvjQJPWGUhmy23MktvYRS/rjSWsE0cwT25ivtx0wFqWuDDtHFn2iR6Odh4P7Vu3VdNWxLEstZaMqGV1LengdhYdzUkmijYFW5JW+88KEKOxAd62fUMu47Jy3pTITqdaQsGlva1ccvwsvvfXZ3nzJStc0JPLe51lAhJuZy1LDiKXD57R8Qu7ue2pfl4rJrlidj3gZbLP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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Now we can plot the data on the native grid\n", + "import matplotlib.pyplot as plt\n", + "\n", + "_ = (\n", + " ds_fcst[\"2t\"]\n", + " .isel(reference_time=0, lead_time=10)\n", + " .plot(\n", + " x=\"xc\",\n", + " y=\"yc\",\n", + " figsize=(7, 7),\n", + " subplot_kws={\"projection\": ds_fcst.attrs[\"crs\"]},\n", + " cmap=\"Spectral_r\",\n", + " )\n", + ")\n", + "_ = plt.gca().coastlines()\n", + "_ = plt.gca().gridlines()" + ] + }, + { + "cell_type": "markdown", + "id": "a9feaf7c", + "metadata": {}, + "source": [ + "## Loading\n", + "All loading of datasets is done through the central `load_and_validate_dataset` function" + ] + }, + { + "cell_type": "markdown", + "id": "b210cb47", + "metadata": {}, + "source": [ + "Often, you will need to load a specific dataset not conforming to the `mlwp-data-specs` contract. \n", + "Since you know your dataset best, the `load_and_validate_dataset` function is compatible with your own loader.\n", + "\n", + "You define your own loader by implementing the `load_dataset()` function\n", + "\n", + "The final result of your loader should be an `xarray.Dataset` with a Trait on each of the 3 axes and the correct dimensions and coordinates.\n", + "\n", + "For more information see [`mlwp-data-specs`](https://github.com/mlwp-tools/mlwp-data-specs)\n", + "\n", + "You can use your own loader by pointing to the `.py` file " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "8191bb97", + "metadata": {}, + "outputs": [], + "source": [ + "DS_SYNOP = \"s3://mxalign/mlwp-sample-datasets/custom/synop_20200201-20200207.nc\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "26a7cbb2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 5MB\n",
    +       "Dimensions:       (code: 1879, valid_time: 145)\n",
    +       "Coordinates:\n",
    +       "  * code          (code) int64 15kB 215734 215735 215736 ... 1020486 1595975\n",
    +       "    wigos_id      (code) <U15 113kB '0-20000-0-13611' ... '0-20000-0-16204'\n",
    +       "    wmo_code      (code) float64 15kB 1.361e+04 1.362e+04 ... 3.023e+03 1.62e+04\n",
    +       "    station_name  (code) <U40 301kB 'DURRES' 'GJIROKASTRA' ... 'RADICOFANI'\n",
    +       "    country_code  (code) <U2 15kB 'AL' 'AL' 'AL' 'AL' ... 'GB' 'GB' 'GB' 'IT'\n",
    +       "    latitude      (code) float64 15kB 41.3 40.08 40.6 42.03 ... 57.12 57.33 42.9\n",
    +       "    longitude     (code) float64 15kB 19.45 20.15 20.77 ... -3.633 -7.367 11.77\n",
    +       "    altitude      (code) float64 15kB 15.0 193.0 889.0 ... 1.245e+03 10.0 816.0\n",
    +       "    city_name     (code) <U40 301kB 'DURRES' 'GJIROKASTRA' ... 'RADICOFANI'\n",
    +       "  * valid_time    (valid_time) datetime64[ns] 1kB 2020-02-01 ... 2020-02-07\n",
    +       "Data variables:\n",
    +       "    10si          (code, valid_time) float64 2MB 2.0 nan nan 2.0 ... nan nan nan\n",
    +       "    2t            (code, valid_time) float64 2MB 10.0 nan nan ... nan nan nan
    " + ], + "text/plain": [ + " Size: 5MB\n", + "Dimensions: (code: 1879, valid_time: 145)\n", + "Coordinates:\n", + " * code (code) int64 15kB 215734 215735 215736 ... 1020486 1595975\n", + " wigos_id (code) }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.648\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Time Coordinate', 'requirement': \"Metadata for coordinate 'valid_time'\", 'coord': 'valid_time', 'required_attrs': {'standard_name': {'time'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.648\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'space', 'variants': [{'point_index'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.649\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'space', 'required_coords': {'longitude', 'latitude'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.649\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_space_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.649\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'longitude'\", 'coord': 'longitude', 'required_attrs': {'standard_name': {'longitude'}, 'units': {'degrees_east'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.649\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'latitude'\", 'coord': 'latitude', 'required_attrs': {'standard_name': {'latitude'}, 'units': {'degrees_north'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.650\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'uncertainty', 'variants': []}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.650\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'uncertainty', 'required_coords': set()}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:37.650\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_uncertainty_coordinate_metadata with {'trait': }\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - " \n", - " \n", - "
  • t_200
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", + "\n", - "
  • t_250
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", + " color: var(--xr-font-color2);\n", + " display: block;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-sections {\n", + " padding-left: 0 !important;\n", + " display: grid;\n", + " grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n", + " margin-block-start: 0;\n", + " margin-block-end: 0;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-section-item {\n", + " display: contents;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", + " opacity: 0;\n", + " height: 0;\n", + " margin: 0;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-section-item > input + label,\n", + ".xr-var-item > input + label {\n", + " color: var(--xr-disabled-color);\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-item > input:enabled + label,\n", + ".xr-var-item > input:enabled + label,\n", + ".xr-array-wrap > input:enabled + label,\n", + ".xr-group-box-contents > input:enabled + label {\n", + " cursor: pointer;\n", + " color: var(--xr-font-color2);\n", + "}\n", "\n", - " \n", - " \n", + ".xr-section-item > input:focus-visible + label,\n", + ".xr-var-item > input:focus-visible + label,\n", + ".xr-array-wrap > input:focus-visible + label,\n", + ".xr-group-box-contents > input:focus-visible + label {\n", + " outline: auto;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-item > input:enabled + label:hover,\n", + ".xr-var-item > input:enabled + label:hover,\n", + ".xr-array-wrap > input:enabled + label:hover,\n", + ".xr-group-box-contents > input:enabled + label:hover {\n", + " color: var(--xr-font-color0);\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-summary {\n", + " grid-column: 1;\n", + " color: var(--xr-font-color2);\n", + " font-weight: 500;\n", + " white-space: nowrap;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-section-summary > em {\n", + " font-weight: normal;\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_300
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-span-grid {\n", + " grid-column-end: -1;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-summary > span {\n", + " display: inline-block;\n", + " padding-left: 0.3em;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-group-box-contents > input:checked + label > span {\n", + " display: inline-block;\n", + " padding-left: 0.6em;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-section-summary-in:disabled + label {\n", + " color: var(--xr-font-color2);\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-section-summary-in + label:before {\n", + " display: inline-block;\n", + " content: \"►\";\n", + " font-size: 11px;\n", + " width: 15px;\n", + " text-align: center;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-summary-in:disabled + label:before {\n", + " color: var(--xr-disabled-color);\n", + "}\n", "\n", - " \n", - " \n", + ".xr-section-summary-in:checked + label:before {\n", + " content: \"▼\";\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-summary-in:checked + label > span {\n", + " display: none;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-summary,\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", + " padding-top: 4px;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-section-inline-details {\n", + " grid-column: 2 / -1;\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_400
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-section-details {\n", + " grid-column: 1 / -1;\n", + " margin-top: 4px;\n", + " margin-bottom: 5px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-section-summary-in ~ .xr-section-details {\n", + " display: none;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-section-summary-in:checked ~ .xr-section-details {\n", + " display: contents;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-children {\n", + " display: inline-grid;\n", + " grid-template-columns: 100%;\n", + " grid-column: 1 / -1;\n", + " padding-top: 4px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-group-box {\n", + " display: inline-grid;\n", + " grid-template-columns: 0px 30px auto;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-group-box-vline {\n", + " grid-column-start: 1;\n", + " border-right: 0.2em solid;\n", + " border-color: var(--xr-border-color);\n", + " width: 0px;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-group-box-hline {\n", + " grid-column-start: 2;\n", + " grid-row-start: 1;\n", + " height: 1em;\n", + " width: 26px;\n", + " border-bottom: 0.2em solid;\n", + " border-color: var(--xr-border-color);\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-group-box-contents {\n", + " grid-column-start: 3;\n", + " padding-bottom: 4px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-group-box-contents > label::before {\n", + " content: \"📂\";\n", + " padding-right: 0.3em;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-group-box-contents > input:checked + label::before {\n", + " content: \"📁\";\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_50
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-group-box-contents > input:checked + label {\n", + " padding-bottom: 0px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-group-box-contents > input:checked ~ .xr-sections {\n", + " display: none;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-group-box-contents > input + label > span {\n", + " display: none;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-group-box-ellipsis {\n", + " font-size: 1.4em;\n", + " font-weight: 900;\n", + " color: var(--xr-font-color2);\n", + " letter-spacing: 0.15em;\n", + " cursor: default;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-array-wrap {\n", + " grid-column: 1 / -1;\n", + " display: grid;\n", + " grid-template-columns: 20px auto;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-array-wrap > label {\n", + " grid-column: 1;\n", + " vertical-align: top;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-preview {\n", + " color: var(--xr-font-color3);\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-array-preview,\n", + ".xr-array-data {\n", + " padding: 0 5px !important;\n", + " grid-column: 2;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-array-data,\n", + ".xr-array-in:checked ~ .xr-array-preview {\n", + " display: none;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-array-in:checked ~ .xr-array-data,\n", + ".xr-array-preview {\n", + " display: inline-block;\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_500
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-dim-list {\n", + " display: inline-block !important;\n", + " list-style: none;\n", + " padding: 0 !important;\n", + " margin: 0;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-dim-list li {\n", + " display: inline-block;\n", + " padding: 0;\n", + " margin: 0;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-dim-list:before {\n", + " content: \"(\";\n", + "}\n", "\n", - " \n", - " \n", + ".xr-dim-list:after {\n", + " content: \")\";\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-dim-list li:not(:last-child):after {\n", + " content: \",\";\n", + " padding-right: 5px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-has-index {\n", + " font-weight: bold;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-var-list,\n", + ".xr-var-item {\n", + " display: contents;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-item > div,\n", + ".xr-var-item label,\n", + ".xr-var-item > .xr-var-name span {\n", + " background-color: var(--xr-background-color-row-even);\n", + " border-color: var(--xr-background-color-row-odd);\n", + " margin-bottom: 0;\n", + " padding-top: 2px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-item > .xr-var-name:hover span {\n", + " padding-right: 5px;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-var-list > li:nth-child(odd) > div,\n", + ".xr-var-list > li:nth-child(odd) > label,\n", + ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", + " background-color: var(--xr-background-color-row-odd);\n", + " border-color: var(--xr-background-color-row-even);\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_700
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-var-name {\n", + " grid-column: 1;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-dims {\n", + " grid-column: 2;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-var-dtype {\n", + " grid-column: 3;\n", + " text-align: right;\n", + " color: var(--xr-font-color2);\n", + "}\n", "\n", - " \n", - " \n", + ".xr-var-preview {\n", + " grid-column: 4;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-name,\n", + ".xr-var-dims,\n", + ".xr-var-dtype,\n", + ".xr-preview,\n", + ".xr-attrs dt {\n", + " white-space: nowrap;\n", + " overflow: hidden;\n", + " text-overflow: ellipsis;\n", + " padding-right: 10px;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-var-name:hover,\n", + ".xr-var-dims:hover,\n", + ".xr-var-dtype:hover,\n", + ".xr-attrs dt:hover {\n", + " overflow: visible;\n", + " width: auto;\n", + " z-index: 1;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-attrs,\n", + ".xr-var-data,\n", + ".xr-index-data {\n", + " display: none;\n", + " border-top: 2px dotted var(--xr-background-color);\n", + " padding-bottom: 20px !important;\n", + " padding-top: 10px !important;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-attrs-in + label,\n", + ".xr-var-data-in + label,\n", + ".xr-index-data-in + label {\n", + " padding: 0 1px;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", + " display: block;\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_850
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", - " \n", - " \n", - " \n", - " \n", - "
    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 499.80 kiB 166.60 kiB
    Shape (3, 25, 1706) (1, 25, 1706)
    Dask graph 3 chunks in 15 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", + ".xr-var-data > table {\n", + " float: right;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-var-data > pre,\n", + ".xr-index-data > pre,\n", + ".xr-var-data > table > tbody > tr {\n", + " background-color: transparent !important;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + ".xr-var-name span,\n", + ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", + ".xr-attrs {\n", + " padding-left: 25px !important;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-attrs,\n", + ".xr-var-attrs,\n", + ".xr-var-data,\n", + ".xr-index-data {\n", + " grid-column: 1 / -1;\n", + "}\n", "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + "dl.xr-attrs {\n", + " padding: 0;\n", + " margin: 0;\n", + " display: grid;\n", + " grid-template-columns: 125px auto;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-attrs dt,\n", + ".xr-attrs dd {\n", + " padding: 0;\n", + " margin: 0;\n", + " float: left;\n", + " padding-right: 10px;\n", + " width: auto;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-attrs dt {\n", + " font-weight: normal;\n", + " grid-column: 1;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-attrs dt:hover span {\n", + " display: inline-block;\n", + " background: var(--xr-background-color);\n", + " padding-right: 10px;\n", + "}\n", "\n", - " \n", - " \n", - " \n", + ".xr-attrs dd {\n", + " grid-column: 2;\n", + " white-space: pre-wrap;\n", + " word-break: break-all;\n", + "}\n", "\n", - " \n", - " \n", + ".xr-icon-database,\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", + " display: inline-block;\n", + " vertical-align: middle;\n", + " width: 1em;\n", + " height: 1.5em !important;\n", + " stroke-width: 0;\n", + " stroke: currentColor;\n", + " fill: currentColor;\n", + "}\n", "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", - "\n", - "
  • t_925
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + ".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n", + ".xr-var-data-in:checked + label > .xr-icon-database,\n", + ".xr-index-data-in:checked + label > .xr-icon-database {\n", + " color: var(--xr-font-color0);\n", + " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", + " stroke-width: 0.8px;\n", + "}\n", + "
    <xarray.Dataset> Size: 5MB\n",
    +       "Dimensions:       (point_index: 1879, valid_time: 145)\n",
    +       "Coordinates:\n",
    +       "  * code          (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n",
    +       "    wigos_id      (point_index) <U15 113kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    wmo_code      (point_index) float64 15kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    station_name  (point_index) <U40 301kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    country_code  (point_index) <U2 15kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    latitude      (point_index) float64 15kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    longitude     (point_index) float64 15kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    altitude      (point_index) float64 15kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "    city_name     (point_index) <U40 301kB dask.array<chunksize=(1879,), meta=np.ndarray>\n",
    +       "  * valid_time    (valid_time) datetime64[ns] 1kB 2020-02-01 ... 2020-02-07\n",
    +       "Dimensions without coordinates: point_index\n",
    +       "Data variables:\n",
    +       "    10si          (point_index, valid_time) float64 2MB dask.array<chunksize=(1879, 145), meta=np.ndarray>\n",
    +       "    2t            (point_index, valid_time) float64 2MB dask.array<chunksize=(1879, 145), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         observation\n",
    +       "    mlwp_space_trait:        point\n",
    +       "    mlwp_uncertainty_trait:  deterministic
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80228,74 +8297,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 110.10 kiB 110.10 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray \n", "
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_100
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • wmo_code
    (point_index)
    float64
    dask.array<chunksize=(1879,), meta=np.ndarray>
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80310,74 +8352,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 14.68 kiB 14.68 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray float64 numpy.ndarray
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_1000
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • station_name
    (point_index)
    <U40
    dask.array<chunksize=(1879,), meta=np.ndarray>
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80392,74 +8407,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 293.59 kiB 293.59 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray \n", "
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_150
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • country_code
    (point_index)
    <U2
    dask.array<chunksize=(1879,), meta=np.ndarray>
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80474,74 +8462,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 14.68 kiB 14.68 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray \n", "
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_200
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • latitude
    (point_index)
    float64
    dask.array<chunksize=(1879,), meta=np.ndarray>
    standard_name :
    latitude
    units :
    degrees_north
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80556,74 +8517,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 14.68 kiB 14.68 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray float64 numpy.ndarray
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_250
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • longitude
    (point_index)
    float64
    dask.array<chunksize=(1879,), meta=np.ndarray>
    standard_name :
    longitude
    units :
    degrees_east
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80638,74 +8572,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 14.68 kiB 14.68 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray float64 numpy.ndarray
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_300
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • altitude
    (point_index)
    float64
    dask.array<chunksize=(1879,), meta=np.ndarray>
    \n", " \n", " \n", " \n", " \n", - "
    \n", " \n", @@ -80720,74 +8627,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "
    Bytes 499.80 kiB 166.60 kiB 14.68 kiB 14.68 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray float64 numpy.ndarray
    \n", "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 1879\n", + " 1\n", "\n", "
  • u_400
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • city_name
    (point_index)
    <U40
    dask.array<chunksize=(1879,), meta=np.ndarray>
    \n", " \n", " \n", - " \n", + " \n", + "
    \n", " \n", @@ -80802,74 +8682,119 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - "
    Bytes 499.80 kiB 166.60 kiB 293.59 kiB 293.59 kiB
    Shape (3, 25, 1706) (1, 25, 1706) (1879,) (1879,)
    Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
    Data type float32 numpy.ndarray
    \n", - "
    \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", + "
    \n", + " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " 1706\n", - " 25\n", - " 3\n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 1879\n", + " 1\n", "\n", " \n", " \n", - "
  • u_50
    (reference_time, lead_time, point_index)
    float32
    dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
    \n", + "
  • valid_time
    (valid_time)
    datetime64[ns]
    2020-02-01 ... 2020-02-07
    standard_name :
    time
    array(['2020-02-01T00:00:00.000000000', '2020-02-01T01:00:00.000000000',\n",
    +       "       '2020-02-01T02:00:00.000000000', '2020-02-01T03:00:00.000000000',\n",
    +       "       '2020-02-01T04:00:00.000000000', '2020-02-01T05:00:00.000000000',\n",
    +       "       '2020-02-01T06:00:00.000000000', '2020-02-01T07:00:00.000000000',\n",
    +       "       '2020-02-01T08:00:00.000000000', '2020-02-01T09:00:00.000000000',\n",
    +       "       '2020-02-01T10:00:00.000000000', '2020-02-01T11:00:00.000000000',\n",
    +       "       '2020-02-01T12:00:00.000000000', '2020-02-01T13:00:00.000000000',\n",
    +       "       '2020-02-01T14:00:00.000000000', '2020-02-01T15:00:00.000000000',\n",
    +       "       '2020-02-01T16:00:00.000000000', '2020-02-01T17:00:00.000000000',\n",
    +       "       '2020-02-01T18:00:00.000000000', '2020-02-01T19:00:00.000000000',\n",
    +       "       '2020-02-01T20:00:00.000000000', '2020-02-01T21:00:00.000000000',\n",
    +       "       '2020-02-01T22:00:00.000000000', '2020-02-01T23:00:00.000000000',\n",
    +       "       '2020-02-02T00:00:00.000000000', '2020-02-02T01:00:00.000000000',\n",
    +       "       '2020-02-02T02:00:00.000000000', '2020-02-02T03:00:00.000000000',\n",
    +       "       '2020-02-02T04:00:00.000000000', '2020-02-02T05:00:00.000000000',\n",
    +       "       '2020-02-02T06:00:00.000000000', '2020-02-02T07:00:00.000000000',\n",
    +       "       '2020-02-02T08:00:00.000000000', '2020-02-02T09:00:00.000000000',\n",
    +       "       '2020-02-02T10:00:00.000000000', '2020-02-02T11:00:00.000000000',\n",
    +       "       '2020-02-02T12:00:00.000000000', '2020-02-02T13:00:00.000000000',\n",
    +       "       '2020-02-02T14:00:00.000000000', '2020-02-02T15:00:00.000000000',\n",
    +       "       '2020-02-02T16:00:00.000000000', '2020-02-02T17:00:00.000000000',\n",
    +       "       '2020-02-02T18:00:00.000000000', '2020-02-02T19:00:00.000000000',\n",
    +       "       '2020-02-02T20:00:00.000000000', '2020-02-02T21:00:00.000000000',\n",
    +       "       '2020-02-02T22:00:00.000000000', '2020-02-02T23:00:00.000000000',\n",
    +       "       '2020-02-03T00:00:00.000000000', '2020-02-03T01:00:00.000000000',\n",
    +       "       '2020-02-03T02:00:00.000000000', '2020-02-03T03:00:00.000000000',\n",
    +       "       '2020-02-03T04:00:00.000000000', '2020-02-03T05:00:00.000000000',\n",
    +       "       '2020-02-03T06:00:00.000000000', '2020-02-03T07:00:00.000000000',\n",
    +       "       '2020-02-03T08:00:00.000000000', '2020-02-03T09:00:00.000000000',\n",
    +       "       '2020-02-03T10:00:00.000000000', '2020-02-03T11:00:00.000000000',\n",
    +       "       '2020-02-03T12:00:00.000000000', '2020-02-03T13:00:00.000000000',\n",
    +       "       '2020-02-03T14:00:00.000000000', '2020-02-03T15:00:00.000000000',\n",
    +       "       '2020-02-03T16:00:00.000000000', '2020-02-03T17:00:00.000000000',\n",
    +       "       '2020-02-03T18:00:00.000000000', '2020-02-03T19:00:00.000000000',\n",
    +       "       '2020-02-03T20:00:00.000000000', '2020-02-03T21:00:00.000000000',\n",
    +       "       '2020-02-03T22:00:00.000000000', '2020-02-03T23:00:00.000000000',\n",
    +       "       '2020-02-04T00:00:00.000000000', '2020-02-04T01:00:00.000000000',\n",
    +       "       '2020-02-04T02:00:00.000000000', '2020-02-04T03:00:00.000000000',\n",
    +       "       '2020-02-04T04:00:00.000000000', '2020-02-04T05:00:00.000000000',\n",
    +       "       '2020-02-04T06:00:00.000000000', '2020-02-04T07:00:00.000000000',\n",
    +       "       '2020-02-04T08:00:00.000000000', '2020-02-04T09:00:00.000000000',\n",
    +       "       '2020-02-04T10:00:00.000000000', '2020-02-04T11:00:00.000000000',\n",
    +       "       '2020-02-04T12:00:00.000000000', '2020-02-04T13:00:00.000000000',\n",
    +       "       '2020-02-04T14:00:00.000000000', '2020-02-04T15:00:00.000000000',\n",
    +       "       '2020-02-04T16:00:00.000000000', '2020-02-04T17:00:00.000000000',\n",
    +       "       '2020-02-04T18:00:00.000000000', '2020-02-04T19:00:00.000000000',\n",
    +       "       '2020-02-04T20:00:00.000000000', '2020-02-04T21:00:00.000000000',\n",
    +       "       '2020-02-04T22:00:00.000000000', '2020-02-04T23:00:00.000000000',\n",
    +       "       '2020-02-05T00:00:00.000000000', '2020-02-05T01:00:00.000000000',\n",
    +       "       '2020-02-05T02:00:00.000000000', '2020-02-05T03:00:00.000000000',\n",
    +       "       '2020-02-05T04:00:00.000000000', '2020-02-05T05:00:00.000000000',\n",
    +       "       '2020-02-05T06:00:00.000000000', '2020-02-05T07:00:00.000000000',\n",
    +       "       '2020-02-05T08:00:00.000000000', '2020-02-05T09:00:00.000000000',\n",
    +       "       '2020-02-05T10:00:00.000000000', '2020-02-05T11:00:00.000000000',\n",
    +       "       '2020-02-05T12:00:00.000000000', '2020-02-05T13:00:00.000000000',\n",
    +       "       '2020-02-05T14:00:00.000000000', '2020-02-05T15:00:00.000000000',\n",
    +       "       '2020-02-05T16:00:00.000000000', '2020-02-05T17:00:00.000000000',\n",
    +       "       '2020-02-05T18:00:00.000000000', '2020-02-05T19:00:00.000000000',\n",
    +       "       '2020-02-05T20:00:00.000000000', '2020-02-05T21:00:00.000000000',\n",
    +       "       '2020-02-05T22:00:00.000000000', '2020-02-05T23:00:00.000000000',\n",
    +       "       '2020-02-06T00:00:00.000000000', '2020-02-06T01:00:00.000000000',\n",
    +       "       '2020-02-06T02:00:00.000000000', '2020-02-06T03:00:00.000000000',\n",
    +       "       '2020-02-06T04:00:00.000000000', '2020-02-06T05:00:00.000000000',\n",
    +       "       '2020-02-06T06:00:00.000000000', '2020-02-06T07:00:00.000000000',\n",
    +       "       '2020-02-06T08:00:00.000000000', '2020-02-06T09:00:00.000000000',\n",
    +       "       '2020-02-06T10:00:00.000000000', '2020-02-06T11:00:00.000000000',\n",
    +       "       '2020-02-06T12:00:00.000000000', '2020-02-06T13:00:00.000000000',\n",
    +       "       '2020-02-06T14:00:00.000000000', '2020-02-06T15:00:00.000000000',\n",
    +       "       '2020-02-06T16:00:00.000000000', '2020-02-06T17:00:00.000000000',\n",
    +       "       '2020-02-06T18:00:00.000000000', '2020-02-06T19:00:00.000000000',\n",
    +       "       '2020-02-06T20:00:00.000000000', '2020-02-06T21:00:00.000000000',\n",
    +       "       '2020-02-06T22:00:00.000000000', '2020-02-06T23:00:00.000000000',\n",
    +       "       '2020-02-07T00:00:00.000000000'], dtype='datetime64[ns]')
    • 10si
      (point_index, valid_time)
      float64
      dask.array<chunksize=(1879, 145), meta=np.ndarray>
      \n", " \n", " \n", " \n", " \n", - "
      \n", " \n", @@ -80884,74 +8809,47 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "
      Bytes 499.80 kiB 166.60 kiB 2.08 MiB 2.08 MiB
      Shape (3, 25, 1706) (1, 25, 1706) (1879, 145) (1879, 145)
      Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
      Data type float32 numpy.ndarray float64 numpy.ndarray
      \n", "
      \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", + " \n", "\n", " \n", - " 1706\n", - " 25\n", - " 3\n", + " 145\n", + " 1879\n", "\n", "
    • u_500
      (reference_time, lead_time, point_index)
      float32
      dask.array<chunksize=(1, 25, 1706), meta=np.ndarray>
      \n", + "
    • 2t
      (point_index, valid_time)
      float64
      dask.array<chunksize=(1879, 145), meta=np.ndarray>
      \n", " \n", " \n", " \n", + " \n", + "
      \n", " \n", @@ -80966,156 +8864,722 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "
      Bytes 499.80 kiB 166.60 kiB 2.08 MiB 2.08 MiB
      Shape (3, 25, 1706) (1, 25, 1706) (1879, 145) (1879, 145)
      Dask graph 3 chunks in 15 graph layers 1 chunks in 2 graph layers
      Data type float32 numpy.ndarray float64 numpy.ndarray
      \n", "
      \n", - " \n", + " \n", "\n", " \n", - " \n", - " \n", + " \n", + " \n", "\n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 145\n", + " 1879\n", + "\n", + "
  • mlwp_time_trait :
    observation
    mlwp_space_trait :
    point
    mlwp_uncertainty_trait :
    deterministic
  • " + ], + "text/plain": [ + " Size: 5MB\n", + "Dimensions: (point_index: 1879, valid_time: 145)\n", + "Coordinates:\n", + " * code (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n", + " wigos_id (point_index) \n", + " wmo_code (point_index) float64 15kB dask.array\n", + " station_name (point_index) \n", + " country_code (point_index) \n", + " latitude (point_index) float64 15kB dask.array\n", + " longitude (point_index) float64 15kB dask.array\n", + " altitude (point_index) float64 15kB dask.array\n", + " city_name (point_index) \n", + " * valid_time (valid_time) datetime64[ns] 1kB 2020-02-01 ... 2020-02-07\n", + "Dimensions without coordinates: point_index\n", + "Data variables:\n", + " 10si (point_index, valid_time) float64 2MB dask.array\n", + " 2t (point_index, valid_time) float64 2MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: observation\n", + " mlwp_space_trait: point\n", + " mlwp_uncertainty_trait: deterministic" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_synop = load_and_validate_dataset(\n", + " DS_SYNOP,\n", + " loader=\"myloader.py\"\n", + ")\n", + "ds_synop" + ] + }, + { + "cell_type": "markdown", + "id": "34462b8a", + "metadata": {}, + "source": [ + "## Alignment\n", + "Alignment is space and time can now be automatically inferred from the dataset themselves" + ] + }, + { + "cell_type": "markdown", + "id": "50954bb3", + "metadata": {}, + "source": [ + "### Space" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9ad7c741", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2026-06-23 12:20:39.235\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'space', 'variants': [{'point_index'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:39.236\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'space', 'required_coords': {'longitude', 'latitude'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:39.237\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_space_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:39.237\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'longitude'\", 'coord': 'longitude', 'required_attrs': {'standard_name': {'longitude'}, 'units': {'degrees_east'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:39.238\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'latitude'\", 'coord': 'latitude', 'required_attrs': {'standard_name': {'latitude'}, 'units': {'degrees_north'}}}\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 2MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, point_index: 1879)\n",
    +       "Coordinates:\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
    +       "    latitude        (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n",
    +       "    longitude       (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n",
    +       "    xc              (point_index) float64 15kB 9.633e+05 1.044e+06 ... 3.091e+05\n",
    +       "    yc              (point_index) float64 15kB -8.971e+05 ... -7.841e+05\n",
    +       "Dimensions without coordinates: point_index\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, point_index) float64 752kB dask.array<chunksize=(1, 5, 1879), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, point_index) float64 752kB dask.array<chunksize=(1, 5, 1879), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        point\n",
    +       "    mlwp_uncertainty_trait:  deterministic\n",
    +       "    crs:                     +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n",
    +       "    grid_mapping:            {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la...
    " + ], + "text/plain": [ + " Size: 2MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, point_index: 1879)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + " latitude (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n", + " longitude (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n", + " xc (point_index) float64 15kB 9.633e+05 1.044e+06 ... 3.091e+05\n", + " yc (point_index) float64 15kB -8.971e+05 ... -7.841e+05\n", + "Dimensions without coordinates: point_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, point_index) float64 752kB dask.array\n", + " 2t (reference_time, lead_time, point_index) float64 752kB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: point\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la..." + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Align a Grid with Point observations in space:\n", + "ds_fcst_aligned = ds_fcst.mx.align_space_with(ds_synop)\n", + "# This is quick because the interpolation itself is not yet executed, but rather lazely evaluated\n", + "ds_fcst_aligned" + ] + }, + { + "cell_type": "markdown", + "id": "e0c34060", + "metadata": {}, + "source": [ + "As you can see, the `ds_fcst` dataset was transformed from `grid` to `point` along the *space_trait*. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "4f1c75b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "t2m_fcst = ds_fcst_aligned.isel(\n", + " reference_time=0, \n", + " lead_time=10\n", + ")[\"2t\"].compute()\n", + "\n", + "ax = plt.subplot(1, 1, 1, projection=ds_fcst_aligned.attrs[\"crs\"])\n", + "im = ax.scatter(\n", + " x=t2m_fcst[\"xc\"], y=t2m_fcst[\"yc\"], c=t2m_fcst.values, cmap=\"Spectral_r\", s=2\n", + ")\n", + "ax.coastlines()\n", + "\n", + "plt.colorbar(im)" + ] + }, + { + "cell_type": "markdown", + "id": "de39ca6e", + "metadata": {}, + "source": [ + "If you want to interpolate more than 1 dataset to a target dataset you can use the main `mxalign.interpolate` function. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a9599868", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['xarray', 'delaunay']" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mx.available_interpolations()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "2f2e485f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2026-06-23 12:20:41.030\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'space', 'variants': [{'point_index'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:41.030\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'space', 'required_coords': {'longitude', 'latitude'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:41.031\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_space_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:41.031\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'longitude'\", 'coord': 'longitude', 'required_attrs': {'standard_name': {'longitude'}, 'units': {'degrees_east'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:20:41.031\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'latitude'\", 'coord': 'latitude', 'required_attrs': {'standard_name': {'latitude'}, 'units': {'degrees_north'}}}\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 2MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, point_index: 1879)\n",
    +       "Coordinates:\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
    +       "    latitude        (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n",
    +       "    longitude       (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n",
    +       "    xc              (point_index) float64 15kB 9.633e+05 1.044e+06 ... 3.091e+05\n",
    +       "    yc              (point_index) float64 15kB -8.971e+05 ... -7.841e+05\n",
    +       "Dimensions without coordinates: point_index\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, point_index) float64 752kB dask.array<chunksize=(1, 5, 1879), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, point_index) float64 752kB dask.array<chunksize=(1, 5, 1879), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        point\n",
    +       "    mlwp_uncertainty_trait:  deterministic\n",
    +       "    crs:                     +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n",
    +       "    grid_mapping:            {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la...
    " + ], + "text/plain": [ + " Size: 2MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, point_index: 1879)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + " latitude (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n", + " longitude (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n", + " xc (point_index) float64 15kB 9.633e+05 1.044e+06 ... 3.091e+05\n", + " yc (point_index) float64 15kB -8.971e+05 ... -7.841e+05\n", + "Dimensions without coordinates: point_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, point_index) float64 752kB dask.array\n", + " 2t (reference_time, lead_time, point_index) float64 752kB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: point\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la..." + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mx.interpolate(\n", + " source_datasets=[ds_fcst, ],\n", + " target_dataset=ds_synop,\n", + " method=\"xarray\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "79560e90", + "metadata": {}, + "source": [ + "> Below code will fail on `NotImplementedError`, this is for illustration purposes" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "5b304c8e", + "metadata": {}, + "outputs": [ + { + "ename": "NotImplementedError", + "evalue": "Delaunay interpolation currently only supports stacked grids", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNotImplementedError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[19]\u001b[39m\u001b[32m, line 2\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# The default interpolation is xarray-based, now lets try the Delaunay interpolation\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m2\u001b[39m ds_fcst_aligned2 = ds_fcst.mx.align_space_with(ds_synop, method=\u001b[33m\"delaunay\"\u001b[39m)\n", + "\u001b[36mFile \u001b[39m\u001b[32m/etc/ecmwf/nfs/dh1_perm_b/cu0k/mxalign/src/mxalign/accessors/mx.py:225\u001b[39m, in \u001b[36mMxAccessor.align_space_with\u001b[39m\u001b[34m(self, ds2, **kwargs)\u001b[39m\n\u001b[32m 223\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m _space.align_grid_grid(\u001b[38;5;28mself\u001b[39m._ds, ds2, **kwargs)\n\u001b[32m 224\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m ds2.mx.is_point():\n\u001b[32m--> \u001b[39m\u001b[32m225\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43m_space\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43malign_grid_point\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_ds\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mds2\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 226\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.is_point():\n\u001b[32m 227\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m ds2.mx.is_point():\n", + "\u001b[36mFile \u001b[39m\u001b[32m/etc/ecmwf/nfs/dh1_perm_b/cu0k/mxalign/src/mxalign/accessors/space.py:30\u001b[39m, in \u001b[36malign_grid_point\u001b[39m\u001b[34m(ds1, ds2, method, **kwargs)\u001b[39m\n\u001b[32m 27\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01m.\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01minterpolations\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mregistry\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_interpolation\n\u001b[32m 29\u001b[39m interp_cls = get_interpolation(method)\n\u001b[32m---> \u001b[39m\u001b[32m30\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43minterp_cls\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mds2\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43minterpolate\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mds1\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mcopy\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m/etc/ecmwf/nfs/dh1_perm_b/cu0k/mxalign/src/mxalign/interpolations/base.py:23\u001b[39m, in \u001b[36mBaseInterpolator.interpolate\u001b[39m\u001b[34m(self, source_dataset)\u001b[39m\n\u001b[32m 20\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34minterpolate\u001b[39m(\n\u001b[32m 21\u001b[39m \u001b[38;5;28mself\u001b[39m, source_dataset: xr.Dataset | xr.DataArray\n\u001b[32m 22\u001b[39m ) -> xr.Dataset | xr.DataArray:\n\u001b[32m---> \u001b[39m\u001b[32m23\u001b[39m ds_out = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_interpolate\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43msource_dataset\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 24\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m update_space_trait(ds_out, \u001b[38;5;28mself\u001b[39m.target_space)\n", + "\u001b[36mFile \u001b[39m\u001b[32m/etc/ecmwf/nfs/dh1_perm_b/cu0k/mxalign/src/mxalign/interpolations/delaunay.py:49\u001b[39m, in \u001b[36mDelaunayInterpolator._interpolate\u001b[39m\u001b[34m(self, source_dataset)\u001b[39m\n\u001b[32m 47\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_interpolate\u001b[39m(\u001b[38;5;28mself\u001b[39m, source_dataset):\n\u001b[32m 48\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33mgrid_index\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m source_dataset.dims:\n\u001b[32m---> \u001b[39m\u001b[32m49\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\n\u001b[32m 50\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mDelaunay interpolation currently only supports stacked grids\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 51\u001b[39m )\n\u001b[32m 53\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33mlatitude\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m source_dataset.dims:\n\u001b[32m 54\u001b[39m lon_grid, lat_grid = np.meshgrid(\n\u001b[32m 55\u001b[39m source_dataset[\u001b[33m\"\u001b[39m\u001b[33mlongitude\u001b[39m\u001b[33m\"\u001b[39m].values, source_dataset[\u001b[33m\"\u001b[39m\u001b[33mlatitude\u001b[39m\u001b[33m\"\u001b[39m].values\n\u001b[32m 56\u001b[39m )\n", + "\u001b[31mNotImplementedError\u001b[39m: Delaunay interpolation currently only supports stacked grids" + ] + } + ], + "source": [ + "# The default interpolation is xarray-based, now lets try the Delaunay interpolation\n", + "ds_fcst_aligned2 = ds_fcst.mx.align_space_with(ds_synop, method=\"delaunay\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "b532541c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset> Size: 951MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, grid_index: 1142761)\n",
    +       "Coordinates:\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
    +       "    latitude        (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n",
    +       "    longitude       (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n",
    +       "    yc              (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n",
    +       "    xc              (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n",
    +       "Dimensions without coordinates: grid_index\n",
    +       "Data variables:\n",
    +       "    10u             (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 570846), meta=np.ndarray>\n",
    +       "    2t              (reference_time, lead_time, grid_index) float64 457MB dask.array<chunksize=(1, 13, 570846), meta=np.ndarray>\n",
    +       "Attributes:\n",
    +       "    mlwp_time_trait:         forecast\n",
    +       "    mlwp_space_trait:        grid\n",
    +       "    mlwp_uncertainty_trait:  deterministic\n",
    +       "    crs:                     +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n",
    +       "    grid_mapping:            {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la...
    " + ], + "text/plain": [ + " Size: 951MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, grid_index: 1142761)\n", + "Coordinates:\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + " latitude (grid_index) float64 9MB 20.29 20.31 20.32 ... 63.81 63.77\n", + " longitude (grid_index) float64 9MB -17.49 -17.44 -17.4 ... 74.04 74.11\n", + " yc (grid_index) float64 9MB -2.937e+06 -2.937e+06 ... 2.937e+06\n", + " xc (grid_index) float64 9MB -2.937e+06 -2.931e+06 ... 2.937e+06\n", + "Dimensions without coordinates: grid_index\n", + "Data variables:\n", + " 10u (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + " 2t (reference_time, lead_time, grid_index) float64 457MB dask.array\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: grid\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la..." + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Delaunay interpolation currently only works with stacked datasets.\n", + "ds_fcst = ds_fcst.mx.stack()\n", + "ds_fcst" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "abde9b4c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Calculating interpolation-weight matrix\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Delaunay interpolation: rechunking grid_index from 3 chunks to 1 (required for the sparse weight matmul).\n", + "Delaunay interpolation: rechunking grid_index from 3 chunks to 1 (required for the sparse weight matmul).\n", + "\u001b[32m2026-06-23 12:21:02.234\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_dim_variants with {'axis': 'space', 'variants': [{'point_index'}]}\u001b[0m\n", + "\u001b[32m2026-06-23 12:21:02.235\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_required_coords with {'axis': 'space', 'required_coords': {'longitude', 'latitude'}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:21:02.235\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_space_coordinate_metadata with {'trait': }\u001b[0m\n", + "\u001b[32m2026-06-23 12:21:02.235\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'longitude'\", 'coord': 'longitude', 'required_attrs': {'standard_name': {'longitude'}, 'units': {'degrees_east'}}}\u001b[0m\n", + "\u001b[32m2026-06-23 12:21:02.236\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mmlwp_data_specs.specs.reporting\u001b[0m:\u001b[36mwrapper\u001b[0m:\u001b[36m41\u001b[0m - \u001b[1mApplying check_coordinate_attrs with {'section': 'Spatial Coordinate', 'requirement': \"Metadata for coordinate 'latitude'\", 'coord': 'latitude', 'required_attrs': {'standard_name': {'latitude'}, 'units': {'degrees_north'}}}\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done\n" + ] + } + ], + "source": [ + "# Now try the deleanay interpolation again\n", + "ds_fcst_aligned2 = ds_fcst.mx.align_space_with(ds_synop, method=\"delaunay\")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c4a38360", + "metadata": {}, + "outputs": [], + "source": [ + "result1 = ds_fcst_aligned.compute()\n", + "result2 = ds_fcst_aligned2.compute()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c9c75b67", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.DataArray '2t' ()> Size: 8B\n",
    +       "array(0.03928614)\n",
    +       "Attributes:\n",
    +       "    fill_value:  nan
    " ], "text/plain": [ - " Size: 42MB\n", - "Dimensions: (reference_time: 3, lead_time: 25, point_index: 1706)\n", - "Coordinates:\n", - " * reference_time (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-...\n", - " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 d...\n", - " code (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n", - " station_name (point_index) \n", - " 10v (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " 2d (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " 2t (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " cos_julian_day (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " cos_latitude (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " ... ...\n", - " z_700 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z_850 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z_925 (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " z (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " tp (reference_time, lead_time, point_index) float32 512kB dask.array\n", - " 10si (reference_time, lead_time, point_index) float64 1MB 6.2...\n", + " Size: 8B\n", + "array(0.03928614)\n", "Attributes:\n", - " properties: {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter..." + " fill_value: nan" ] }, - "execution_count": 45, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "ds_fcst_transformed = mx.transform(\n", - " \"kelvin_to_celcius\", ds_fcst_aligned2, variables=[\"2t\", \"2d\"]\n", - ")\n", - "\n", - "ds_fcst_transformed = mx.transform(\n", - " \"external\",\n", - " ds_fcst_transformed,\n", - " \"earthkit.meteo.wind.speed\",\n", - " inputs={\"u\": \"10u\", \"v\": \"10v\"},\n", - " output=\"10si\",\n", + "# Difference in interpolation methods\n", + "t2m_difference = (result2 - result1)[\"2t\"]\n", + "np.abs(t2m_difference).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "9831d63a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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BCBq1KghvF5vkuPWrVsnANGkSRN736uvvioAcfDgwVs55FThVtiM0D1mlK4sFpWrdt3bjNKV72j7djnSvHE/e/asKFiwoChQoIDYvXu3mDZtmvjnn39SdUwfffSR/YWWNWtWMWLECFG1alUBiLFjx4qBAweKqKgokTVr1ogvw3bt2omdO3dGXOvs2bMCEMOGDYvYb5qmGDlypPB4POLee+8Vy5cvv2nzOXbs2B35txHOqVOnxPbt21N7GHc0CQkJInv27AIQRYsWFYDo0KGD8Hq9In369AIQefPmFR6PRwCib9++Qghh/33HxsZGXG/IkCECECNGjLD3TZo0ScyfP18kJCTc0rldimEYYs6cOcLhcIj3338/4r25c+eKqKgoUaFCBfHvv//a+/fv3y9cLpf47LPPbvVwbzm30rjPLFdFLK5Y/bq3meWq3LH27Uqk+VK4efPmcfDgQXr06EGxYsVo2bJlqtdSV6hQAYDKlSuTL18+evfuDcCrr77Ko48+yjvvvMO2bdt44YUX7HMaNmxIhgwZmDhxItu3b7dbo65duxaAH3/8EbDaTTZu3BhVVXnuuefo1q0bmzZtok6dOjdtPrly5brjw1nZsmWjZMmSqT2MO5L4+Hj+97//kStXLk6dOgXAv//+C0DhwoVZv3693SmtXbt29pJYKL/j3nvvBaxkzyFDhtCtWzdq1KhB3759+d///kevXr0AKyu9TZs2NG7cmLx581KrVi02bNhwS+caQlVVHn74YZ577jk++OADLly4AFj//x555BEefPBBVq5cGdF5slChQtSuXZsFCxakypjTKlZJW0pq3dNmQl2aX3P//PPPefHFF9m+fXuqfXlPnz4dp9Npl/t4vV4KFChAhw4dGDp0qJ0wlxxfffWVbfwvpV27dsydO9fO1M2YMSMXLlwgS5YsNG7cmK5duyZZD5RIbjQvvvhiRD5IOH/99Rc+n48HH3wQgD///BOXy8W5c+d46KGHAMuojxgxArfbzdtvv22f27ZtWx577DGKFi1KTEwMhw4dSlIb/vTTT/P1118nue/333/PwYMHyZQpE9WqVaNatWo3pcvanj17uPfee5kxYwYtWrRg8uTJtGnThmPHjtl5M+GMGTOGbt268c8//6S6k3EzuZVr7rMqViW9dv254XGGTvONa+9I+3Yl0rxxL1KkCLly5WLVqlWp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GvHtt99u9L7+KixdupQ77riDK664gq+++or/+7//49dff8W2bQYMGECrVq3YddddeT+QZC4tLWXQoEHce++9TJs2jXXr1vHll1/y8MMPc+qpp3LFFVdw9NFH06hRI0455RSOOeYY3nnnHXbccce/5fw8ueU/2yP+UWX5Tp06ccABB/DRRx/RsWNHli9fDkCXLl1o3br133x0OWxP+Pbbb0mlUuy777506dKF6dOnM3bsWE488cQqt3EdBztkTnsesQ2w5jONTXRNi8bsdF1HT+RFEra+72MW1gYnjWbFEZrGbjsWknR9dAEtaiu9d8/zAyc7NapXPqRIVOATqDE10zDK+tyA7wX9a+njey560K83DYOVK1bwxx9/cMaZZ3LXnXfSKDA7AejVqxfPP/88S0tsGtQUPPjIY6xZu5bBgwczdepHjHn9dRruUBNdKA/7MChrmhbMu5NxDIHCnG6QF4+RspUuvVayCoQOZgyzpmodmFasAvch8z4sAltZPRbHSyVB09CDMTkhBLpp4QUz8xsjhZu1CKti8Ray5wVKvraywL569WqOPvpoPv74Y5o2bbrNzV2klMydO5dJkybx1ltvMXnyZHRd58orr6RXr1706dOHJk2aRN/FBx54gA8++IDjjz+egQMHMnr0aKZNm0a1atW44YYbov3GYjHatWvH559/TvPmzTn11FM55JBD6N69+3+CV/Bvwz8quMdiMV566SV22mmnKLADtGnThlQqxQ8//MAtt9xC79696du3b+4LlcNmQUrJJ9M/A6B169a8PnYshxx6KDVr1sx6je24SBS7XQt6xOEt3/UhRugypmxZy/ddHTsdmJYIYokEJlSatQJqJtss6+UXxgy6Na0d/Z2pde+4kIirXnpePKaEXgK2u+MqYlfcCjzidQPPCwKcbgSGKAJNyz7W/Px8CgoKSJaWZgV2gEMOOQSA18e+Tud9u7B02bLouTlzvuXss8/mtbffo26+idAN3HUrwbXRCmohzBje2uVIO4mIF+IFynmaYWHGE5iGjp8qwUON3knNwLXTeChFvFCiV7HbY5HJj6brAaFOvSaWXxiNxvnpUhBa4HdfFpBDYxdd1zGDkmzm7L6u62qKwferDMiObZeV+MupCwIsLUpx5yPDmf7ZZwx/8mn269Jpm9ynpJS88847vPzyy0yePJk//lDVlq5duzJs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QcOGPPX00zz77LP4nkthXiKyea0Umsbv69Lcdu8DnHraaUyZMoXevXvzwqhRfDx5IqXJJB067sPjjz9ebjP1GSeTSf5cswYAb8VCvF+/wVv9ezTDLoTAsOKYsQSarhOPxbAsi1igZWAYBmNefZV58+bRpUsXli1bRufOnVm0aBFSSs477zz22GOPjb5OU6dOZcaMGWr8z/O459572a3lrjww8GG+mP4pfjqpjjXIyH1fkrLtTWbMC01Dj+Vl6TeYhk5ezCJumeTFsqsPmdWCrak3//TTTzNo0CCmT59Onz59KljxbmvkgnvlyAX3HDYJjz32GJ9//jnvv/8+Rx11FEJUruymaxpWUI6PxzZ9Rrc8PM/DRwmrACA0YkHZt3zJ089gKYdI2zaO60bs+8qgmxbX33Ibd//ffey2225ceeW2U5rbVKxYsQKAu+66i969e9OkSRPeeust6tatS0FhIYf27MWPP/7AypUrN/s9tMBTHMgq6X733Xc8/vjjnHb66fTr1w/P8+jXrx9nn332Rrkyrk06PP/M0zxw5y1M//RTDjvsMC666CKuveFGXnztDd548y3OOussLrnkEp555plou0QiwbvvvkteXh5Nmjbj9FNOZsH33wISilaWleLLIZwGiNpF6TR7d2jPR1OnsHr1avr3779RgkVV4emnn67Qs583/wds2+a4k0/jy5kzgUDzIeyBr2d/VlAFMwyjQlujMpiGTixwRlQVMzuL1GgF1a9MbO4o3g8//MBFF13E6aefzp133snvv/8ecVFy+GchR6jLYaOxevVqhg8fzgUXXED37t038GqJhq80vDNHiaTETaeQSEwrvlHEIs/zSId9Rc3EtIwqFxWu50WjTZZpRsSy7BH6ym9sr732GkOGPsGQIUO46KKLNnhcfxeknWL5T98D8NQTg9ml1R7sv//+0fUoiFs88vhg9mi5C2Nfe40LL7xws95HCFGpeEqXLl1YtWo1ZizGZ599huf7nHH66SxZsoRTTz2VL774gn322afK/WrSY9gjD3DkCSdz9/0P8tSjDzBx4kRc12Xp0qV8/vnnvDduHCtXruSee+7h7LPPjrbt3bs3Cxcu5LnnnmPQoEEcNeNzvnj7RQqqVQdNx7OT+KkkwrTQ4/mVfke8YBHQrGlTHhs0iFNOPZUOHTrw0ksv0bJly02+TpdddhlFRUW8/vrrWY+fdsrJvPDiS7z06mvsvldHUo6LrgnyLb2CTXEmwhG2yuD7Po7nowuJrmWPt/lSkgpaYK7rkZ+IV+oN4LjK/U8IQTxW0dEuxMcff8ynn34azfxblsXgwYNxXZdBgwbRo0cPevbsSY0aNTb2Uv0lcH2JvgXZt7udZu654J7DRuOFF16gpKSE66+6gn7nncOIp5/hmWee4ayzzqrwWiedLsuGBBhBKdFzbPxwjMlOY8YTG3zf8uVhTas6m8kUuPE8LwrulmniOE4woleR5PX5559z1llncdJJJ212MNxWkEUr2K+DKhsv/GEuZ57XL+sGnRcz2b15U7p3786YMWP+kvOpWbMGqbRNly5dOKBbVyzTjPTVp0+fTseOHQEVqNK2Q8p2MHSdvLjFlInjWb70D66+6ipaN9mZRx55JNrvxIkTOfTQQ3n6qaeoVatWpeXkHXbYgWOPPZYJEyYw6YMPuGvES9z/4EMAeKVqdFGmXTQzlmVeFELT9Yhd36dPHxb/9hvXXHMNrVq14ttvviGZSjFp0iSuvfZalixZwo5167KqxEYTglr5VlafG6Bdu3aMHTuWdDodXYPmzZtz3nnnAXD6aaeRCqY6PF9utr2wlJKiZDr8gxilWJlKjuViVFXKkE5wLOHYYmUOgOPHj6d3794YhhEtlkPcfvvtLFiwgJkzZ2ZZ1/5dyCnUVY5ccM9ho+D7Pvfddx/HHHMMTz37PCOefgaAXXbZpdLXyyr/2HTouo4WzM+b5vq/soauYweLisxxMF3X0PVsj3fp+7gla/n4k084/tQzad++Pc8888w/rr9eAVYeh3Xbl6svOIsHhz7JdXfel6VtDmphs3LlSurWrfuXHIIQgkQ8+3rWqFGDBg0acNVVVzFn1ld03qcjscKa9DziKBUkPA/X83nrrbfYY4896NqpQ4X9HnLIIfTt25fLLrsM3/c58aQ+uJ5XYUE2cOBAJkyYAMCjg4dyYI9D6N378HLywpUHUNOKRVoMs2fP5pprrgHUd/yqKy5j3IQPotdalsWydSnu+797SZaWcPfdd7NDYeUL0lgsRsuWLXnwwQd54IEHosXkU8+NIj8/n0svv5J4PLZJREzH81lToiYQCuMZVRQhAs96D/Qyf/uYZeK6HoahV1iEhNA1LaTWo1AAAD6iSURBVCLbVUZ6XLduHeeffz6HHHII7733HosXL+aPP/7AcRzq169P8+bNeffddwFVzcvhn4ncKFwOG4VkMkmtWrVIZfifz5n5Ba3bdaz09b7v49o2QhMY5WxXwxlk3ay6JLgl2NjZXs9OMWfWTLr2OIz2e7Xljbfe2aolxnQ6HamMbW3IZBFz586ldYdODBs2jH79+mU9//rrr3Pcccfx8ccfR9Kp2wLFxcUMeug+Hn5sCCtXqRv/CSeexIinRwJQmBenaZMmnHDCCQwcOLDSfTiOw6OPPcb4ceO44krlUW+VW7zMnz+f3XbbDYA6tWtTVFzM999/T9PGjfDsFJppoRkb5nosXLiQZs2aRd+Zlru0oOdhhzF7znf83//9H506deK3NaXstUsTVq1cwaE9e/P+uHcr7GfChAlcc801rFu3lp3q1ePT6Z9VeM3cX36jeYO6lWbKmfA9T/nP6zrFaZ9kkGnHDQ1dKEtYTfpYwsdKFGzWzHzoMldZBeHmm2/m4Ycf5rvvvos0ASoco+9z5pln8uqrrzJ58uQK37FtOQp3/nOfYG3BKJxdWsyIM/fb7uJbjlCXw0YhkUgwbty46O8bb7yJ5ru1qfL1mqZhxeOYVgzXTmGXFuMEsrGGFcOwNt3hamNRWZ+xMtiuxxnn9qP+zjsz9pWXNzuwz58/nwceeICBAwdGQeKOO+4gHo/TsGFDbrrxxq2uJS4ShezeriM1atSIyHWZ0FCZWc3Ytv0nXlBQwNWXX8ZvP8xh7R8LeerJJxnz6ivMn/sdBfEYmhAsWbKE+vXrV7kP0zS5bMAA3nzrbQ466EDMShZHLVu25If5ymlu5apVWJbFaaedxifTP8NIFGxUYAdo0KABxx9/fPT3ot9+4533xnHdddfRtGlTXNelVlxn2DOjAOjQfq9K9/PZZ58xe/ZsfvllIcuXZ38eRx9/ItO+nE3tmtWjqoLnS0ptt4I6mjJ7SakAb9tk6DJh6DqWoWNqGjErhpVXuFmSsqEcbWWB3fd9nnnmGc4444wqAzuof99PP/00iUSCF154YZOPYWvCk3KLf7ZH5IJ7DhuN0BkL4O677+LMjF67LyXpdJp0Zq+dIEsIRmWk76sy4t8Mx3UpSaa46ZZbmffDD4we9QI16+68yftZuXIlZ5xxBrvtthvXXHMNV155JT/++COg5tBB6ZTffc89zPh8688Df/rpp6xZs6bS1si+TZRy3qyp7yNLK6qv/ZUwCmthFtaicMcGnHHmmey0006MGDYcNxDdOeqoo7j22mvZe++9eeGFFypd+Bi6Tn4iTmI9Nqe77NqS3377jXvvvZeHHnqINWvWcMABB/DQQw+xZMkSxo8fz5w5c6o8zsWLF2OaJmPGjIkeSyZT/PTzz/Ts2ZO6desSj8dp3LABbVuq7P6eu++udF9XX301TZs0AciyhwX4ce53jH9jDO+98RpLly7F831+XV3M4jWlLPyzZL0LvzxLp0ZejBp5MQriauwzLxHHsv6a8cxJkybx22+/ccYZZ2zwtZZl4TgOTYLzzuGfhVxwz2GjUVBQwO23307nzp0BePXVV/n+e8Xadl1XeX9n2F+GyMwuNifT8DyfZCpNKpXeorltKBMS+emnn3h44EBuv/122u299ybfKF977TVatWrFu+++x+NDhkbkqZYtWzJhwgTuv/9+3n7jdfbac0+VKf0FN2ItaHc8+tjjFTLAlUE2v2Odmkh380SENhdCCEVm01R22K/fBTz33LPMnTuX4pTDI0OG88igx6hXrx6nn34655577mZXNurXr891113H+eefz5w5c7jkkku46qqrqF+/Pr169aJbt27YduXnH4vFOOSQQyo8BpCfn89NN93Eww8/jKZpXHLJJes9jkQiwU477QRA1/325a7bb6NXz8MYMGAAxcXFPPLwQM4++2z+97//4aRtnODzcjw/+j28dlYsjqbrGJaFrhskLPVTuaqiH6kxVnYNpe8j7Y1zoVu6dCkXXHABe++9N126dNng60Fd//KLmW2N3Jx75cj13HPYZHzzzTe0bduWm266idtuuw1d13FcNwrqhq5njfJIKZG+h9C0KklO60MqnY6Cl2FsvktWeCylqTRTPvyQIw7vzfdz57J70LvdWJSUlFBQoHp8Bx7cnREjn2PHWtV5cvgwrrzySkaPHs0pp5yijGeK17J02VIaN9slS3xka2DFuhJ2rF5AIpFg1Zq1JKyy/X866X3269GTmZPeYq+DDt+s6741IKVkzdp17N2hPQ0bNeKFse8AisW9U408HnvsMQYMGMBvv/223lL9xsJ1XQ4++GCmTZsGQLNmzfjxxx83yE5PpVK8+eabjBgxgkmTJgEqM83Pz+fPP/8EYNmyZey4445V7qOkpIQXX3yR4447LrL9XbVqFY8Oeox0Os0Xn3/G3O+/Z+HC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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.subplot(1, 1, 1, projection=ds_fcst_aligned.attrs[\"crs\"])\n", + "im = ax.scatter(\n", + " x=t2m_difference[\"xc\"],\n", + " y=t2m_difference[\"yc\"],\n", + " c=t2m_difference.isel(reference_time=0, lead_time=10).values,\n", + " cmap=\"RdBu_r\",\n", + " s=2,\n", + " vmax=1.5,\n", + " vmin=-1.5\n", ")\n", - "\n", - "ds_fcst_transformed" + "ax.coastlines()\n", + "plt.colorbar(im)" ] }, { "cell_type": "markdown", - "id": "620b8591", + "id": "b0d0d89f", "metadata": {}, "source": [ - "With both observations and forecats completely aligned (space, time, and units). We can calculate some scores" + "### Time" ] }, { "cell_type": "code", - "execution_count": 46, - "id": "bbb4764f", + "execution_count": 25, + "id": "2780b5b4", "metadata": {}, "outputs": [ { @@ -84064,37 +12783,43 @@ " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", " stroke-width: 0.8px;\n", "}\n", - "
    <xarray.Dataset> Size: 4MB\n",
    -       "Dimensions:          (point_index: 1706, reference_time: 3, lead_time: 25)\n",
    +       "
    <xarray.Dataset> Size: 2MB\n",
    +       "Dimensions:         (point_index: 1879, reference_time: 2, lead_time: 25)\n",
            "Coordinates:\n",
    -       "    code             (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n",
    -       "    station_name     (point_index) <U20 136kB 'Krakenes' ... 'Krasnaja Gora'\n",
    -       "    station_country  (point_index) <U20 136kB 'Norway' ... 'U.S.S.R.(Europe)'\n",
    -       "    latitude         (point_index) float64 14kB 62.03 62.33 62.18 ... 52.9 53.02\n",
    -       "    longitude        (point_index) float64 14kB 4.983 5.267 6.067 ... 30.03 31.6\n",
    -       "    altitude         (point_index) float64 14kB nan 38.0 74.0 ... nan nan nan\n",
    -       "  * reference_time   (reference_time) datetime64[ns] 24B 2020-02-01 ... 2020-...\n",
    -       "  * lead_time        (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 d...\n",
    -       "    valid_time       (reference_time, lead_time) datetime64[ns] 600B 2020-02-...\n",
    +       "  * code            (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n",
    +       "    wigos_id        (point_index) <U15 113kB '0-20000-0-13611' ... '0-20000-0...\n",
    +       "    wmo_code        (point_index) float64 15kB 1.361e+04 1.362e+04 ... 1.62e+04\n",
    +       "    station_name    (point_index) <U40 301kB 'DURRES' ... 'RADICOFANI'\n",
    +       "    country_code    (point_index) <U2 15kB 'AL' 'AL' 'AL' ... 'GB' 'GB' 'IT'\n",
    +       "    latitude        (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n",
    +       "    longitude       (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n",
    +       "    altitude        (point_index) float64 15kB 15.0 193.0 889.0 ... 10.0 816.0\n",
    +       "    city_name       (point_index) <U40 301kB 'DURRES' ... 'RADICOFANI'\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "    valid_time      (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n",
            "Dimensions without coordinates: point_index\n",
            "Data variables:\n",
    -       "    10si             (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(3, 25, 1190), meta=np.ndarray>\n",
    -       "    2t               (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(1, 25, 1190), meta=np.ndarray>\n",
    -       "    2d               (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(1, 25, 1190), meta=np.ndarray>\n",
    -       "    msl              (reference_time, lead_time, point_index) float64 1MB dask.array<chunksize=(1, 25, 1190), meta=np.ndarray>\n",
    +       "    10si            (point_index, reference_time, lead_time) float64 752kB 2....\n",
    +       "    2t              (point_index, reference_time, lead_time) float64 752kB 10...\n",
            "Attributes:\n",
    -       "    properties:  {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter...
  • mlwp_time_trait :
    forecast
    mlwp_space_trait :
    point
    mlwp_uncertainty_trait :
    deterministic
  • " ], "text/plain": [ - " Size: 4MB\n", - "Dimensions: (point_index: 1706, reference_time: 3, lead_time: 25)\n", + " Size: 2MB\n", + "Dimensions: (point_index: 1879, reference_time: 2, lead_time: 25)\n", "Coordinates:\n", - " code (point_index) int64 14kB 1203 1205 1209 ... 26966 26976\n", - " station_name (point_index) \n", - " 2t (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " 2d (reference_time, lead_time, point_index) float64 1MB dask.array\n", - " msl (reference_time, lead_time, point_index) float64 1MB dask.array\n", + " 10si (point_index, reference_time, lead_time) float64 752kB 2....\n", + " 2t (point_index, reference_time, lead_time) float64 752kB 10...\n", "Attributes:\n", - " properties: {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter..." + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: point\n", + " mlwp_uncertainty_trait: deterministic" ] }, - "execution_count": 46, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Calculate MSE by hand\n", - "mse = (ds_obs_aligned - ds_fcst_transformed) ** 2\n", - "mse" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "8e04520c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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HNBuTygwmZiIiEhduttaePnll3Hq1Ck89thjai+lV0wmJiIiUpeumrCcOHECP//5z7Fx40aYTP1butPphNPplP9ss9mUWh6cHi8O1/iffyqDGyIiIlXoZufG6/Xiu9/9Lp544gmMGTOm349bvnw5LBaL/JWXl6fYGo/U2OH2ikiJj0busFjFXoeIiIj6ppvgxm63Y9euXbj33nthMplgMpnwy1/+Evv27YPJZMIXX3zR6+OWLVsGq9Uqf1VWViq2RinfZmpeMgRBUOx1iIiIqG+6OZZKSkrCgQMHenzvz3/+M7744gv8+9//RmFhYa+PM5vNMJvNoVgik4mJiIg0QNXgpq2tDWVlZfKfy8vLUVpaipSUFOTn52PZsmWoqqrCK6+8AoPBgEmTJvV4fHp6OmJiYs77vlq6konZvI+IiEgtqgY3u3btwle+8hX5zw888AAA4I477sCKFStQU1ODiooKtZY3INYON041tgPgzg0REZGaBFEURbUXEUo2mw0WiwVWqxVJSUlBe97Tje14+J39sDs8+Oi+eUF7XiIiIhrY57ducm60riAtHm/+cDYiLFYkIiLSHN1US+kFq6SIiIjUxeCGiIiIwgqDGyIiIgorDG6IiIgorDC4ISIiorDC4IaIiIjCCoMbIiIiCisMboiIiCisMLghIiKisMLghoiIiMIKgxsiIiIKKwxuiIiIKKwwuCEiIqKwwuCGiIiIwopJ7QWEmiiKAACbzabySoiIiKi/pM9t6XP8QiIuuLHb7QCAvLw8lVdCREREA2W322GxWC54H0HsTwgURnw+H6qrq5GYmAhBEIL63DabDXl5eaisrERSUlJQn1vrIvXaI/W6gci99ki9boDXHonXrqXrFkURdrsd2dnZMBgunFUTcTs3BoMBubm5ir5GUlKS6n8J1BKp1x6p1w1E7rVH6nUDvPZIvHatXPfFdmwkTCgmIiKisMLghoiIiMIKg5sgMpvNeOyxx2A2m9VeSshF6rVH6nUDkXvtkXrdAK89Eq9dr9cdcQnFREREFN64c0NERERhhcENERERhRUGN0RERBRWGNwEyfPPP4+CggLExMRg1qxZ2LFjh9pLCrrly5djxowZSExMRHp6OhYvXoxjx471uI/D4cDSpUuRmpqKhIQEfPOb30RdXZ1KK1bGk08+CUEQcP/998vfC+frrqqqwm233YbU1FTExsZi8uTJ2LVrl3y7KIp49NFHkZWVhdjYWCxYsAAnTpxQccXB4fV68cgjj6CwsBCxsbEYOXIkfvWrX/Vo/R4O175hwwYsWrQI2dnZEAQBK1eu7HF7f66xubkZt956K5KSkpCcnIx77rkHbW1tIbyKwbnQtbvdbjz88MOYPHky4uPjkZ2djSVLlqC6urrHc4TjtZ/rRz/6EQRBwB//+Mce39fytTO4CYI333wTDzzwAB577DHs2bMHxcXFuOaaa1BfX6/20oJq/fr1WLp0KbZt24a1a9fC7Xbj6quvRnt7u3yfn/3sZ1i1ahXefvttrF+/HtXV1fjGN76h4qqDa+fOnfjrX/+KKVOm9Ph+uF53S0sL5syZg6ioKHz88cc4fPgwnn76aQwbNky+z29/+1v86U9/wl/+8hds374d8fHxuOaaa+BwOFRc+dA99dRTeOGFF/Dcc8/hyJEjeOqpp/Db3/4W//u//yvfJxyuvb29HcXFxXj++ed7vb0/13jrrbfi0KFDWLt2LVavXo0NGzbgBz/4QaguYdAudO0dHR3Ys2cPHnnkEezZswfvvvsujh07hhtuuKHH/cLx2rt77733sG3bNmRnZ593m6avXaQhmzlzprh06VL5z16vV8zOzhaXL1+u4qqUV19fLwIQ169fL4qiKLa2topRUVHi22+/Ld/nyJEjIgBx69atai0zaOx2uzh69Ghx7dq14hVXXCHed999oiiG93U//PDD4ty5c/u83efziZmZmeLvfvc7+Xutra2i2WwW//Wvf4ViiYq57rrrxLvvvrvH977xjW+It956qyiK4XntAMT33ntP/nN/rvHw4cMiAHHnzp3yfT7++GNREASxqqoqZGsfqnOvvTc7duwQAYhnzpwRRTH8r/3s2bNiTk6OePDgQXHEiBHiM888I9+m9Wvnzs0QuVwu7N69GwsWLJC/ZzAYsGDBAmzdulXFlSnParUCAFJSUgAAu3fvhtvt7vFejBs3Dvn5+WHxXixduhTXXXddj+sDwvu6P/jgA0yfPh033XQT0tPTUVJSgr///e/y7eXl5aitre1x7RaLBbNmzdL9tV922WX4/PPPcfz4cQDAvn37sGnTJixcuBBAeF+7pD/XuHXrViQnJ2P69OnyfRYsWACDwYDt27eHfM1KslqtEAQBycnJAML72n0+H26//XY89NBDmDhx4nm3a/3aI262VLA1NjbC6/UiIyOjx/czMjJw9OhRlValPJ/Ph/vvvx9z5szBpEmTAAC1tbWIjo6W/+FLMjIyUFtbq8Iqg+eNN97Anj17sHPnzvNuC+frPnXqFF544QU88MAD+K//+i/s3LkTP/3pTxEdHY077rhDvr7e/v7r/dp//vOfw2azYdy4cTAajfB6vfj1r3+NW2+9FQDC+tol/bnG2tpapKen97jdZDIhJSUlbN4HwJ9X9/DDD+OWW26RZyyF87U/9dRTMJlM+OlPf9rr7Vq/dgY3NChLly7FwYMHsWnTJrWXorjKykrcd999WLt2LWJiYtReTkj5fD5Mnz4dv/nNbwAAJSUlOHjwIP7yl7/gjjvuUHl1ynrrrbfw2muv4fXXX8fEiRNRWlqK+++/H9nZ2WF/7dST2+3Gt7/9bYiiiBdeeEHt5Shu9+7dePbZZ7Fnzx4IgqD2cgaFx1JDlJaWBqPReF5lTF1dHTIzM1ValbLuvfderF69Gl9++WWPCeuZmZlwuVxobW3tcX+9vxe7d+9GfX09LrnkEphMJphMJqxfvx5/+tOfYDKZkJGREZbXDQBZWVmYMGFCj++NHz8eFRUVACBfXzj+/X/ooYfw85//HN/5zncwefJk3H777fjZz36G5cuXAwjva5f05xozMzPPK57weDxobm4Oi/dBCmzOnDmDtWvX9piMHa7XvnHjRtTX1yM/P1/+mXfmzBk8+OCDKCgoAKD9a2dwM0TR0dGYNm0aPv/8c/l7Pp8Pn3/+OWbPnq3iyoJPFEXce++9eO+99/DFF1+gsLCwx+3Tpk1DVFRUj/fi2LFjqKio0PV7ceWVV+LAgQMoLS2Vv6ZPn45bb71V/u9wvG4AmDNnznnl/sePH8eIESMAAIWFhcjMzOxx7TabDdu3b9f9tXd0dMBg6Pkj0mg0wufzAQjva5f05xpnz56N1tZW7N69W77PF198AZ/Ph1mzZoV8zcEkBTYnTpzAZ599htTU1B63h+u133777di/f3+Pn3nZ2dl46KGH8MknnwDQwbWrndEcDt544w3RbDaLK1asEA8fPiz+4Ac/EJOTk8Xa2lq1lxZU/+///T/RYrGI69atE2tqauSvjo4O+T4/+tGPxPz8fPGLL74Qd+3aJc6ePVucPXu2iqtWRvdqKVEM3+vesWOHaDKZxF//+tfiiRMnxNdee02Mi4sT/+///k++z5NPPikmJyeL77//vrh//37xxhtvFAsLC8XOzk4VVz50d9xxh5iTkyOuXr1aLC8vF999910xLS1N/M///E/5PuFw7Xa7Xdy7d6+4d+9eEYD4hz/8Qdy7d69cEdSfa7z22mvFkpIScfv27eKmTZvE0aNHi7fccotal9RvF7p2l8sl3nDDDWJubq5YWlra42ee0+mUnyMcr70351ZLiaK2r53BTZD87//+r5ifny9GR0eLM2fOFLdt26b2koIOQK9fL7/8snyfzs5O8cc//rE4bNgwMS4uTvz6178u1tTUqLdohZwb3ITzda9atUqcNGmSaDabxXHjxol/+9vfetzu8/nERx55RMzIyBDNZrN45ZVXiseOHVNptcFjs9nE++67T8zPzxdjYmLEoqIi8Re/+EWPD7ZwuPYvv/yy13/Xd9xxhyiK/bvGpqYm8ZZbbhETEhLEpKQk8a677hLtdrsKVzMwF7r28vLyPn/mffnll/JzhOO196a34EbL186p4ERERBRWmHNDREREYYXBDREREYUVBjdEREQUVhjcEBERUVhhcENERERhhcENERERhRUGN0RERBRWGNwQERFRWGFwQ0QDMn/+fNx///2afo0VK1YgOTk5aOsZjMcffxxTp05VdQ1EkYrBDRHpWkFBAf74xz/2+N7NN9+M48ePq7MgIlKdSe0FEBEFW2xsLGJjY9VeBhGphDs3RDRoTqcT//Ef/4GcnBzEx8dj1qxZWLdunXx7U1MTbrnlFuTk5CAuLg6TJ0/Gv/71rx7P0d7ejiVLliAhIQFZWVl4+umn+/368+fPx5kzZ/Czn/0MgiBAEAQA5x9LSUdEL730EvLz85GQkIAf//jH8Hq9+O1vf4vMzEykp6fj17/+dY/nb21txfe+9z0MHz4cSUlJ+OpXv4p9+/YN6D169dVXUVBQAIvFgu985zuw2+0DejwRDRyDGyIatHvvvRdbt27FG2+8gf379+Omm27CtddeixMnTgAAHA4Hpk2bhg8//BAHDx7ED37wA9x+++3YsWOH/BwPPfQQ1q9fj/fffx+ffvop1q1bhz179vTr9d99913k5ubil7/8JWpqalBTU9PnfU+ePImPP/4Ya9aswb/+9S+8+OKLuO6663D27FmsX78eTz31FP77v/8b27dvlx9z0003ob6+Hh9//DF2796NSy65BFdeeSWam5v7tb6TJ09i5cqVWL16NVavXo3169fjySef7NdjiWgI1B5LTkT6csUVV4j33XefeObMGdFoNIpVVVU9br/yyivFZcuW9fn46667TnzwwQdFURRFu90uRkdHi2+99ZZ8e1NTkxgbGyved999/VrPiBEjxGeeeabH915++WXRYrHIf37sscfEuLg40Wazyd+75pprxIKCAtHr9crfGzt2rLh8+XJRFEVx48aNYlJSkuhwOHo898iRI8W//vWvF11Xb6/50EMPibNmzerXdRHR4DHnhogG5cCBA/B6vRgzZkyP7zudTqSmpgIAvF4vfvOb3+Ctt95CVVUVXC4XnE4n4uLiAPh3NlwuF2bNmiU/PiUlBWPHjg36egsKCpCYmCj/OSMjA0ajEQaDocf36uvrAQD79u1DW1ubfC2Szs5OnDx5clCvmZWVJT8/ESmHwQ0RDUpbWxuMRiN2794No9HY47aEhAQAwO9+9zs8++yz+OMf/4jJkycjPj4e999/P1wuV8jXGxUV1ePPgiD0+j2fzwfAf31ZWVk9cogk/S0zv9DzE5FyGNwQ0aCUlJTA6/Wivr4e8+bN6/U+mzdvxo033ojbbrsNAODz+XD8+HFMmDABADBy5EhERUVh+/btyM/PBwC0tLTg+PHjuOKKK/q1jujoaHi93iBcUU+XXHIJamtrYTKZUFBQEPTnJyLlMKGYiAZlzJgxuPXWW7FkyRK8++67KC8vx44dO7B8+XJ8+OGHAIDRo0dj7dq12LJlC44cOYIf/vCHqKurk58jISEB99xzDx566CF88cUXOHjwIO68884eR0UXU1BQgA0bNqCqqgqNjY1Bu74FCxZg9uzZWLx4MT799FOcPn0aW7ZswS9+8Qvs2rUraK9DRMHH4IaIBu3ll1/GkiVL8OCDD2Ls2LFYvHgxdu7cKe/C/Pd//zcuueQSXHPNNZg/fz4yMzOxePHiHs/xu9/9DvPmzcOiRYuwYMECzJ07F9OmTev3Gn75y1/i9OnTGDlyJIYPHx60axMEAR999BEuv/xy3HXXXRgzZgy+853v4MyZM8jIyAja6xBR8AmiKIpqL4KIiIgoWLhzQ0RERGGFwQ0RadbGjRuRkJDQ55eaJk6c2Oe6XnvtNVXXRhTpeCxFRJrV2dmJqqqqPm8fNWpUCFfT05kzZ+B2u3u9LSMjo0d/GyIKLQY3REREFFZ4LEVERERhhcENERERhRUGN0RERBRWGNwQERFRWGFwQ0RERGGFwQ0RERGFFQY3REREFFYY3BAREVFY+f+Je5XG1C1HsQAAAABJRU5ErkJggg==", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "rmse = np.sqrt(mse.mean([\"reference_time\", \"point_index\"]))\n", - "rmse[\"2t\"].assign_coords(\n", - " lead_time_h=rmse.lead_time.astype(\"timedelta64[h]\") / 3600\n", - ").plot(x=\"lead_time_h\")" + "# Now align in time\n", + "# align the observations with the forecasts (so we can average over the lead times)\n", + "ds_obs_aligned = ds_synop.mx.align_time_with(ds_fcst_aligned)\n", + "ds_obs_aligned.load()" ] }, { - "cell_type": "code", - "execution_count": 34, - "id": "dc73b2a5", + "cell_type": "markdown", + "id": "879eb5c1", "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "dimension reference_time on 0th function argument to apply_ufunc with dask='parallelized' consists of multiple chunks, but is also a core dimension. To fix, either rechunk into a single array chunk along this dimension, i.e., ``.chunk(dict(reference_time=-1))``, or pass ``allow_rechunk=True`` in ``dask_gufunc_kwargs`` but beware that this may significantly increase memory usage.", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[34]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 2\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mxskillscore\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mxs\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;28mvars\u001b[39m = [\u001b[33m\"\u001b[39m\u001b[33m2t\u001b[39m\u001b[33m\"\u001b[39m,\u001b[33m\"\u001b[39m\u001b[33m10si\u001b[39m\u001b[33m\"\u001b[39m,\u001b[33m\"\u001b[39m\u001b[33mmsl\u001b[39m\u001b[33m\"\u001b[39m,\u001b[33m\"\u001b[39m\u001b[33m2d\u001b[39m\u001b[33m\"\u001b[39m]\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m \u001b[43mxs\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrmse\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m=\u001b[49m\u001b[43mds_fcst_transformed\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mvars\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mb\u001b[49m\u001b[43m=\u001b[49m\u001b[43mds_obs_aligned\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mvars\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdim\u001b[49m\u001b[43m=\u001b[49m\u001b[43m[\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mreference_time\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mpoint_index\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/mxalign_dev/.venv/lib/python3.12/site-packages/xskillscore/core/deterministic.py:972\u001b[39m, in \u001b[36mrmse\u001b[39m\u001b[34m(a, b, dim, weights, skipna, keep_attrs)\u001b[39m\n\u001b[32m 969\u001b[39m weights = _preprocess_weights(a, dim, dim, weights)\n\u001b[32m 970\u001b[39m input_core_dims = _determine_input_core_dims(dim, weights)\n\u001b[32m--> \u001b[39m\u001b[32m972\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mxr\u001b[49m\u001b[43m.\u001b[49m\u001b[43mapply_ufunc\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 973\u001b[39m \u001b[43m \u001b[49m\u001b[43m_rmse\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 974\u001b[39m \u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 975\u001b[39m \u001b[43m \u001b[49m\u001b[43mb\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 976\u001b[39m \u001b[43m \u001b[49m\u001b[43mweights\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 977\u001b[39m \u001b[43m \u001b[49m\u001b[43minput_core_dims\u001b[49m\u001b[43m=\u001b[49m\u001b[43minput_core_dims\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 978\u001b[39m \u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m=\u001b[49m\u001b[43m{\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43maxis\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mskipna\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 979\u001b[39m \u001b[43m \u001b[49m\u001b[43mdask\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mparallelized\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 980\u001b[39m \u001b[43m \u001b[49m\u001b[43moutput_dtypes\u001b[49m\u001b[43m=\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mfloat\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 981\u001b[39m \u001b[43m \u001b[49m\u001b[43mkeep_attrs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkeep_attrs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 982\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/mxalign_dev/.venv/lib/python3.12/site-packages/xarray/computation/apply_ufunc.py:1256\u001b[39m, in \u001b[36mapply_ufunc\u001b[39m\u001b[34m(func, input_core_dims, output_core_dims, exclude_dims, vectorize, join, dataset_join, dataset_fill_value, keep_attrs, kwargs, dask, output_dtypes, output_sizes, meta, dask_gufunc_kwargs, on_missing_core_dim, *args)\u001b[39m\n\u001b[32m 1254\u001b[39m \u001b[38;5;66;03m# feed datasets apply_variable_ufunc through apply_dataset_vfunc\u001b[39;00m\n\u001b[32m 1255\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28many\u001b[39m(is_dict_like(a) \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m args):\n\u001b[32m-> \u001b[39m\u001b[32m1256\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mapply_dataset_vfunc\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1257\u001b[39m \u001b[43m \u001b[49m\u001b[43mvariables_vfunc\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1258\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1259\u001b[39m \u001b[43m \u001b[49m\u001b[43msignature\u001b[49m\u001b[43m=\u001b[49m\u001b[43msignature\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1260\u001b[39m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[43m=\u001b[49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1261\u001b[39m \u001b[43m \u001b[49m\u001b[43mexclude_dims\u001b[49m\u001b[43m=\u001b[49m\u001b[43mexclude_dims\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1262\u001b[39m \u001b[43m \u001b[49m\u001b[43mdataset_join\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdataset_join\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1263\u001b[39m \u001b[43m \u001b[49m\u001b[43mfill_value\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdataset_fill_value\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1264\u001b[39m \u001b[43m \u001b[49m\u001b[43mkeep_attrs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkeep_attrs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1265\u001b[39m \u001b[43m \u001b[49m\u001b[43mon_missing_core_dim\u001b[49m\u001b[43m=\u001b[49m\u001b[43mon_missing_core_dim\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1266\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1267\u001b[39m \u001b[38;5;66;03m# feed DataArray apply_variable_ufunc through apply_dataarray_vfunc\u001b[39;00m\n\u001b[32m 1268\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28many\u001b[39m(\u001b[38;5;28misinstance\u001b[39m(a, DataArray) \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m args):\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/mxalign_dev/.venv/lib/python3.12/site-packages/xarray/computation/apply_ufunc.py:527\u001b[39m, in \u001b[36mapply_dataset_vfunc\u001b[39m\u001b[34m(func, signature, join, dataset_join, fill_value, exclude_dims, keep_attrs, on_missing_core_dim, *args)\u001b[39m\n\u001b[32m 522\u001b[39m list_of_coords, list_of_indexes = build_output_coords_and_indexes(\n\u001b[32m 523\u001b[39m args, signature, exclude_dims, combine_attrs=keep_attrs\n\u001b[32m 524\u001b[39m )\n\u001b[32m 525\u001b[39m args = \u001b[38;5;28mtuple\u001b[39m(\u001b[38;5;28mgetattr\u001b[39m(arg, \u001b[33m\"\u001b[39m\u001b[33mdata_vars\u001b[39m\u001b[33m\"\u001b[39m, arg) \u001b[38;5;28;01mfor\u001b[39;00m arg \u001b[38;5;129;01min\u001b[39;00m args)\n\u001b[32m--> \u001b[39m\u001b[32m527\u001b[39m result_vars = \u001b[43mapply_dict_of_variables_vfunc\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 528\u001b[39m \u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 529\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 530\u001b[39m \u001b[43m \u001b[49m\u001b[43msignature\u001b[49m\u001b[43m=\u001b[49m\u001b[43msignature\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 531\u001b[39m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdataset_join\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 532\u001b[39m \u001b[43m \u001b[49m\u001b[43mfill_value\u001b[49m\u001b[43m=\u001b[49m\u001b[43mfill_value\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 533\u001b[39m \u001b[43m \u001b[49m\u001b[43mon_missing_core_dim\u001b[49m\u001b[43m=\u001b[49m\u001b[43mon_missing_core_dim\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 534\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 536\u001b[39m out: Dataset | \u001b[38;5;28mtuple\u001b[39m[Dataset, ...]\n\u001b[32m 537\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m signature.num_outputs > \u001b[32m1\u001b[39m:\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/mxalign_dev/.venv/lib/python3.12/site-packages/xarray/computation/apply_ufunc.py:452\u001b[39m, in \u001b[36mapply_dict_of_variables_vfunc\u001b[39m\u001b[34m(func, signature, join, fill_value, on_missing_core_dim, *args)\u001b[39m\n\u001b[32m 450\u001b[39m core_dim_present = _check_core_dims(signature, variable_args, name)\n\u001b[32m 451\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m core_dim_present \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m452\u001b[39m result_vars[name] = \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43mvariable_args\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 453\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m on_missing_core_dim == \u001b[33m\"\u001b[39m\u001b[33mraise\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m 454\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(core_dim_present)\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/mxalign_dev/.venv/lib/python3.12/site-packages/xarray/computation/apply_ufunc.py:767\u001b[39m, in \u001b[36mapply_variable_ufunc\u001b[39m\u001b[34m(func, signature, exclude_dims, dask, output_dtypes, vectorize, keep_attrs, dask_gufunc_kwargs, *args)\u001b[39m\n\u001b[32m 765\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m axis, dim \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(core_dims, start=-\u001b[38;5;28mlen\u001b[39m(core_dims)):\n\u001b[32m 766\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(data.chunks[axis]) != \u001b[32m1\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m767\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 768\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mdimension \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mdim\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m on \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mn\u001b[38;5;132;01m}\u001b[39;00m\u001b[33mth function argument to \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 769\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mapply_ufunc with dask=\u001b[39m\u001b[33m'\u001b[39m\u001b[33mparallelized\u001b[39m\u001b[33m'\u001b[39m\u001b[33m consists of \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 770\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mmultiple chunks, but is also a core dimension. To \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 771\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mfix, either rechunk into a single array chunk along \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 772\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mthis dimension, i.e., ``.chunk(dict(\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mdim\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m=-1))``, or \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 773\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mpass ``allow_rechunk=True`` in ``dask_gufunc_kwargs`` \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 774\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mbut beware that this may significantly increase memory usage.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 775\u001b[39m )\n\u001b[32m 776\u001b[39m dask_gufunc_kwargs[\u001b[33m\"\u001b[39m\u001b[33mallow_rechunk\u001b[39m\u001b[33m\"\u001b[39m] = \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[32m 778\u001b[39m output_sizes = dask_gufunc_kwargs.pop(\u001b[33m\"\u001b[39m\u001b[33moutput_sizes\u001b[39m\u001b[33m\"\u001b[39m, {})\n", - "\u001b[31mValueError\u001b[39m: dimension reference_time on 0th function argument to apply_ufunc with dask='parallelized' consists of multiple chunks, but is also a core dimension. To fix, either rechunk into a single array chunk along this dimension, i.e., ``.chunk(dict(reference_time=-1))``, or pass ``allow_rechunk=True`` in ``dask_gufunc_kwargs`` but beware that this may significantly increase memory usage." - ] - } - ], "source": [ - "# Or use some specialized packages\n", - "import xskillscore as xs\n", + "## Transformations\n", + "Often, the variables themselves need some transformations before different datasets can be compared. \n", + "When working interactively, this is easiest by interacting directly on the xr.Datasets.\n", "\n", - "vars = [\"2t\", \"10si\", \"msl\", \"2d\"]\n", - "xs.rmse(\n", - " a=ds_fcst_transformed[vars],\n", - " b=ds_obs_aligned[vars],\n", - " dim=[\"reference_time\", \"point_index\"],\n", - ")" + "But this can also be done using the `mxalign.transform` function." ] }, { "cell_type": "code", - "execution_count": 40, - "id": "46631623", + "execution_count": 26, + "id": "e4220a99", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "['rename', 'kelvin_to_celcius', 'uv_to_speed', 'external']" ] }, - "execution_count": 40, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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HNBuTygwmZiIiEhduttaePnll3Hq1Ck89thjai+lV0wmJiIiUpeumrCcOHECP//5z7Fx40aYTP1butPphNPplP9ss9mUWh6cHi8O1/iffyqDGyIiIlXoZufG6/Xiu9/9Lp544gmMGTOm349bvnw5LBaL/JWXl6fYGo/U2OH2ikiJj0busFjFXoeIiIj6ppvgxm63Y9euXbj33nthMplgMpnwy1/+Evv27YPJZMIXX3zR6+OWLVsGq9Uqf1VWViq2RinfZmpeMgRBUOx1iIiIqG+6OZZKSkrCgQMHenzvz3/+M7744gv8+9//RmFhYa+PM5vNMJvNoVgik4mJiIg0QNXgpq2tDWVlZfKfy8vLUVpaipSUFOTn52PZsmWoqqrCK6+8AoPBgEmTJvV4fHp6OmJiYs77vlq6konZvI+IiEgtqgY3u3btwle+8hX5zw888AAA4I477sCKFStQU1ODiooKtZY3INYON041tgPgzg0REZGaBFEURbUXEUo2mw0WiwVWqxVJSUlBe97Tje14+J39sDs8+Oi+eUF7XiIiIhrY57ducm60riAtHm/+cDYiLFYkIiLSHN1US+kFq6SIiIjUxeCGiIiIwgqDGyIiIgorDG6IiIgorDC4ISIiorDC4IaIiIjCCoMbIiIiCisMboiIiCisMLghIiKisMLghoiIiMIKgxsiIiIKKwxuiIiIKKwwuCEiIqKwwuCGiIiIwopJ7QWEmiiKAACbzabySoiIiKi/pM9t6XP8QiIuuLHb7QCAvLw8lVdCREREA2W322GxWC54H0HsTwgURnw+H6qrq5GYmAhBEIL63DabDXl5eaisrERSUlJQn1vrIvXaI/W6gci99ki9boDXHonXrqXrFkURdrsd2dnZMBgunFUTcTs3BoMBubm5ir5GUlKS6n8J1BKp1x6p1w1E7rVH6nUDvPZIvHatXPfFdmwkTCgmIiKisMLghoiIiMIKg5sgMpvNeOyxx2A2m9VeSshF6rVH6nUDkXvtkXrdAK89Eq9dr9cdcQnFREREFN64c0NERERhhcENERERhRUGN0RERBRWGNwEyfPPP4+CggLExMRg1qxZ2LFjh9pLCrrly5djxowZSExMRHp6OhYvXoxjx471uI/D4cDSpUuRmpqKhIQEfPOb30RdXZ1KK1bGk08+CUEQcP/998vfC+frrqqqwm233YbU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e02Mi4sT/+///k++z5NPPikmJyeL77//vrh//37xxhtvFAsLC8XOzk4VVz50d9xxh5iTkyOuXr1aLC8vF999910xLS1N/M///E/5PuFw7Xa7Xdy7d6+4d+9eEYD4hz/8Qdy7d69cEdSfa7z22mvFkpIScfv27eKmTZvE0aNHi7fccotal9RvF7p2l8sl3nDDDWJubq5YWlra42ee0+mUnyMcr70351ZLiaK2r53BTZD87//+r5ifny9GR0eLM2fOFLdt26b2koIOQK9fL7/8snyfzs5O8cc//rE4bNgwMS4uTvz6178u1tTUqLdohZwb3ITzda9atUqcNGmSaDabxXHjxol/+9vfetzu8/nERx55RMzIyBDNZrN45ZVXiseOHVNptcFjs9nE++67T8zPzxdjYmLEoqIi8Re/+EWPD7ZwuPYvv/yy13/Xd9xxhyiK/bvGpqYm8ZZbbhETEhLEpKQk8a677hLtdrsKVzMwF7r28vLyPn/mffnll/JzhOO196a34EbL186p4ERERBRWmHNDREREYYXBDREREYUVBjdEREQUVhjcEBERUVhhcENERERhhcENERERhRUGN0RERBRWGNwQERFRWGFwQ0QDMn/+fNx///2afo0VK1YgOTk5aOsZjMcffxxTp05VdQ1EkYrBDRHpWkFBAf74xz/2+N7NN9+M48ePq7MgIlKdSe0FEBEFW2xsLGJjY9VeBhGphDs3RDRoTqcT//Ef/4GcnBzEx8dj1qxZWLdunXx7U1MTbrnlFuTk5CAuLg6TJ0/Gv/71rx7P0d7ejiVLliAhIQFZWVl4+umn+/368+fPx5kzZ/Czn/0MgiBAEAQA5x9LSUdEL730EvLz85GQkIAf//jH8Hq9+O1vf4vMzEykp6fj17/+dY/nb21txfe+9z0MHz4cSUlJ+OpXv4p9+/YN6D169dVXUVBQAIvFgu985zuw2+0DejwRDRyDGyIatHvvvRdbt27FG2+8gf379+Omm27CtddeixMnTgAAHA4Hpk2bhg8//BAHDx7ED37wA9x+++3YsWOH/BwPPfQQ1q9fj/fffx+ffvop1q1bhz179vTr9d99913k5ubil7/8JWpqalBTU9PnfU+ePImPP/4Ya9aswb/+9S+8+OKLuO6663D27FmsX78eTz31FP77v/8b27dvlx9z0003ob6+Hh9//DF2796NSy65BFdeeSWam5v7tb6TJ09i5cqVWL16NVavXo3169fjySef7NdjiWgI1B5LTkT6csUVV4j33XefeObMGdFoNIpVVVU9br/yyivFZcuW9fn46667TnzwwQdFURRFu90uRkdHi2+99ZZ8e1NTkxgbGyved999/VrPiBEjxGeeeabH915++WXRYrHIf37sscfEuLg40Wazyd+75pprxIKCAtHr9crfGzt2rLh8+XJRFEVx48aNYlJSkuhwOHo898iRI8W//vWvF11Xb6/50EMPibNmzerXdRHR4DHnhogG5cCBA/B6vRgzZkyP7zudTqSmpgIAvF4vfvOb3+Ctt95CVVUVXC4XnE4n4uLiAPh3NlwuF2bNmiU/PiUlBWPHjg36egsKCpCYmCj/OSMjA0ajEQaDocf36uvrAQD79u1DW1ubfC2Szs5OnDx5clCvmZWVJT8/ESmHwQ0RDUpbWxuMRiN2794No9HY47aEhAQAwO9+9zs8++yz+OMf/4jJkycjPj4e999/P1wuV8jXGxUV1ePPgiD0+j2fzwfAf31ZWVk9cogk/S0zv9DzE5FyGNwQ0aCUlJTA6/Wivr4e8+bN6/U+mzdvxo033ojbbrsNAODz+XD8+HFMmDABADBy5EhERUVh+/btyM/PBwC0tLTg+PHjuOKKK/q1jujoaHi93iBcUU+XXHIJamtrYTKZUFBQEPTnJyLlMKGYiAZlzJgxuPXWW7FkyRK8++67KC8vx44dO7B8+XJ8+OGHAIDRo0dj7dq12LJlC44cOYIf/vCHqKurk58jISEB99xzDx566CF88cUXOHjwIO68884eR0UXU1BQgA0bNqCqqgqNjY1Bu74FCxZg9uzZWLx4MT799FOcPn0aW7ZswS9+8Qvs2rUraK9DRMHH4IaIBu3ll1/GkiVL8OCDD2Ls2LFYvHgxdu7cKe/C/Pd//zcuueQSXHPNNZg/fz4yMzOxePHiHs/xu9/9DvPmzcOiRYuwYMECzJ07F9OmTev3Gn75y1/i9OnTGDlyJIYPHx60axMEAR999BEuv/xy3HXXXRgzZgy+853v4MyZM8jIyAja6xBR8AmiKIpqL4KIiIgoWLhzQ0RERGGFwQ0RadbGjRuRkJDQ55eaJk6c2Oe6XnvtNVXXRhTpeCxFRJrV2dmJqqqqPm8fNWpUCFfT05kzZ+B2u3u9LSMjo0d/GyIKLQY3REREFFZ4LEVERERhhcENERERhRUGN0RERBRWGNwQERFRWGFwQ0RERGGFwQ0RERGFFQY3REREFFYY3BAREVFY+f+Je5XG1C1HsQAAAABJRU5ErkJggg==", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "# xskillscore cannot handle chunked dimensions over which it should average\n", - "new_chunks = {\n", - " \"reference_time\": -1,\n", - " \"point_index\": -1,\n", - "}\n", - "\n", - "rmse2 = xs.rmse(\n", - " a=ds_fcst_transformed[vars].chunk(new_chunks),\n", - " b=ds_obs_aligned[vars].chunk(new_chunks),\n", - " dim=[\"reference_time\", \"point_index\"],\n", - " skipna=True,\n", - ")\n", - "rmse2[\"2t\"].assign_coords(\n", - " lead_time_h=rmse2.lead_time.astype(\"timedelta64[h]\") / 3600\n", - ").plot(x=\"lead_time_h\")" - ] - }, - { - "cell_type": "markdown", - "id": "65efc802", - "metadata": {}, - "source": [ - "## NaN broadcasting (WIP)" + "mx.available_transformations()" ] }, { "cell_type": "code", - "execution_count": 82, - "id": "9ef02d3e", + "execution_count": 27, + "id": "a0a2dac0", "metadata": {}, "outputs": [ { @@ -85173,89 +13504,158 @@ " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", " stroke-width: 0.8px;\n", "}\n", - "
    <xarray.Dataset> Size: 664B\n",
    -       "Dimensions:         (reference_time: 1, lead_time: 5, point_index: 11)\n",
    +       "
    <xarray.Dataset> Size: 2MB\n",
    +       "Dimensions:         (reference_time: 2, lead_time: 25, point_index: 1879)\n",
            "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[s] 8B 2026-03-11\n",
    -       "  * lead_time       (lead_time) timedelta64[s] 40B 00:00:00 ... 1 days 00:00:00\n",
    -       "    latitude        (point_index) float64 88B 10.0 11.0 12.0 ... 18.0 19.0 20.0\n",
    -       "    longitude       (point_index) float64 88B -5.0 -4.0 -3.0 ... 3.0 4.0 5.0\n",
    +       "  * reference_time  (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n",
    +       "  * lead_time       (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n",
    +       "  * code            (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n",
    +       "    wigos_id        (point_index) <U15 113kB '0-20000-0-13611' ... '0-20000-0...\n",
    +       "    wmo_code        (point_index) float64 15kB 1.361e+04 1.362e+04 ... 1.62e+04\n",
    +       "    station_name    (point_index) <U40 301kB 'DURRES' ... 'RADICOFANI'\n",
    +       "    country_code    (point_index) <U2 15kB 'AL' 'AL' 'AL' ... 'GB' 'GB' 'IT'\n",
    +       "    latitude        (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n",
    +       "    longitude       (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n",
    +       "    altitude        (point_index) float64 15kB 15.0 193.0 889.0 ... 10.0 816.0\n",
    +       "    city_name       (point_index) <U40 301kB 'DURRES' ... 'RADICOFANI'\n",
            "Dimensions without coordinates: point_index\n",
            "Data variables:\n",
    -       "    2t              (reference_time, lead_time, point_index) float64 440B 0.4...\n",
    +       "    10u             (reference_time, lead_time, point_index) float64 752kB -1...\n",
    +       "    2t              (reference_time, lead_time, point_index) float64 752kB 11...\n",
            "Attributes:\n",
    -       "    properties:  {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter...
    " + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: point\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la...
    " ], "text/plain": [ - " Size: 664B\n", - "Dimensions: (reference_time: 1, lead_time: 5, point_index: 11)\n", + " Size: 2MB\n", + "Dimensions: (reference_time: 2, lead_time: 25, point_index: 1879)\n", "Coordinates:\n", - " * reference_time (reference_time) datetime64[s] 8B 2026-03-11\n", - " * lead_time (lead_time) timedelta64[s] 40B 00:00:00 ... 1 days 00:00:00\n", - " latitude (point_index) float64 88B 10.0 11.0 12.0 ... 18.0 19.0 20.0\n", - " longitude (point_index) float64 88B -5.0 -4.0 -3.0 ... 3.0 4.0 5.0\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " * code (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n", + " wigos_id (point_index)
    <xarray.DataArray '2t' (reference_time: 1, lead_time: 9, point_index: 11)> Size: 792B\n",
    -       "array([[[0.36009718, 0.61481844, 0.07451639, 0.68209557, 0.00764717,\n",
    -       "         0.68699033, 0.8157584 , 0.41262241, 0.71209524, 0.27391146,\n",
    -       "         0.47358815],\n",
    -       "        [0.33847277, 0.91027469, 0.54652365, 0.1239559 , 0.55766931,\n",
    -       "         0.12322165, 0.29286627, 0.2836601 , 0.61227258, 0.21382436,\n",
    -       "         0.54545907],\n",
    -       "        [0.49240564, 0.9643462 , 0.77102191, 0.58625407, 0.22910377,\n",
    -       "         0.25509983, 0.04011024, 0.11756888, 0.13329478, 0.71083446,\n",
    -       "         0.74495861],\n",
    -       "        [0.68631757, 0.77742683, 0.57081896, 0.45122382, 0.90587131,\n",
    -       "         0.46529941, 0.41973246, 0.24311589, 0.99487292, 0.83585969,\n",
    -       "         0.96677381],\n",
    -       "        [0.66777803, 0.80961184, 0.75366375, 0.44580025, 0.3498393 ,\n",
    -       "         0.90852314, 0.33079615, 0.6264394 , 0.71362775, 0.93237199,\n",
    -       "         0.30746479],\n",
    -       "        [0.07381012, 0.81266341, 0.2608707 , 0.39154352, 0.23556133,\n",
    -       "         0.42929489, 0.25459131, 0.2257462 , 0.62767369, 0.50077758,\n",
    -       "         0.24274581],\n",
    -       "        [0.96703569, 0.20360401, 0.61972757, 0.10063529, 0.8038005 ,\n",
    -       "         0.00693506, 0.42461886, 0.57613561, 0.54059625, 0.11472533,\n",
    -       "         0.83982231],\n",
    -       "        [0.99861878, 0.37482103, 0.2917735 , 0.02409738, 0.10514202,\n",
    -       "         0.91632701, 0.57798214, 0.04898568, 0.4194744 , 0.0876103 ,\n",
    -       "         0.75311078],\n",
    -       "        [0.26306444, 0.08110742, 0.99355761, 0.95617763, 0.93662043,\n",
    -       "         0.80722049, 0.50132633, 0.11496122, 0.900554  , 0.02533425,\n",
    -       "         0.89919583]]])\n",
    +       "
    <xarray.Dataset> Size: 2MB\n",
    +       "Dimensions:         (point_index: 1879, reference_time: 2, lead_time: 25)\n",
            "Coordinates:\n",
    -       "  * reference_time  (reference_time) datetime64[s] 8B 2026-03-11\n",
    -       "  * lead_time       (lead_time) timedelta64[s] 72B 00:00:00 ... 1 days 00:00:00\n",
    -       "    latitude        (point_index) float64 88B 10.0 11.0 12.0 ... 18.0 19.0 20.0\n",
    -       "    longitude       (point_index) float64 88B -5.0 -4.0 -3.0 ... 3.0 4.0 5.0\n",
    -       "Dimensions without coordinates: point_index
    " + " * code (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n", + " wigos_id (point_index) <U15 113kB '0-20000-0-13611' ... '0-20000-0...\n", + " wmo_code (point_index) float64 15kB 1.361e+04 1.362e+04 ... 1.62e+04\n", + " station_name (point_index) <U40 301kB 'DURRES' ... 'RADICOFANI'\n", + " country_code (point_index) <U2 15kB 'AL' 'AL' 'AL' ... 'GB' 'GB' 'IT'\n", + " latitude (point_index) float64 15kB 41.3 40.08 40.6 ... 57.33 42.9\n", + " longitude (point_index) float64 15kB 19.45 20.15 ... -7.367 11.77\n", + " altitude (point_index) float64 15kB 15.0 193.0 889.0 ... 10.0 816.0\n", + " city_name (point_index) <U40 301kB 'DURRES' ... 'RADICOFANI'\n", + " * reference_time (reference_time) datetime64[ns] 16B 2020-02-01 2020-02-02\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 da...\n", + " valid_time (reference_time, lead_time) datetime64[ns] 400B 2020-02-0...\n", + "Dimensions without coordinates: point_index\n", + "Data variables:\n", + " 2t (point_index, reference_time, lead_time) float64 752kB 1....\n", + "Attributes:\n", + " mlwp_time_trait: forecast\n", + " mlwp_space_trait: point\n", + " mlwp_uncertainty_trait: deterministic\n", + " crs: +proj=lcc +ellps=WGS84 +a=6371229.0 +b=6371229.0...\n", + " grid_mapping: {'nx': 1069, 'ny': 1069, 'lon_ll': -17.4859, 'la...
    " ], "text/plain": [ - " Size: 792B\n", - "array([[[0.36009718, 0.61481844, 0.07451639, 0.68209557, 0.00764717,\n", - " 0.68699033, 0.8157584 , 0.41262241, 0.71209524, 0.27391146,\n", - " 0.47358815],\n", - " [0.33847277, 0.91027469, 0.54652365, 0.1239559 , 0.55766931,\n", - " 0.12322165, 0.29286627, 0.2836601 , 0.61227258, 0.21382436,\n", - " 0.54545907],\n", - " [0.49240564, 0.9643462 , 0.77102191, 0.58625407, 0.22910377,\n", - " 0.25509983, 0.04011024, 0.11756888, 0.13329478, 0.71083446,\n", - " 0.74495861],\n", - " [0.68631757, 0.77742683, 0.57081896, 0.45122382, 0.90587131,\n", - " 0.46529941, 0.41973246, 0.24311589, 0.99487292, 0.83585969,\n", - " 0.96677381],\n", - " [0.66777803, 0.80961184, 0.75366375, 0.44580025, 0.3498393 ,\n", - " 0.90852314, 0.33079615, 0.6264394 , 0.71362775, 0.93237199,\n", - " 0.30746479],\n", - " [0.07381012, 0.81266341, 0.2608707 , 0.39154352, 0.23556133,\n", - " 0.42929489, 0.25459131, 0.2257462 , 0.62767369, 0.50077758,\n", - " 0.24274581],\n", - " [0.96703569, 0.20360401, 0.61972757, 0.10063529, 0.8038005 ,\n", - " 0.00693506, 0.42461886, 0.57613561, 0.54059625, 0.11472533,\n", - " 0.83982231],\n", - " [0.99861878, 0.37482103, 0.2917735 , 0.02409738, 0.10514202,\n", - " 0.91632701, 0.57798214, 0.04898568, 0.4194744 , 0.0876103 ,\n", - " 0.75311078],\n", - " [0.26306444, 0.08110742, 0.99355761, 0.95617763, 0.93662043,\n", - " 0.80722049, 0.50132633, 0.11496122, 0.900554 , 0.02533425,\n", - " 0.89919583]]])\n", + " Size: 2MB\n", + "Dimensions: (point_index: 1879, reference_time: 2, lead_time: 25)\n", "Coordinates:\n", - " * reference_time (reference_time) datetime64[s] 8B 2026-03-11\n", - " * lead_time (lead_time) timedelta64[s] 72B 00:00:00 ... 1 days 00:00:00\n", - " latitude (point_index) float64 88B 10.0 11.0 12.0 ... 18.0 19.0 20.0\n", - " longitude (point_index) float64 88B -5.0 -4.0 -3.0 ... 3.0 4.0 5.0\n", - "Dimensions without coordinates: point_index" + " * code (point_index) int64 15kB 215734 215735 ... 1020486 1595975\n", + " wigos_id (point_index) ]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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xowZYvny5a7PbTabSExMFKtWrVIwKs+rqakRAMT27duFEEI0NjYKvV4v3n33XddjTpw4IQCI3NxcpcJ0m+bmZpGVlSU2bdok5s2bJx555BEhhH9f9+OPPy6uuOKKi95vt9tFfHy8+P3vf++6rbGxURgMBvHvf//bGyF6zA033CDuueeeHrd985vfFEuWLBFC+Oe1AxDr1q1zfd6fazx+/LgAIPbt2+d6zMcffywkSRLl5eVei32ozr/23uzdu1cAEMXFxUII/7/2srIykZSUJI4ePSrS0tLEH//4R9d9ar92rtwMUWdnJ/bv348FCxa4btNoNFiwYAFyc3MVjMzzmpqaAABRUVEAgP3798NisfT4WmRnZyM1NdUvvhbLly/HDTfc0OP6AP++7g8//BDTpk3DLbfcgtjYWEyePBl/+9vfXPcXFhaiqqqqx7WHh4dj5syZPn/tl19+OTZv3oxTp04BAA4dOoSdO3di0aJFAPz72mX9ucbc3FxERERg2rRprscsWLAAGo0Ge/bs8XrMntTU1ARJkhAREQHAv6/dbrfjzjvvxGOPPYbx48dfcL/ar33YzZZyt7q6OthsNsTFxfW4PS4uDidPnlQoKs+z2+1YsWIF5syZg5ycHABAVVUVAgICXP/xZXFxcaiqqlIgSvd5++23ceDAAezbt++C+/z5ugsKCvDaa6/h0Ucfxc9//nPs27cPDz/8MAICArB06VLX9fX279/Xr/1nP/sZTCYTsrOzodVqYbPZ8Nvf/hZLliwBAL++dll/rrGqqgqxsbE97tfpdIiKivKbrwPgqKt7/PHHcdttt7lmLPnztT/77LPQ6XR4+OGHe71f7dfO5IYGZfny5Th69Ch27typdCgeV1paikceeQSbNm2C0WhUOhyvstvtmDZtGn73u98BACZPnoyjR4/iz3/+M5YuXapwdJ71n//8B2vXrsVbb72F8ePH4+DBg1ixYgUSExP9/tqpJ4vFgu985zsQQuC1115TOhyP279/P1588UUcOHAAkiQpHc6gcFtqiGJiYqDVai84GVNdXY34+HiFovKsBx98EBs2bMDWrVt7TFiPj49HZ2cnGhsbezze178W+/fvR01NDaZMmQKdTgedToft27fjpZdegk6nQ1xcnF9eNwAkJCRg3LhxPW4bO3YsSkpKAMB1ff747/+xxx7Dz372M9x6662Y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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Calculate RMSE by averaging over all dimension except lead time\n", + "rmse = np.sqrt(\n", + " mse.mean(\n", + " [\"reference_time\", \"point_index\"],\n", + " skipna=True\n", + " )\n", ")\n", "\n", - "fcst_2[\"2t\"]" + "# Plot\n", + "rmse[\"2t\"].assign_coords(\n", + " lead_time_h=rmse.lead_time.astype(\"timedelta64[h]\") / 3600\n", + ").plot(x=\"lead_time_h\")" ] }, { "cell_type": "code", - "execution_count": 101, - "id": "d9412da2", + "execution_count": 30, + "id": "dc73b2a5", "metadata": {}, "outputs": [ { @@ -86503,89 +14929,113 @@ " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", " stroke-width: 0.8px;\n", "}\n", - "
    <xarray.Dataset> Size: 1kB\n",
    -       "Dimensions:         (lead_time: 9, reference_time: 1, point_index: 11)\n",
    +       "
    <xarray.Dataset> Size: 400B\n",
    +       "Dimensions:    (lead_time: 25)\n",
            "Coordinates:\n",
    -       "  * lead_time       (lead_time) timedelta64[s] 72B 00:00:00 ... 1 days 00:00:00\n",
    -       "    valid_time      (reference_time, lead_time) datetime64[s] 72B 2026-03-11 ...\n",
    -       "  * reference_time  (reference_time) datetime64[s] 8B 2026-03-11\n",
    -       "    latitude        (point_index) float64 88B 10.0 11.0 12.0 ... 18.0 19.0 20.0\n",
    -       "    longitude       (point_index) float64 88B -5.0 -4.0 -3.0 ... 3.0 4.0 5.0\n",
    -       "Dimensions without coordinates: point_index\n",
    +       "  * lead_time  (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 days 00...\n",
            "Data variables:\n",
    -       "    2t              (reference_time, lead_time, point_index) float64 792B 0.4...\n",
    -       "Attributes:\n",
    -       "    properties:  {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter...
    " + " 2t (lead_time) float64 200B 1.259 1.429 1.624 ... 1.662 1.538 1.799
    " ], "text/plain": [ - " Size: 1kB\n", - "Dimensions: (lead_time: 9, reference_time: 1, point_index: 11)\n", + " Size: 400B\n", + "Dimensions: (lead_time: 25)\n", "Coordinates:\n", - " * lead_time (lead_time) timedelta64[s] 72B 00:00:00 ... 1 days 00:00:00\n", - " valid_time (reference_time, lead_time) datetime64[s] 72B 2026-03-11 ...\n", - " * reference_time (reference_time) datetime64[s] 8B 2026-03-11\n", - " latitude (point_index) float64 88B 10.0 11.0 12.0 ... 18.0 19.0 20.0\n", - " longitude (point_index) float64 88B -5.0 -4.0 -3.0 ... 3.0 4.0 5.0\n", - "Dimensions without coordinates: point_index\n", + " * lead_time (lead_time) timedelta64[ns] 200B 0 days 00:00:00 ... 6 days 00...\n", "Data variables:\n", - " 2t (reference_time, lead_time, point_index) float64 792B 0.4...\n", - "Attributes:\n", - " properties: {'space': 'point', 'time': 'forecast', 'uncertainty': 'deter..." + " 2t (lead_time) float64 200B 1.259 1.429 1.624 ... 1.662 1.538 1.799" ] }, - "execution_count": 101, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "fcst_1_aligned, fcst_2_aligned = fcst_1.time.align_with(fcst_2)\n", - "fcst_1_aligned" + "# Or use some specialized packages\n", + "import xskillscore as xs\n", + "\n", + "vars = [\"2t\"] #, \"10si\", \"msl\", \"2d\"]\n", + "rmse_2 = xs.rmse(\n", + " a=ds_fcst_transformed[vars].chunk({\"reference_time\":-1}),\n", + " b=ds_obs_aligned[vars],\n", + " dim=[\"reference_time\", \"point_index\"],\n", + " skipna=True\n", + ")\n", + "rmse_2.compute()" ] }, { "cell_type": "code", - "execution_count": 93, + "execution_count": null, "id": "282019b0", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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OnQof/zxB2lpafqnT58+XH/99fp+MF43wKBBg8qU+2/dupVWrVoB0Lp1a5o0aeJ07dnZ2Sxfvjzgrz0vL4+QEOe3yNDQUOx2OxDc1+6gMtc4YMAAMjMzWb16tX7Or7/+it1up3///l632Z04hM22bdv45ZdfqF+/vtPjwXrtf//731m/fr3Te15SUhKTJk3ip59+AgLg2n2d0RwMfPbZZ0ZkZKQxY8YMY9OmTcZtt91m1KlTxzh48KCvTXMrY8eONRITE40FCxYYGRkZ+icvL08/54477jBatmxp/Prrr8aqVauMAQMGGAMGDPCh1Z6hdLWUYQTvda9YscIICwsznnrqKWPbtm3Gxx9/bMTExBgfffSRfs4zzzxj1KlTx/j222+N9evXG5dddpnRunVrIz8/34eW15zRo0cbzZo1M2bNmmXs2rXL+Prrr40GDRoY//d//6efEwzXnpOTY6xdu9ZYu3atARgvvfSSsXbtWl0RVJlrHDFihNGzZ09j+fLlxuLFi4327dsb1157ra8uqdJUdO2FhYXGpZdeajRv3txIS0tzes8rKCjQrxGM114ertVShuHf1y7ixk289tprRsuWLY2IiAijX79+xrJly3xtktsByv2ZPn26fk5+fr5x5513GnXr1jViYmKMK664wsjIyPCd0R7CVdwE83V///33RteuXY3IyEgjJSXFePvtt50et9vtxpQpU4zGjRsbkZGRxtChQ40tW7b4yFr3kZ2dbUycONFo2bKlERUVZbRp08b45z//6fTBFgzXPn/+/HL/rkePHm0YRuWu8dixY8a1115rxMXFGQkJCcZNN91k5OTk+OBqqkZF175r167TvufNnz9fv0YwXnt5lCdu/PnaZSq4IAiCIAhBheTcCIIgCIIQVIi4EQRBEAQhqBBxIwiCIAhCUCHiRhAEQRCEoELEjSAIgiAIQYWIG0EQBEEQggoRN4IgCIIgBBUibgRBEARBCCpE3AiCn2EYBrfddhv16tXDZrORlpbma5OCggULFmCz2coMOK0qycnJvPzyy6d9fMyYMdhsNmw2G9988w0A6enpfvt/6bDNZrPRo0cPX5sjCG5BxI0g+Blz5sxhxowZzJo1i4yMDLp27eprk6rNmYSANxk4cCAZGRkkJiZ6/FwjRowgIyODkSNHevxcNaVFixZkZGRw3333+doUQXAbYb42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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "ename": "", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n", + "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n", + "\u001b[1;31mClick here for more info. \n", + "\u001b[1;31mView Jupyter log for further details." + ] + } + ], + "source": [ + "# Plot both scores\n", + "rmse[\"2t\"].assign_coords(\n", + " lead_time_h=rmse.lead_time.astype(\"timedelta64[h]\") / 3600\n", + ").plot(\n", + " x=\"lead_time_h\", \n", + " c=\"black\",\n", + " lw=5\n", + ")\n", + "\n", + "ax = plt.gca()\n", + "rmse_2[\"2t\"].assign_coords(\n", + " lead_time_h=rmse.lead_time.astype(\"timedelta64[h]\") / 3600\n", + ").plot(\n", + " x=\"lead_time_h\",\n", + " ax=ax,\n", + " c=\"green\"\n", + ")\n" + ] } ], "metadata": { "kernelspec": { - "display_name": "mxalign (3.12.12)", + "display_name": "mxalign (3.12.11)", "language": "python", "name": "python3" }, @@ -86599,7 +15049,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.12" + "version": "3.12.11" } }, "nbformat": 4, From 7c035d4f3085cd7fbc843b90706a9e0934bb6327 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:40:49 +0000 Subject: [PATCH 24/32] update pyproject --- pyproject.toml | 3 + uv.lock | 727 +++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 701 insertions(+), 29 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3c2518d..9eff1a9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,3 +49,6 @@ dev = [ "ipykernel>=7.2.0", "pytest>=8.0", ] + +[tool.uv.sources] +mlwp-data-loaders = { git = "https://github.com/mlwp-tools/mlwp-data-loaders", branch = "main" } diff --git a/uv.lock b/uv.lock index 7e23d67..94a32f5 100644 --- a/uv.lock +++ b/uv.lock @@ -12,6 +12,140 @@ resolution-markers = [ "python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] +[[package]] +name = "aiobotocore" +version = "3.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp" }, + { name = "aioitertools" }, + { name = "botocore" }, + { name = "jmespath" }, + { name = "multidict" }, + { name = "python-dateutil" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/75/42cce839c2ec263ff74b10b650fe36b066fbb124cbee6f247eac0983e1ab/aiobotocore-3.7.0.tar.gz", hash = "sha256:c64d871ed5491a6571948dd48eabd185b46c6c23b64e3afd0c059fc7593ada30", size = 127054, upload-time = "2026-05-09T10:02:52.332Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/5f/85535dfb3cfd6442d66d1df1694062c5d6df02f895329e7e120b2a3d2b8b/aiobotocore-3.7.0-py3-none-any.whl", hash = "sha256:680bde7c64679a821a9312641b759d9497f790ba8b2e88c6959e6273ee765b8e", size = 89539, upload-time = "2026-05-09T10:02:50.389Z" }, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.13.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1", size = 7858271, upload-time = "2026-03-31T22:01:03.343Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/6f/353954c29e7dcce7cf00280a02c75f30e133c00793c7a2ed3776d7b2f426/aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9", size = 748876, upload-time = "2026-03-31T21:57:36.319Z" }, + { url = "https://files.pythonhosted.org/packages/f5/1b/428a7c64687b3b2e9cd293186695affc0e1e54a445d0361743b231f11066/aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416", size = 499557, upload-time = "2026-03-31T21:57:38.236Z" }, + { url = "https://files.pythonhosted.org/packages/29/47/7be41556bfbb6917069d6a6634bb7dd5e163ba445b783a90d40f5ac7e3a7/aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2", size = 500258, upload-time = "2026-03-31T21:57:39.923Z" }, + { url = "https://files.pythonhosted.org/packages/67/84/c9ecc5828cb0b3695856c07c0a6817a99d51e2473400f705275a2b3d9239/aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4", size = 1749199, upload-time = "2026-03-31T21:57:41.938Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d3/3c6d610e66b495657622edb6ae7c7fd31b2e9086b4ec50b47897ad6042a9/aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9", size = 1721013, upload-time = "2026-03-31T21:57:43.904Z" }, + { url = "https://files.pythonhosted.org/packages/49/a0/24409c12217456df0bae7babe3b014e460b0b38a8e60753d6cb339f6556d/aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5", size = 1781501, upload-time = "2026-03-31T21:57:46.285Z" }, + { url = "https://files.pythonhosted.org/packages/98/9d/b65ec649adc5bccc008b0957a9a9c691070aeac4e41cea18559fef49958b/aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e", size = 1878981, upload-time = "2026-03-31T21:57:48.734Z" }, + { url = "https://files.pythonhosted.org/packages/57/d8/8d44036d7eb7b6a8ec4c5494ea0c8c8b94fbc0ed3991c1a7adf230df03bf/aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1", size = 1767934, upload-time = "2026-03-31T21:57:51.171Z" }, + { url = "https://files.pythonhosted.org/packages/31/04/d3f8211f273356f158e3464e9e45484d3fb8c4ce5eb2f6fe9405c3273983/aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286", size = 1566671, upload-time = "2026-03-31T21:57:53.326Z" }, + { url = "https://files.pythonhosted.org/packages/41/db/073e4ebe00b78e2dfcacff734291651729a62953b48933d765dc513bf798/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9", size = 1705219, upload-time = "2026-03-31T21:57:55.385Z" }, + { url = "https://files.pythonhosted.org/packages/48/45/7dfba71a2f9fd97b15c95c06819de7eb38113d2cdb6319669195a7d64270/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88", size = 1743049, upload-time = "2026-03-31T21:57:57.341Z" }, + { url = "https://files.pythonhosted.org/packages/18/71/901db0061e0f717d226386a7f471bb59b19566f2cae5f0d93874b017271f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3", size = 1749557, upload-time = "2026-03-31T21:57:59.626Z" }, + { url = "https://files.pythonhosted.org/packages/08/d5/41eebd16066e59cd43728fe74bce953d7402f2b4ddfdfef2c0e9f17ca274/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b", size = 1558931, upload-time = "2026-03-31T21:58:01.972Z" }, + { url = "https://files.pythonhosted.org/packages/30/e6/4a799798bf05740e66c3a1161079bda7a3dd8e22ca392481d7a7f9af82a6/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe", size = 1774125, upload-time = "2026-03-31T21:58:04.007Z" }, + { url = "https://files.pythonhosted.org/packages/84/63/7749337c90f92bc2cb18f9560d67aa6258c7060d1397d21529b8004fcf6f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14", size = 1732427, upload-time = "2026-03-31T21:58:06.337Z" }, + { url = "https://files.pythonhosted.org/packages/98/de/cf2f44ff98d307e72fb97d5f5bbae3bfcb442f0ea9790c0bf5c5c2331404/aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3", size = 433534, upload-time = "2026-03-31T21:58:08.712Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ca/eadf6f9c8fa5e31d40993e3db153fb5ed0b11008ad5d9de98a95045bed84/aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1", size = 460446, upload-time = "2026-03-31T21:58:10.945Z" }, + { url = "https://files.pythonhosted.org/packages/78/e9/d76bf503005709e390122d34e15256b88f7008e246c4bdbe915cd4f1adce/aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61", size = 742930, upload-time = "2026-03-31T21:58:13.155Z" }, + { url = "https://files.pythonhosted.org/packages/57/00/4b7b70223deaebd9bb85984d01a764b0d7bd6526fcdc73cca83bcbe7243e/aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832", size = 496927, upload-time = "2026-03-31T21:58:15.073Z" }, + { url = "https://files.pythonhosted.org/packages/9c/f5/0fb20fb49f8efdcdce6cd8127604ad2c503e754a8f139f5e02b01626523f/aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9", size = 497141, upload-time = "2026-03-31T21:58:17.009Z" }, + { url = "https://files.pythonhosted.org/packages/3b/86/b7c870053e36a94e8951b803cb5b909bfbc9b90ca941527f5fcafbf6b0fa/aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090", size = 1732476, upload-time = "2026-03-31T21:58:18.925Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e5/4e161f84f98d80c03a238671b4136e6530453d65262867d989bbe78244d0/aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b", size = 1706507, upload-time = "2026-03-31T21:58:21.094Z" }, + { url = "https://files.pythonhosted.org/packages/d4/56/ea11a9f01518bd5a2a2fcee869d248c4b8a0cfa0bb13401574fa31adf4d4/aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a", size = 1773465, upload-time = "2026-03-31T21:58:23.159Z" }, + { url = "https://files.pythonhosted.org/packages/eb/40/333ca27fb74b0383f17c90570c748f7582501507307350a79d9f9f3c6eb1/aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8", size = 1873523, upload-time = "2026-03-31T21:58:25.59Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d2/e2f77eef1acb7111405433c707dc735e63f67a56e176e72e9e7a2cd3f493/aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665", size = 1754113, upload-time = "2026-03-31T21:58:27.624Z" }, + { url = "https://files.pythonhosted.org/packages/fb/56/3f653d7f53c89669301ec9e42c95233e2a0c0a6dd051269e6e678db4fdb0/aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540", size = 1562351, upload-time = "2026-03-31T21:58:29.918Z" }, + { url = "https://files.pythonhosted.org/packages/ec/a6/9b3e91eb8ae791cce4ee736da02211c85c6f835f1bdfac0594a8a3b7018c/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb", size = 1693205, upload-time = "2026-03-31T21:58:32.214Z" }, + { url = "https://files.pythonhosted.org/packages/98/fc/bfb437a99a2fcebd6b6eaec609571954de2ed424f01c352f4b5504371dd3/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46", size = 1730618, upload-time = "2026-03-31T21:58:34.728Z" }, + { url = "https://files.pythonhosted.org/packages/e4/b6/c8534862126191a034f68153194c389addc285a0f1347d85096d349bbc15/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8", size = 1745185, upload-time = "2026-03-31T21:58:36.909Z" }, + { url = "https://files.pythonhosted.org/packages/0b/93/4ca8ee2ef5236e2707e0fd5fecb10ce214aee1ff4ab307af9c558bda3b37/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d", size = 1557311, upload-time = "2026-03-31T21:58:39.38Z" }, + { url = "https://files.pythonhosted.org/packages/57/ae/76177b15f18c5f5d094f19901d284025db28eccc5ae374d1d254181d33f4/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6", size = 1773147, upload-time = "2026-03-31T21:58:41.476Z" }, + { url = "https://files.pythonhosted.org/packages/01/a4/62f05a0a98d88af59d93b7fcac564e5f18f513cb7471696ac286db970d6a/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c", size = 1730356, upload-time = "2026-03-31T21:58:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/e4/85/fc8601f59dfa8c9523808281f2da571f8b4699685f9809a228adcc90838d/aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc", size = 432637, upload-time = "2026-03-31T21:58:46.167Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1b/ac685a8882896acf0f6b31d689e3792199cfe7aba37969fa91da63a7fa27/aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83", size = 458896, upload-time = "2026-03-31T21:58:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c", size = 745721, upload-time = "2026-03-31T21:58:50.229Z" }, + { url = "https://files.pythonhosted.org/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be", size = 497663, upload-time = "2026-03-31T21:58:52.232Z" }, + { url = "https://files.pythonhosted.org/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25", size = 499094, upload-time = "2026-03-31T21:58:54.566Z" }, + { url = "https://files.pythonhosted.org/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56", size = 1726701, upload-time = "2026-03-31T21:58:56.864Z" }, + { url = "https://files.pythonhosted.org/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2", size = 1683360, upload-time = "2026-03-31T21:58:59.072Z" }, + { url = "https://files.pythonhosted.org/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a", size = 1773023, upload-time = "2026-03-31T21:59:01.776Z" }, + { url = "https://files.pythonhosted.org/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be", size = 1853795, upload-time = "2026-03-31T21:59:04.568Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b", size = 1730405, upload-time = "2026-03-31T21:59:07.221Z" }, + { url = "https://files.pythonhosted.org/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94", size = 1558082, upload-time = "2026-03-31T21:59:09.484Z" }, + { url = "https://files.pythonhosted.org/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d", size = 1692346, upload-time = "2026-03-31T21:59:12.068Z" }, + { url = "https://files.pythonhosted.org/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7", size = 1698891, upload-time = "2026-03-31T21:59:14.552Z" }, + { url = "https://files.pythonhosted.org/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772", size = 1742113, upload-time = "2026-03-31T21:59:17.068Z" }, + { url = "https://files.pythonhosted.org/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5", size = 1553088, upload-time = "2026-03-31T21:59:19.541Z" }, + { url = "https://files.pythonhosted.org/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1", size = 1757976, upload-time = "2026-03-31T21:59:22.311Z" }, + { url = "https://files.pythonhosted.org/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b", size = 1712444, upload-time = "2026-03-31T21:59:24.635Z" }, + { url = "https://files.pythonhosted.org/packages/6c/cf/9e1795b4160c58d29421eafd1a69c6ce351e2f7c8d3c6b7e4ca44aea1a5b/aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3", size = 438128, upload-time = "2026-03-31T21:59:27.291Z" }, + { url = "https://files.pythonhosted.org/packages/22/4d/eaedff67fc805aeba4ba746aec891b4b24cebb1a7d078084b6300f79d063/aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162", size = 464029, upload-time = "2026-03-31T21:59:29.429Z" }, + { url = "https://files.pythonhosted.org/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a", size = 778758, upload-time = "2026-03-31T21:59:31.547Z" }, + { url = "https://files.pythonhosted.org/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254", size = 512883, upload-time = "2026-03-31T21:59:34.098Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36", size = 516668, upload-time = "2026-03-31T21:59:36.497Z" }, + { url = "https://files.pythonhosted.org/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f", size = 1883461, upload-time = "2026-03-31T21:59:38.723Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800", size = 1747661, upload-time = "2026-03-31T21:59:41.187Z" }, + { url = "https://files.pythonhosted.org/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf", size = 1863800, upload-time = "2026-03-31T21:59:43.84Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b", size = 1958382, upload-time = "2026-03-31T21:59:46.187Z" }, + { url = "https://files.pythonhosted.org/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a", size = 1803724, upload-time = "2026-03-31T21:59:48.656Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8", size = 1640027, upload-time = "2026-03-31T21:59:51.284Z" }, + { url = "https://files.pythonhosted.org/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be", size = 1806644, upload-time = "2026-03-31T21:59:53.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b", size = 1791630, upload-time = "2026-03-31T21:59:56.239Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6", size = 1809403, upload-time = "2026-03-31T21:59:59.103Z" }, + { url = "https://files.pythonhosted.org/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037", size = 1634924, upload-time = "2026-03-31T22:00:02.116Z" }, + { url = "https://files.pythonhosted.org/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500", size = 1836119, upload-time = "2026-03-31T22:00:04.756Z" }, + { url = "https://files.pythonhosted.org/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9", size = 1772072, upload-time = "2026-03-31T22:00:07.494Z" }, + { url = "https://files.pythonhosted.org/packages/7e/df/57ba7f0c4a553fc2bd8b6321df236870ec6fd64a2a473a8a13d4f733214e/aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8", size = 471819, upload-time = "2026-03-31T22:00:10.277Z" }, + { url = "https://files.pythonhosted.org/packages/62/29/2f8418269e46454a26171bfdd6a055d74febf32234e474930f2f60a17145/aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9", size = 505441, upload-time = "2026-03-31T22:00:12.791Z" }, +] + +[[package]] +name = "aioitertools" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3c/53c4a17a05fb9ea2313ee1777ff53f5e001aefd5cc85aa2f4c2d982e1e38/aioitertools-0.13.0.tar.gz", hash = "sha256:620bd241acc0bbb9ec819f1ab215866871b4bbd1f73836a55f799200ee86950c", size = 19322, upload-time = "2025-11-06T22:17:07.609Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/a1/510b0a7fadc6f43a6ce50152e69dbd86415240835868bb0bd9b5b88b1e06/aioitertools-0.13.0-py3-none-any.whl", hash = "sha256:0be0292b856f08dfac90e31f4739432f4cb6d7520ab9eb73e143f4f2fa5259be", size = 24182, upload-time = "2025-11-06T22:17:06.502Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, +] + [[package]] name = "appnope" version = "0.1.4" @@ -75,6 +209,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f6/a8/877f306720bc114c612579c5af36bcb359026b83d051226945499b306b1a/bokeh-3.8.2-py3-none-any.whl", hash = "sha256:5e2c0d84f75acb25d60efb9e4d2f434a791c4639b47d685534194c4e07bd0111", size = 7207131, upload-time = "2026-01-06T00:20:04.917Z" }, ] +[[package]] +name = "botocore" +version = "1.43.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/79/2f4be1896db3db7ccf44504253a175d56b6bd6b669619edc5147d1aa21ea/botocore-1.43.0.tar.gz", hash = "sha256:e933b31a2d644253e1d029d7d39e99ba41b87e29300534f189744cc438cdf928", size = 15286817, upload-time = "2026-04-29T22:07:31.723Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/4b/afc1fef8a43bafb139f57f73bbd70df82807af5934321e8112ae50668827/botocore-1.43.0-py3-none-any.whl", hash = "sha256:cc5b15eaec3c6eac05d8012cb5ef17ebe891beb88a16ca13c374bfaece1241e6", size = 14970102, upload-time = "2026-04-29T22:07:27Z" }, +] + [[package]] name = "cartopy" version = "0.25.0" @@ -687,6 +835,95 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/4e/ce75a57ff3aebf6fc1f4e9d508b8e5810618a33d900ad6c19eb30b290b97/fonttools-4.61.1-py3-none-any.whl", hash = "sha256:17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371", size = 1148996, upload-time = "2025-12-12T17:31:21.03Z" }, ] +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, +] + [[package]] name = "fsspec" version = "2026.2.0" @@ -711,37 +948,23 @@ wheels = [ [[package]] name = "h5py" -version = "3.15.1" +version = "3.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/6a/0d79de0b025aa85dc8864de8e97659c94cf3d23148394a954dc5ca52f8c8/h5py-3.15.1.tar.gz", hash = "sha256:c86e3ed45c4473564de55aa83b6fc9e5ead86578773dfbd93047380042e26b69", size = 426236, upload-time = "2025-10-16T10:35:27.404Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/b8/c0d9aa013ecfa8b7057946c080c0c07f6fa41e231d2e9bd306a2f8110bdc/h5py-3.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:316dd0f119734f324ca7ed10b5627a2de4ea42cc4dfbcedbee026aaa361c238c", size = 3399089, upload-time = "2025-10-16T10:34:12.135Z" }, - { url = "https://files.pythonhosted.org/packages/a4/5e/3c6f6e0430813c7aefe784d00c6711166f46225f5d229546eb53032c3707/h5py-3.15.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51469890e58e85d5242e43aab29f5e9c7e526b951caab354f3ded4ac88e7b76", size = 2847803, upload-time = "2025-10-16T10:34:14.564Z" }, - { url = "https://files.pythonhosted.org/packages/00/69/ba36273b888a4a48d78f9268d2aee05787e4438557450a8442946ab8f3ec/h5py-3.15.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a33bfd5dfcea037196f7778534b1ff7e36a7f40a89e648c8f2967292eb6898e", size = 4914884, upload-time = "2025-10-16T10:34:18.452Z" }, - { url = "https://files.pythonhosted.org/packages/3a/30/d1c94066343a98bb2cea40120873193a4fed68c4ad7f8935c11caf74c681/h5py-3.15.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:25c8843fec43b2cc368aa15afa1cdf83fc5e17b1c4e10cd3771ef6c39b72e5ce", size = 5109965, upload-time = "2025-10-16T10:34:21.853Z" }, - { url = "https://files.pythonhosted.org/packages/81/3d/d28172116eafc3bc9f5991b3cb3fd2c8a95f5984f50880adfdf991de9087/h5py-3.15.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a308fd8681a864c04423c0324527237a0484e2611e3441f8089fd00ed56a8171", size = 4561870, upload-time = "2025-10-16T10:34:26.69Z" }, - { url = "https://files.pythonhosted.org/packages/a5/83/393a7226024238b0f51965a7156004eaae1fcf84aa4bfecf7e582676271b/h5py-3.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f4a016df3f4a8a14d573b496e4d1964deb380e26031fc85fb40e417e9131888a", size = 5037161, upload-time = "2025-10-16T10:34:30.383Z" }, - { url = "https://files.pythonhosted.org/packages/cf/51/329e7436bf87ca6b0fe06dd0a3795c34bebe4ed8d6c44450a20565d57832/h5py-3.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:59b25cf02411bf12e14f803fef0b80886444c7fe21a5ad17c6a28d3f08098a1e", size = 2874165, upload-time = "2025-10-16T10:34:33.461Z" }, - { url = "https://files.pythonhosted.org/packages/09/a8/2d02b10a66747c54446e932171dd89b8b4126c0111b440e6bc05a7c852ec/h5py-3.15.1-cp312-cp312-win_arm64.whl", hash = "sha256:61d5a58a9851e01ee61c932bbbb1c98fe20aba0a5674776600fb9a361c0aa652", size = 2458214, upload-time = "2025-10-16T10:34:35.733Z" }, - { url = "https://files.pythonhosted.org/packages/88/b3/40207e0192415cbff7ea1d37b9f24b33f6d38a5a2f5d18a678de78f967ae/h5py-3.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8440fd8bee9500c235ecb7aa1917a0389a2adb80c209fa1cc485bd70e0d94a5", size = 3376511, upload-time = "2025-10-16T10:34:38.596Z" }, - { url = "https://files.pythonhosted.org/packages/31/96/ba99a003c763998035b0de4c299598125df5fc6c9ccf834f152ddd60e0fb/h5py-3.15.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ab2219dbc6fcdb6932f76b548e2b16f34a1f52b7666e998157a4dfc02e2c4123", size = 2826143, upload-time = "2025-10-16T10:34:41.342Z" }, - { url = "https://files.pythonhosted.org/packages/6a/c2/fc6375d07ea3962df7afad7d863fe4bde18bb88530678c20d4c90c18de1d/h5py-3.15.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8cb02c3a96255149ed3ac811eeea25b655d959c6dd5ce702c9a95ff11859eb5", size = 4908316, upload-time = "2025-10-16T10:34:44.619Z" }, - { url = "https://files.pythonhosted.org/packages/d9/69/4402ea66272dacc10b298cca18ed73e1c0791ff2ae9ed218d3859f9698ac/h5py-3.15.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:121b2b7a4c1915d63737483b7bff14ef253020f617c2fb2811f67a4bed9ac5e8", size = 5103710, upload-time = "2025-10-16T10:34:48.639Z" }, - { url = "https://files.pythonhosted.org/packages/e0/f6/11f1e2432d57d71322c02a97a5567829a75f223a8c821764a0e71a65cde8/h5py-3.15.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59b0d63b318bf3cc06687def2b45afd75926bbc006f7b8cd2b1a231299fc8599", size = 4556042, upload-time = "2025-10-16T10:34:51.841Z" }, - { url = "https://files.pythonhosted.org/packages/18/88/3eda3ef16bfe7a7dbc3d8d6836bbaa7986feb5ff091395e140dc13927bcc/h5py-3.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e02fe77a03f652500d8bff288cbf3675f742fc0411f5a628fa37116507dc7cc0", size = 5030639, upload-time = "2025-10-16T10:34:55.257Z" }, - { url = "https://files.pythonhosted.org/packages/e5/ea/fbb258a98863f99befb10ed727152b4ae659f322e1d9c0576f8a62754e81/h5py-3.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:dea78b092fd80a083563ed79a3171258d4a4d307492e7cf8b2313d464c82ba52", size = 2864363, upload-time = "2025-10-16T10:34:58.099Z" }, - { url = "https://files.pythonhosted.org/packages/5d/c9/35021cc9cd2b2915a7da3026e3d77a05bed1144a414ff840953b33937fb9/h5py-3.15.1-cp313-cp313-win_arm64.whl", hash = "sha256:c256254a8a81e2bddc0d376e23e2a6d2dc8a1e8a2261835ed8c1281a0744cd97", size = 2449570, upload-time = "2025-10-16T10:35:00.473Z" }, - { url = "https://files.pythonhosted.org/packages/a0/2c/926eba1514e4d2e47d0e9eb16c784e717d8b066398ccfca9b283917b1bfb/h5py-3.15.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:5f4fb0567eb8517c3ecd6b3c02c4f4e9da220c8932604960fd04e24ee1254763", size = 3380368, upload-time = "2025-10-16T10:35:03.117Z" }, - { url = "https://files.pythonhosted.org/packages/65/4b/d715ed454d3baa5f6ae1d30b7eca4c7a1c1084f6a2edead9e801a1541d62/h5py-3.15.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:954e480433e82d3872503104f9b285d369048c3a788b2b1a00e53d1c47c98dd2", size = 2833793, upload-time = "2025-10-16T10:35:05.623Z" }, - { url = "https://files.pythonhosted.org/packages/ef/d4/ef386c28e4579314610a8bffebbee3b69295b0237bc967340b7c653c6c10/h5py-3.15.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fd125c131889ebbef0849f4a0e29cf363b48aba42f228d08b4079913b576bb3a", size = 4903199, upload-time = "2025-10-16T10:35:08.972Z" }, - { url = "https://files.pythonhosted.org/packages/33/5d/65c619e195e0b5e54ea5a95c1bb600c8ff8715e0d09676e4cce56d89f492/h5py-3.15.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28a20e1a4082a479b3d7db2169f3a5034af010b90842e75ebbf2e9e49eb4183e", size = 5097224, upload-time = "2025-10-16T10:35:12.808Z" }, - { url = "https://files.pythonhosted.org/packages/30/30/5273218400bf2da01609e1292f562c94b461fcb73c7a9e27fdadd43abc0a/h5py-3.15.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa8df5267f545b4946df8ca0d93d23382191018e4cda2deda4c2cedf9a010e13", size = 4551207, upload-time = "2025-10-16T10:35:16.24Z" }, - { url = "https://files.pythonhosted.org/packages/d3/39/a7ef948ddf4d1c556b0b2b9559534777bccc318543b3f5a1efdf6b556c9c/h5py-3.15.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99d374a21f7321a4c6ab327c4ab23bd925ad69821aeb53a1e75dd809d19f67fa", size = 5025426, upload-time = "2025-10-16T10:35:19.831Z" }, - { url = "https://files.pythonhosted.org/packages/b6/d8/7368679b8df6925b8415f9dcc9ab1dab01ddc384d2b2c24aac9191bd9ceb/h5py-3.15.1-cp314-cp314-win_amd64.whl", hash = "sha256:9c73d1d7cdb97d5b17ae385153472ce118bed607e43be11e9a9deefaa54e0734", size = 2865704, upload-time = "2025-10-16T10:35:22.658Z" }, - { url = "https://files.pythonhosted.org/packages/d3/b7/4a806f85d62c20157e62e58e03b27513dc9c55499768530acc4f4c5ce4be/h5py-3.15.1-cp314-cp314-win_arm64.whl", hash = "sha256:a6d8c5a05a76aca9a494b4c53ce8a9c29023b7f64f625c6ce1841e92a362ccdf", size = 2465544, upload-time = "2025-10-16T10:35:25.695Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/5d/57/dfb3c5c3f1bf5f5ef2e59a22dec4ff1f3d7408b55bfcefcfb0ea69ef21c6/h5py-3.14.0.tar.gz", hash = "sha256:2372116b2e0d5d3e5e705b7f663f7c8d96fa79a4052d250484ef91d24d6a08f4", size = 424323, upload-time = "2025-06-06T14:06:15.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/77/8f651053c1843391e38a189ccf50df7e261ef8cd8bfd8baba0cbe694f7c3/h5py-3.14.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e0045115d83272090b0717c555a31398c2c089b87d212ceba800d3dc5d952e23", size = 3312740, upload-time = "2025-06-06T14:05:01.193Z" }, + { url = "https://files.pythonhosted.org/packages/ff/10/20436a6cf419b31124e59fefc78d74cb061ccb22213226a583928a65d715/h5py-3.14.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6da62509b7e1d71a7d110478aa25d245dd32c8d9a1daee9d2a42dba8717b047a", size = 2829207, upload-time = "2025-06-06T14:05:05.061Z" }, + { url = "https://files.pythonhosted.org/packages/3f/19/c8bfe8543bfdd7ccfafd46d8cfd96fce53d6c33e9c7921f375530ee1d39a/h5py-3.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:554ef0ced3571366d4d383427c00c966c360e178b5fb5ee5bb31a435c424db0c", size = 4708455, upload-time = "2025-06-06T14:05:11.528Z" }, + { url = "https://files.pythonhosted.org/packages/86/f9/f00de11c82c88bfc1ef22633557bfba9e271e0cb3189ad704183fc4a2644/h5py-3.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cbd41f4e3761f150aa5b662df991868ca533872c95467216f2bec5fcad84882", size = 4929422, upload-time = "2025-06-06T14:05:18.399Z" }, + { url = "https://files.pythonhosted.org/packages/7a/6d/6426d5d456f593c94b96fa942a9b3988ce4d65ebaf57d7273e452a7222e8/h5py-3.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:bf4897d67e613ecf5bdfbdab39a1158a64df105827da70ea1d90243d796d367f", size = 2862845, upload-time = "2025-06-06T14:05:23.699Z" }, + { url = "https://files.pythonhosted.org/packages/6c/c2/7efe82d09ca10afd77cd7c286e42342d520c049a8c43650194928bcc635c/h5py-3.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:aa4b7bbce683379b7bf80aaba68e17e23396100336a8d500206520052be2f812", size = 3289245, upload-time = "2025-06-06T14:05:28.24Z" }, + { url = "https://files.pythonhosted.org/packages/4f/31/f570fab1239b0d9441024b92b6ad03bb414ffa69101a985e4c83d37608bd/h5py-3.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9603a501a04fcd0ba28dd8f0995303d26a77a980a1f9474b3417543d4c6174", size = 2807335, upload-time = "2025-06-06T14:05:31.997Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ce/3a21d87896bc7e3e9255e0ad5583ae31ae9e6b4b00e0bcb2a67e2b6acdbc/h5py-3.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8cbaf6910fa3983c46172666b0b8da7b7bd90d764399ca983236f2400436eeb", size = 4700675, upload-time = "2025-06-06T14:05:37.38Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ec/86f59025306dcc6deee5fda54d980d077075b8d9889aac80f158bd585f1b/h5py-3.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d90e6445ab7c146d7f7981b11895d70bc1dd91278a4f9f9028bc0c95e4a53f13", size = 4921632, upload-time = "2025-06-06T14:05:43.464Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6d/0084ed0b78d4fd3e7530c32491f2884140d9b06365dac8a08de726421d4a/h5py-3.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:ae18e3de237a7a830adb76aaa68ad438d85fe6e19e0d99944a3ce46b772c69b3", size = 2852929, upload-time = "2025-06-06T14:05:47.659Z" }, ] [[package]] @@ -753,6 +976,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, ] +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + [[package]] name = "ipykernel" version = "7.2.0" @@ -834,6 +1066,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, ] +[[package]] +name = "jmespath" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz", hash = "sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d", size = 27377, upload-time = "2026-01-22T16:35:26.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" }, +] + [[package]] name = "jsonschema" version = "4.26.0" @@ -971,6 +1212,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl", hash = "sha256:b6c819a722f7b6bd955b80781788e4a66a55628b858d347536b7e81325a3a5e3", size = 4398, upload-time = "2022-04-20T22:04:42.23Z" }, ] +[[package]] +name = "loguru" +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "win32-setctime", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, +] + [[package]] name = "lru-dict" version = "1.4.1" @@ -1040,6 +1294,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, ] +[[package]] +name = "markdown-it-py" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, +] + [[package]] name = "markupsafe" version = "3.0.3" @@ -1169,6 +1435,45 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" }, ] +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "mlwp-data-loaders" +version = "0.1.0" +source = { git = "https://github.com/mlwp-tools/mlwp-data-loaders?branch=main#fe8cd0185803cf0796a19bb4731c891e100340e9" } +dependencies = [ + { name = "fsspec" }, + { name = "h5netcdf" }, + { name = "h5py" }, + { name = "loguru" }, + { name = "mlwp-data-specs" }, + { name = "s3fs" }, + { name = "xarray" }, + { name = "zarr" }, +] + +[[package]] +name = "mlwp-data-specs" +version = "0.1.0" +source = { git = "https://github.com/mlwp-tools/mlwp-data-specs?rev=059f382#059f3820134e0ebff4deb9180dc5a0da18399289" } +dependencies = [ + { name = "fsspec" }, + { name = "loguru" }, + { name = "packaging" }, + { name = "pytest" }, + { name = "rich" }, + { name = "s3fs" }, + { name = "xarray" }, + { name = "zarr" }, +] + [[package]] name = "msgpack" version = "1.1.2" @@ -1213,6 +1518,105 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/81/f2/08ace4142eb281c12701fc3b93a10795e4d4dc7f753911d836675050f886/msgpack-1.1.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d99ef64f349d5ec3293688e91486c5fdb925ed03807f64d98d205d2713c60b46", size = 70868, upload-time = "2025-10-08T09:15:44.959Z" }, ] +[[package]] +name = "multidict" +version = "6.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" }, + { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" }, + { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" }, + { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" }, + { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, + { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, + { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, + { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, + { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887, upload-time = "2026-01-26T02:44:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053, upload-time = "2026-01-26T02:44:15.371Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307, upload-time = "2026-01-26T02:44:16.852Z" }, + { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" }, + { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" }, + { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" }, + { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" }, + { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" }, + { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" }, + { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" }, + { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" }, + { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" }, + { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" }, + { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695, upload-time = "2026-01-26T02:44:41.318Z" }, + { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884, upload-time = "2026-01-26T02:44:42.488Z" }, + { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122, upload-time = "2026-01-26T02:44:43.664Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" }, + { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" }, + { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" }, + { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" }, + { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" }, + { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" }, + { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" }, + { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" }, + { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" }, + { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" }, + { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" }, + { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770, upload-time = "2026-01-26T02:45:06.754Z" }, + { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109, upload-time = "2026-01-26T02:45:08.044Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573, upload-time = "2026-01-26T02:45:09.349Z" }, + { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190, upload-time = "2026-01-26T02:45:10.651Z" }, + { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486, upload-time = "2026-01-26T02:45:11.938Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219, upload-time = "2026-01-26T02:45:14.346Z" }, + { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132, upload-time = "2026-01-26T02:45:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420, upload-time = "2026-01-26T02:45:17.293Z" }, + { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510, upload-time = "2026-01-26T02:45:19.356Z" }, + { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094, upload-time = "2026-01-26T02:45:20.834Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786, upload-time = "2026-01-26T02:45:22.818Z" }, + { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483, upload-time = "2026-01-26T02:45:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403, upload-time = "2026-01-26T02:45:25.982Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315, upload-time = "2026-01-26T02:45:27.487Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528, upload-time = "2026-01-26T02:45:28.991Z" }, + { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784, upload-time = "2026-01-26T02:45:30.503Z" }, + { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980, upload-time = "2026-01-26T02:45:32.603Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602, upload-time = "2026-01-26T02:45:34.043Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930, upload-time = "2026-01-26T02:45:36.278Z" }, + { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074, upload-time = "2026-01-26T02:45:37.546Z" }, + { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471, upload-time = "2026-01-26T02:45:38.889Z" }, + { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401, upload-time = "2026-01-26T02:45:40.254Z" }, + { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143, upload-time = "2026-01-26T02:45:41.635Z" }, + { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507, upload-time = "2026-01-26T02:45:42.99Z" }, + { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358, upload-time = "2026-01-26T02:45:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884, upload-time = "2026-01-26T02:45:47.167Z" }, + { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878, upload-time = "2026-01-26T02:45:48.698Z" }, + { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542, upload-time = "2026-01-26T02:45:50.164Z" }, + { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403, upload-time = "2026-01-26T02:45:51.779Z" }, + { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889, upload-time = "2026-01-26T02:45:53.27Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982, upload-time = "2026-01-26T02:45:54.919Z" }, + { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415, upload-time = "2026-01-26T02:45:56.981Z" }, + { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337, upload-time = "2026-01-26T02:45:58.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788, upload-time = "2026-01-26T02:46:00.862Z" }, + { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842, upload-time = "2026-01-26T02:46:02.824Z" }, + { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237, upload-time = "2026-01-26T02:46:05.898Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008, upload-time = "2026-01-26T02:46:07.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542, upload-time = "2026-01-26T02:46:08.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719, upload-time = "2026-01-26T02:46:11.146Z" }, + { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, +] + [[package]] name = "multiurl" version = "0.3.7" @@ -1240,6 +1644,7 @@ dependencies = [ { name = "earthkit-data" }, { name = "h5netcdf" }, { name = "h5py" }, + { name = "mlwp-data-loaders" }, { name = "netcdf4" }, { name = "pyyaml" }, { name = "scipy" }, @@ -1261,6 +1666,7 @@ verification = [ [package.dev-dependencies] dev = [ { name = "ipykernel" }, + { name = "pytest" }, ] [package.metadata] @@ -1273,7 +1679,8 @@ requires-dist = [ { name = "earthkit-data", specifier = ">=0.19.0" }, { name = "earthkit-meteo", marker = "extra == 'earthkit'", specifier = ">=0.6.1" }, { name = "h5netcdf", specifier = ">=1.8.1" }, - { name = "h5py", specifier = ">=3.15.1" }, + { name = "h5py", specifier = "<3.15" }, + { name = "mlwp-data-loaders", git = "https://github.com/mlwp-tools/mlwp-data-loaders?branch=main" }, { name = "netcdf4", specifier = ">=1.7.4" }, { name = "pyyaml", specifier = ">=6.0.3" }, { name = "scipy", specifier = ">=1.17.0" }, @@ -1284,7 +1691,10 @@ requires-dist = [ provides-extras = ["earthkit", "verification", "jobqueue"] [package.metadata.requires-dev] -dev = [{ name = "ipykernel", specifier = ">=7.2.0" }] +dev = [ + { name = "ipykernel", specifier = ">=7.2.0" }, + { name = "pytest", specifier = ">=8.0" }, +] [[package]] name = "narwhals" @@ -1627,6 +2037,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/e3/1eddccb2c39ecfbe09b3add42a04abcc3fa5b468aa4224998ffb8a7e9c8f/platformdirs-4.7.0-py3-none-any.whl", hash = "sha256:1ed8db354e344c5bb6039cd727f096af975194b508e37177719d562b2b540ee6", size = 18983, upload-time = "2026-02-12T22:21:52.237Z" }, ] +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + [[package]] name = "prompt-toolkit" version = "3.0.52" @@ -1639,6 +2058,100 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, ] +[[package]] +name = "propcache" +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba", size = 95887, upload-time = "2026-05-08T21:00:11.277Z" }, + { url = "https://files.pythonhosted.org/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a", size = 54654, upload-time = "2026-05-08T21:00:12.604Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf", size = 55190, upload-time = "2026-05-08T21:00:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144", size = 59995, upload-time = "2026-05-08T21:00:15.526Z" }, + { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, + { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, + { url = "https://files.pythonhosted.org/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a", size = 60029, upload-time = "2026-05-08T21:00:22.713Z" }, + { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, + { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, + { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, + { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, + { url = "https://files.pythonhosted.org/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031", size = 39018, upload-time = "2026-05-08T21:00:31.622Z" }, + { url = "https://files.pythonhosted.org/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42", size = 42322, upload-time = "2026-05-08T21:00:32.918Z" }, + { url = "https://files.pythonhosted.org/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84", size = 38172, upload-time = "2026-05-08T21:00:35.124Z" }, + { url = "https://files.pythonhosted.org/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a", size = 94457, upload-time = "2026-05-08T21:00:36.355Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117", size = 53835, upload-time = "2026-05-08T21:00:38.072Z" }, + { url = "https://files.pythonhosted.org/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098", size = 54545, upload-time = "2026-05-08T21:00:39.319Z" }, + { url = "https://files.pythonhosted.org/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4", size = 59886, upload-time = "2026-05-08T21:00:40.621Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e", size = 63261, upload-time = "2026-05-08T21:00:41.775Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7", size = 64184, upload-time = "2026-05-08T21:00:43.018Z" }, + { url = "https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d", size = 61534, upload-time = "2026-05-08T21:00:44.507Z" }, + { url = "https://files.pythonhosted.org/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a", size = 61500, upload-time = "2026-05-08T21:00:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2", size = 59994, upload-time = "2026-05-08T21:00:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa", size = 56884, upload-time = "2026-05-08T21:00:48.376Z" }, + { url = "https://files.pythonhosted.org/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853", size = 63464, upload-time = "2026-05-08T21:00:49.954Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a", size = 61588, upload-time = "2026-05-08T21:00:51.281Z" }, + { url = "https://files.pythonhosted.org/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704", size = 64667, upload-time = "2026-05-08T21:00:52.602Z" }, + { url = "https://files.pythonhosted.org/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4", size = 62463, upload-time = "2026-05-08T21:00:54.303Z" }, + { url = "https://files.pythonhosted.org/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d", size = 38621, upload-time = "2026-05-08T21:00:55.808Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757", size = 41649, upload-time = "2026-05-08T21:00:57.061Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f", size = 37636, upload-time = "2026-05-08T21:00:58.646Z" }, + { url = "https://files.pythonhosted.org/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d", size = 98872, upload-time = "2026-05-08T21:00:59.889Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa", size = 56257, upload-time = "2026-05-08T21:01:01.195Z" }, + { url = "https://files.pythonhosted.org/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94", size = 56696, upload-time = "2026-05-08T21:01:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164", size = 62378, upload-time = "2026-05-08T21:01:04.475Z" }, + { url = "https://files.pythonhosted.org/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f", size = 65283, upload-time = "2026-05-08T21:01:05.959Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c", size = 66616, upload-time = "2026-05-08T21:01:07.228Z" }, + { url = "https://files.pythonhosted.org/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc", size = 63773, upload-time = "2026-05-08T21:01:08.514Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f", size = 63664, upload-time = "2026-05-08T21:01:09.874Z" }, + { url = "https://files.pythonhosted.org/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb", size = 62643, upload-time = "2026-05-08T21:01:11.132Z" }, + { url = "https://files.pythonhosted.org/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751", size = 59595, upload-time = "2026-05-08T21:01:12.387Z" }, + { url = "https://files.pythonhosted.org/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836", size = 65711, upload-time = "2026-05-08T21:01:13.676Z" }, + { url = "https://files.pythonhosted.org/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f", size = 64247, upload-time = "2026-05-08T21:01:14.936Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55", size = 67102, upload-time = "2026-05-08T21:01:16.281Z" }, + { url = "https://files.pythonhosted.org/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568", size = 64964, upload-time = "2026-05-08T21:01:17.57Z" }, + { url = "https://files.pythonhosted.org/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191", size = 42546, upload-time = "2026-05-08T21:01:18.946Z" }, + { url = "https://files.pythonhosted.org/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7", size = 46330, upload-time = "2026-05-08T21:01:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96", size = 40521, upload-time = "2026-05-08T21:01:21.399Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999", size = 94662, upload-time = "2026-05-08T21:01:22.683Z" }, + { url = "https://files.pythonhosted.org/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e", size = 53928, upload-time = "2026-05-08T21:01:23.986Z" }, + { url = "https://files.pythonhosted.org/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539", size = 54650, upload-time = "2026-05-08T21:01:25.305Z" }, + { url = "https://files.pythonhosted.org/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e", size = 59912, upload-time = "2026-05-08T21:01:26.545Z" }, + { url = "https://files.pythonhosted.org/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979", size = 63300, upload-time = "2026-05-08T21:01:27.937Z" }, + { url = "https://files.pythonhosted.org/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80", size = 64208, upload-time = "2026-05-08T21:01:29.484Z" }, + { url = "https://files.pythonhosted.org/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825", size = 61633, upload-time = "2026-05-08T21:01:31.068Z" }, + { url = "https://files.pythonhosted.org/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39", size = 61724, upload-time = "2026-05-08T21:01:32.374Z" }, + { url = "https://files.pythonhosted.org/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4", size = 60069, upload-time = "2026-05-08T21:01:33.67Z" }, + { url = "https://files.pythonhosted.org/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5", size = 57099, upload-time = "2026-05-08T21:01:34.915Z" }, + { url = "https://files.pythonhosted.org/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702", size = 63391, upload-time = "2026-05-08T21:01:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3", size = 61626, upload-time = "2026-05-08T21:01:37.545Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5", size = 64781, upload-time = "2026-05-08T21:01:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4", size = 62570, upload-time = "2026-05-08T21:01:40.415Z" }, + { url = "https://files.pythonhosted.org/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0", size = 39436, upload-time = "2026-05-08T21:01:41.654Z" }, + { url = "https://files.pythonhosted.org/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c", size = 42373, upload-time = "2026-05-08T21:01:43.041Z" }, + { url = "https://files.pythonhosted.org/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0", size = 38554, upload-time = "2026-05-08T21:01:44.336Z" }, + { url = "https://files.pythonhosted.org/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb", size = 99395, upload-time = "2026-05-08T21:01:45.883Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078", size = 56653, upload-time = "2026-05-08T21:01:47.307Z" }, + { url = "https://files.pythonhosted.org/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa", size = 56914, upload-time = "2026-05-08T21:01:48.573Z" }, + { url = "https://files.pythonhosted.org/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917", size = 62567, upload-time = "2026-05-08T21:01:49.903Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe", size = 65542, upload-time = "2026-05-08T21:01:51.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03", size = 66845, upload-time = "2026-05-08T21:01:52.539Z" }, + { url = "https://files.pythonhosted.org/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335", size = 63985, upload-time = "2026-05-08T21:01:53.847Z" }, + { url = "https://files.pythonhosted.org/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285", size = 63999, upload-time = "2026-05-08T21:01:55.179Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837", size = 62779, upload-time = "2026-05-08T21:01:57.489Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8", size = 59796, upload-time = "2026-05-08T21:01:58.736Z" }, + { url = "https://files.pythonhosted.org/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366", size = 66023, upload-time = "2026-05-08T21:02:00.228Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56", size = 64448, upload-time = "2026-05-08T21:02:01.888Z" }, + { url = "https://files.pythonhosted.org/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d", size = 67329, upload-time = "2026-05-08T21:02:03.484Z" }, + { url = "https://files.pythonhosted.org/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2", size = 65172, upload-time = "2026-05-08T21:02:04.745Z" }, + { url = "https://files.pythonhosted.org/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821", size = 43813, upload-time = "2026-05-08T21:02:06.025Z" }, + { url = "https://files.pythonhosted.org/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370", size = 47764, upload-time = "2026-05-08T21:02:07.353Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6", size = 41140, upload-time = "2026-05-08T21:02:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, +] + [[package]] name = "properscoring" version = "0.1" @@ -1790,6 +2303,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/82/06/cad54e8ce758bd836ee5411691cbd49efeb9cc611b374670fce299519334/pyshp-3.0.3-py3-none-any.whl", hash = "sha256:28c8fac8c0c25bb0fecbbfd10ead7f319c2ff2f3b0b44a94f22bd2c93510ad42", size = 58465, upload-time = "2025-11-28T17:47:30.328Z" }, ] +[[package]] +name = "pytest" +version = "9.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", size = 1572165, upload-time = "2026-04-07T17:16:18.027Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -1929,6 +2458,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, ] +[[package]] +name = "rich" +version = "15.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, +] + [[package]] name = "rpds-py" version = "0.30.0" @@ -2010,6 +2552,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532, upload-time = "2025-11-30T20:24:14.634Z" }, ] +[[package]] +name = "s3fs" +version = "2026.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiobotocore" }, + { name = "aiohttp" }, + { name = "fsspec" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fa/be/392c8c5e0da9bfa139e41084690dd49a5e3e931099f78f52d3f6070105c6/s3fs-2026.2.0.tar.gz", hash = "sha256:91cb2a9f76e35643b76eeac3f47a6165172bb3def671f76b9111c8dd5779a2ac", size = 84152, upload-time = "2026-02-05T21:57:57.968Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/e1/64c264db50b68de8a438b60ceeb921b2f22da3ebb7ad6255150225d0beac/s3fs-2026.2.0-py3-none-any.whl", hash = "sha256:65198835b86b1d5771112b0085d1da52a6ede36508b1aaa6cae2aedc765dfe10", size = 31328, upload-time = "2026-02-05T21:57:56.532Z" }, +] + [[package]] name = "scipy" version = "1.17.0" @@ -2281,6 +2837,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl", hash = "sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad", size = 94189, upload-time = "2026-02-06T19:19:39.646Z" }, ] +[[package]] +name = "win32-setctime" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" }, +] + [[package]] name = "wrapt" version = "2.1.1" @@ -2390,6 +2955,110 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/5c/2c189d18d495dd0fa3f27ccc60762bbc787eed95b9b0147266e72bb76585/xyzservices-2025.11.0-py3-none-any.whl", hash = "sha256:de66a7599a8d6dad63980b77defd1d8f5a5a9cb5fc8774ea1c6e89ca7c2a3d2f", size = 93916, upload-time = "2025-11-22T11:31:50.525Z" }, ] +[[package]] +name = "yarl" +version = "1.23.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz", hash = "sha256:53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5", size = 194676, upload-time = "2026-03-01T22:07:53.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/8a/94615bc31022f711add374097ad4144d569e95ff3c38d39215d07ac153a0/yarl-1.23.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1932b6b8bba8d0160a9d1078aae5838a66039e8832d41d2992daa9a3a08f7860", size = 124737, upload-time = "2026-03-01T22:05:12.897Z" }, + { url = "https://files.pythonhosted.org/packages/e3/6f/c6554045d59d64052698add01226bc867b52fe4a12373415d7991fdca95d/yarl-1.23.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:411225bae281f114067578891bc75534cfb3d92a3b4dfef7a6ca78ba354e6069", size = 87029, upload-time = "2026-03-01T22:05:14.376Z" }, + { url = "https://files.pythonhosted.org/packages/19/2a/725ecc166d53438bc88f76822ed4b1e3b10756e790bafd7b523fe97c322d/yarl-1.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13a563739ae600a631c36ce096615fe307f131344588b0bc0daec108cdb47b25", size = 86310, upload-time = "2026-03-01T22:05:15.71Z" }, + { url = "https://files.pythonhosted.org/packages/99/30/58260ed98e6ff7f90ba84442c1ddd758c9170d70327394a6227b310cd60f/yarl-1.23.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cbf44c5cb4a7633d078788e1b56387e3d3cf2b8139a3be38040b22d6c3221c8", size = 97587, upload-time = "2026-03-01T22:05:17.384Z" }, + { url = "https://files.pythonhosted.org/packages/76/0a/8b08aac08b50682e65759f7f8dde98ae8168f72487e7357a5d684c581ef9/yarl-1.23.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53ad387048f6f09a8969631e4de3f1bf70c50e93545d64af4f751b2498755072", size = 92528, upload-time = "2026-03-01T22:05:18.804Z" }, + { url = "https://files.pythonhosted.org/packages/52/07/0b7179101fe5f8385ec6c6bb5d0cb9f76bd9fb4a769591ab6fb5cdbfc69a/yarl-1.23.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a59ba56f340334766f3a4442e0efd0af895fae9e2b204741ef885c446b3a1a8", size = 105339, upload-time = "2026-03-01T22:05:20.235Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8a/36d82869ab5ec829ca8574dfcb92b51286fcfb1e9c7a73659616362dc880/yarl-1.23.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:803a3c3ce4acc62eaf01eaca1208dcf0783025ef27572c3336502b9c232005e7", size = 105061, upload-time = "2026-03-01T22:05:22.268Z" }, + { url = "https://files.pythonhosted.org/packages/66/3e/868e5c3364b6cee19ff3e1a122194fa4ce51def02c61023970442162859e/yarl-1.23.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3d2bff8f37f8d0f96c7ec554d16945050d54462d6e95414babaa18bfafc7f51", size = 100132, upload-time = "2026-03-01T22:05:23.638Z" }, + { url = "https://files.pythonhosted.org/packages/cf/26/9c89acf82f08a52cb52d6d39454f8d18af15f9d386a23795389d1d423823/yarl-1.23.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c75eb09e8d55bceb4367e83496ff8ef2bc7ea6960efb38e978e8073ea59ecb67", size = 99289, upload-time = "2026-03-01T22:05:25.749Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/5b0db00d2cb056922356104468019c0a132e89c8d3ab67d8ede9f4483d2a/yarl-1.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877b0738624280e34c55680d6054a307aa94f7d52fa0e3034a9cc6e790871da7", size = 96950, upload-time = "2026-03-01T22:05:27.318Z" }, + { url = "https://files.pythonhosted.org/packages/f6/40/10fa93811fd439341fad7e0718a86aca0de9548023bbb403668d6555acab/yarl-1.23.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b5405bb8f0e783a988172993cfc627e4d9d00432d6bbac65a923041edacf997d", size = 93960, upload-time = "2026-03-01T22:05:28.738Z" }, + { url = "https://files.pythonhosted.org/packages/bc/d2/8ae2e6cd77d0805f4526e30ec43b6f9a3dfc542d401ac4990d178e4bf0cf/yarl-1.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c3a3598a832590c5a3ce56ab5576361b5688c12cb1d39429cf5dba30b510760", size = 104703, upload-time = "2026-03-01T22:05:30.438Z" }, + { url = "https://files.pythonhosted.org/packages/2f/0c/b3ceacf82c3fe21183ce35fa2acf5320af003d52bc1fcf5915077681142e/yarl-1.23.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8419ebd326430d1cbb7efb5292330a2cf39114e82df5cc3d83c9a0d5ebeaf2f2", size = 98325, upload-time = "2026-03-01T22:05:31.835Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e0/12900edd28bdab91a69bd2554b85ad7b151f64e8b521fe16f9ad2f56477a/yarl-1.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:be61f6fff406ca40e3b1d84716fde398fc08bc63dd96d15f3a14230a0973ed86", size = 105067, upload-time = "2026-03-01T22:05:33.358Z" }, + { url = "https://files.pythonhosted.org/packages/15/61/74bb1182cf79c9bbe4eb6b1f14a57a22d7a0be5e9cedf8e2d5c2086474c3/yarl-1.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ceb13c5c858d01321b5d9bb65e4cf37a92169ea470b70fec6f236b2c9dd7e34", size = 100285, upload-time = "2026-03-01T22:05:35.4Z" }, + { url = "https://files.pythonhosted.org/packages/69/7f/cd5ef733f2550de6241bd8bd8c3febc78158b9d75f197d9c7baa113436af/yarl-1.23.0-cp312-cp312-win32.whl", hash = "sha256:fffc45637bcd6538de8b85f51e3df3223e4ad89bccbfca0481c08c7fc8b7ed7d", size = 82359, upload-time = "2026-03-01T22:05:36.811Z" }, + { url = "https://files.pythonhosted.org/packages/f5/be/25216a49daeeb7af2bec0db22d5e7df08ed1d7c9f65d78b14f3b74fd72fc/yarl-1.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:f69f57305656a4852f2a7203efc661d8c042e6cc67f7acd97d8667fb448a426e", size = 87674, upload-time = "2026-03-01T22:05:38.171Z" }, + { url = "https://files.pythonhosted.org/packages/d2/35/aeab955d6c425b227d5b7247eafb24f2653fedc32f95373a001af5dfeb9e/yarl-1.23.0-cp312-cp312-win_arm64.whl", hash = "sha256:6e87a6e8735b44816e7db0b2fbc9686932df473c826b0d9743148432e10bb9b9", size = 81879, upload-time = "2026-03-01T22:05:40.006Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4b/a0a6e5d0ee8a2f3a373ddef8a4097d74ac901ac363eea1440464ccbe0898/yarl-1.23.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:16c6994ac35c3e74fb0ae93323bf8b9c2a9088d55946109489667c510a7d010e", size = 123796, upload-time = "2026-03-01T22:05:41.412Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/8925d68af039b835ae876db5838e82e76ec87b9782ecc97e192b809c4831/yarl-1.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a42e651629dafb64fd5b0286a3580613702b5809ad3f24934ea87595804f2c5", size = 86547, upload-time = "2026-03-01T22:05:42.841Z" }, + { url = "https://files.pythonhosted.org/packages/ae/50/06d511cc4b8e0360d3c94af051a768e84b755c5eb031b12adaaab6dec6e5/yarl-1.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c6b9461a2a8b47c65eef63bb1c76a4f1c119618ffa99ea79bc5bb1e46c5821b", size = 85854, upload-time = "2026-03-01T22:05:44.85Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f4/4e30b250927ffdab4db70da08b9b8d2194d7c7b400167b8fbeca1e4701ca/yarl-1.23.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2569b67d616eab450d262ca7cb9f9e19d2f718c70a8b88712859359d0ab17035", size = 98351, upload-time = "2026-03-01T22:05:46.836Z" }, + { url = "https://files.pythonhosted.org/packages/86/fc/4118c5671ea948208bdb1492d8b76bdf1453d3e73df051f939f563e7dcc5/yarl-1.23.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e9d9a4d06d3481eab79803beb4d9bd6f6a8e781ec078ac70d7ef2dcc29d1bea5", size = 92711, upload-time = "2026-03-01T22:05:48.316Z" }, + { url = "https://files.pythonhosted.org/packages/56/11/1ed91d42bd9e73c13dc9e7eb0dd92298d75e7ac4dd7f046ad0c472e231cd/yarl-1.23.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f514f6474e04179d3d33175ed3f3e31434d3130d42ec153540d5b157deefd735", size = 106014, upload-time = "2026-03-01T22:05:50.028Z" }, + { url = "https://files.pythonhosted.org/packages/ce/c9/74e44e056a23fbc33aca71779ef450ca648a5bc472bdad7a82339918f818/yarl-1.23.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fda207c815b253e34f7e1909840fd14299567b1c0eb4908f8c2ce01a41265401", size = 105557, upload-time = "2026-03-01T22:05:51.416Z" }, + { url = "https://files.pythonhosted.org/packages/66/fe/b1e10b08d287f518994f1e2ff9b6d26f0adeecd8dd7d533b01bab29a3eda/yarl-1.23.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34b6cf500e61c90f305094911f9acc9c86da1a05a7a3f5be9f68817043f486e4", size = 101559, upload-time = "2026-03-01T22:05:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/72/59/c5b8d94b14e3d3c2a9c20cb100119fd534ab5a14b93673ab4cc4a4141ea5/yarl-1.23.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d7504f2b476d21653e4d143f44a175f7f751cd41233525312696c76aa3dbb23f", size = 100502, upload-time = "2026-03-01T22:05:54.954Z" }, + { url = "https://files.pythonhosted.org/packages/77/4f/96976cb54cbfc5c9fd73ed4c51804f92f209481d1fb190981c0f8a07a1d7/yarl-1.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:578110dd426f0d209d1509244e6d4a3f1a3e9077655d98c5f22583d63252a08a", size = 98027, upload-time = "2026-03-01T22:05:56.409Z" }, + { url = "https://files.pythonhosted.org/packages/63/6e/904c4f476471afdbad6b7e5b70362fb5810e35cd7466529a97322b6f5556/yarl-1.23.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:609d3614d78d74ebe35f54953c5bbd2ac647a7ddb9c30a5d877580f5e86b22f2", size = 95369, upload-time = "2026-03-01T22:05:58.141Z" }, + { url = "https://files.pythonhosted.org/packages/9d/40/acfcdb3b5f9d68ef499e39e04d25e141fe90661f9d54114556cf83be8353/yarl-1.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4966242ec68afc74c122f8459abd597afd7d8a60dc93d695c1334c5fd25f762f", size = 105565, upload-time = "2026-03-01T22:06:00.286Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c6/31e28f3a6ba2869c43d124f37ea5260cac9c9281df803c354b31f4dd1f3c/yarl-1.23.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e0fd068364a6759bc794459f0a735ab151d11304346332489c7972bacbe9e72b", size = 99813, upload-time = "2026-03-01T22:06:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/08/1f/6f65f59e72d54aa467119b63fc0b0b1762eff0232db1f4720cd89e2f4a17/yarl-1.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:39004f0ad156da43e86aa71f44e033de68a44e5a31fc53507b36dd253970054a", size = 105632, upload-time = "2026-03-01T22:06:03.188Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c4/18b178a69935f9e7a338127d5b77d868fdc0f0e49becd286d51b3a18c61d/yarl-1.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5723c01a56c5028c807c701aa66722916d2747ad737a046853f6c46f4875543", size = 101895, upload-time = "2026-03-01T22:06:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/8f/54/f5b870b5505663911dba950a8e4776a0dbd51c9c54c0ae88e823e4b874a0/yarl-1.23.0-cp313-cp313-win32.whl", hash = "sha256:1b6b572edd95b4fa8df75de10b04bc81acc87c1c7d16bcdd2035b09d30acc957", size = 82356, upload-time = "2026-03-01T22:06:06.04Z" }, + { url = "https://files.pythonhosted.org/packages/7a/84/266e8da36879c6edcd37b02b547e2d9ecdfea776be49598e75696e3316e1/yarl-1.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:baaf55442359053c7d62f6f8413a62adba3205119bcb6f49594894d8be47e5e3", size = 87515, upload-time = "2026-03-01T22:06:08.107Z" }, + { url = "https://files.pythonhosted.org/packages/00/fd/7e1c66efad35e1649114fa13f17485f62881ad58edeeb7f49f8c5e748bf9/yarl-1.23.0-cp313-cp313-win_arm64.whl", hash = "sha256:fb4948814a2a98e3912505f09c9e7493b1506226afb1f881825368d6fb776ee3", size = 81785, upload-time = "2026-03-01T22:06:10.181Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fc/119dd07004f17ea43bb91e3ece6587759edd7519d6b086d16bfbd3319982/yarl-1.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:aecfed0b41aa72b7881712c65cf764e39ce2ec352324f5e0837c7048d9e6daaa", size = 130719, upload-time = "2026-03-01T22:06:11.708Z" }, + { url = "https://files.pythonhosted.org/packages/e6/0d/9f2348502fbb3af409e8f47730282cd6bc80dec6630c1e06374d882d6eb2/yarl-1.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a41bcf68efd19073376eb8cf948b8d9be0af26256403e512bb18f3966f1f9120", size = 89690, upload-time = "2026-03-01T22:06:13.429Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/e88f3c80971b42cfc83f50a51b9d165a1dbf154b97005f2994a79f212a07/yarl-1.23.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cde9a2ecd91668bcb7f077c4966d8ceddb60af01b52e6e3e2680e4cf00ad1a59", size = 89851, upload-time = "2026-03-01T22:06:15.53Z" }, + { url = "https://files.pythonhosted.org/packages/1c/07/61c9dd8ba8f86473263b4036f70fb594c09e99c0d9737a799dfd8bc85651/yarl-1.23.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5023346c4ee7992febc0068e7593de5fa2bf611848c08404b35ebbb76b1b0512", size = 95874, upload-time = "2026-03-01T22:06:17.553Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e9/f9ff8ceefba599eac6abddcfb0b3bee9b9e636e96dbf54342a8577252379/yarl-1.23.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1009abedb49ae95b136a8904a3f71b342f849ffeced2d3747bf29caeda218c4", size = 88710, upload-time = "2026-03-01T22:06:19.004Z" }, + { url = "https://files.pythonhosted.org/packages/eb/78/0231bfcc5d4c8eec220bc2f9ef82cb4566192ea867a7c5b4148f44f6cbcd/yarl-1.23.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a8d00f29b42f534cc8aa3931cfe773b13b23e561e10d2b26f27a8d309b0e82a1", size = 101033, upload-time = "2026-03-01T22:06:21.203Z" }, + { url = "https://files.pythonhosted.org/packages/cd/9b/30ea5239a61786f18fd25797151a17fbb3be176977187a48d541b5447dd4/yarl-1.23.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:95451e6ce06c3e104556d73b559f5da6c34a069b6b62946d3ad66afcd51642ea", size = 100817, upload-time = "2026-03-01T22:06:22.738Z" }, + { url = "https://files.pythonhosted.org/packages/62/e2/a4980481071791bc83bce2b7a1a1f7adcabfa366007518b4b845e92eeee3/yarl-1.23.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:531ef597132086b6cf96faa7c6c1dcd0361dd5f1694e5cc30375907b9b7d3ea9", size = 97482, upload-time = "2026-03-01T22:06:24.21Z" }, + { url = "https://files.pythonhosted.org/packages/e5/1e/304a00cf5f6100414c4b5a01fc7ff9ee724b62158a08df2f8170dfc72a2d/yarl-1.23.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88f9fb0116fbfcefcab70f85cf4b74a2b6ce5d199c41345296f49d974ddb4123", size = 95949, upload-time = "2026-03-01T22:06:25.697Z" }, + { url = "https://files.pythonhosted.org/packages/68/03/093f4055ed4cae649ac53bca3d180bd37102e9e11d048588e9ab0c0108d0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e7b0460976dc75cb87ad9cc1f9899a4b97751e7d4e77ab840fc9b6d377b8fd24", size = 95839, upload-time = "2026-03-01T22:06:27.309Z" }, + { url = "https://files.pythonhosted.org/packages/b9/28/4c75ebb108f322aa8f917ae10a8ffa4f07cae10a8a627b64e578617df6a0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:115136c4a426f9da976187d238e84139ff6b51a20839aa6e3720cd1026d768de", size = 90696, upload-time = "2026-03-01T22:06:29.048Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/42c2e2dd91c1a570402f51bdf066bfdb1241c2240ba001967bad778e77b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ead11956716a940c1abc816b7df3fa2b84d06eaed8832ca32f5c5e058c65506b", size = 100865, upload-time = "2026-03-01T22:06:30.525Z" }, + { url = "https://files.pythonhosted.org/packages/74/05/1bcd60a8a0a914d462c305137246b6f9d167628d73568505fce3f1cb2e65/yarl-1.23.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:fe8f8f5e70e6dbdfca9882cd9deaac058729bcf323cf7a58660901e55c9c94f6", size = 96234, upload-time = "2026-03-01T22:06:32.692Z" }, + { url = "https://files.pythonhosted.org/packages/90/b2/f52381aac396d6778ce516b7bc149c79e65bfc068b5de2857ab69eeea3b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:a0e317df055958a0c1e79e5d2aa5a5eaa4a6d05a20d4b0c9c3f48918139c9fc6", size = 100295, upload-time = "2026-03-01T22:06:34.268Z" }, + { url = "https://files.pythonhosted.org/packages/e5/e8/638bae5bbf1113a659b2435d8895474598afe38b4a837103764f603aba56/yarl-1.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f0fd84de0c957b2d280143522c4f91a73aada1923caee763e24a2b3fda9f8a5", size = 97784, upload-time = "2026-03-01T22:06:35.864Z" }, + { url = "https://files.pythonhosted.org/packages/80/25/a3892b46182c586c202629fc2159aa13975d3741d52ebd7347fd501d48d5/yarl-1.23.0-cp313-cp313t-win32.whl", hash = "sha256:93a784271881035ab4406a172edb0faecb6e7d00f4b53dc2f55919d6c9688595", size = 88313, upload-time = "2026-03-01T22:06:37.39Z" }, + { url = "https://files.pythonhosted.org/packages/43/68/8c5b36aa5178900b37387937bc2c2fe0e9505537f713495472dcf6f6fccc/yarl-1.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dd00607bffbf30250fe108065f07453ec124dbf223420f57f5e749b04295e090", size = 94932, upload-time = "2026-03-01T22:06:39.579Z" }, + { url = "https://files.pythonhosted.org/packages/c6/cc/d79ba8292f51f81f4dc533a8ccfb9fc6992cabf0998ed3245de7589dc07c/yarl-1.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ac09d42f48f80c9ee1635b2fcaa819496a44502737660d3c0f2ade7526d29144", size = 84786, upload-time = "2026-03-01T22:06:41.988Z" }, + { url = "https://files.pythonhosted.org/packages/90/98/b85a038d65d1b92c3903ab89444f48d3cee490a883477b716d7a24b1a78c/yarl-1.23.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:21d1b7305a71a15b4794b5ff22e8eef96ff4a6d7f9657155e5aa419444b28912", size = 124455, upload-time = "2026-03-01T22:06:43.615Z" }, + { url = "https://files.pythonhosted.org/packages/39/54/bc2b45559f86543d163b6e294417a107bb87557609007c007ad889afec18/yarl-1.23.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85610b4f27f69984932a7abbe52703688de3724d9f72bceb1cca667deff27474", size = 86752, upload-time = "2026-03-01T22:06:45.425Z" }, + { url = "https://files.pythonhosted.org/packages/24/f9/e8242b68362bffe6fb536c8db5076861466fc780f0f1b479fc4ffbebb128/yarl-1.23.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23f371bd662cf44a7630d4d113101eafc0cfa7518a2760d20760b26021454719", size = 86291, upload-time = "2026-03-01T22:06:46.974Z" }, + { url = "https://files.pythonhosted.org/packages/ea/d8/d1cb2378c81dd729e98c716582b1ccb08357e8488e4c24714658cc6630e8/yarl-1.23.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a80f77dc1acaaa61f0934176fccca7096d9b1ff08c8ba9cddf5ae034a24319", size = 99026, upload-time = "2026-03-01T22:06:48.459Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ff/7196790538f31debe3341283b5b0707e7feb947620fc5e8236ef28d44f72/yarl-1.23.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd654fad46d8d9e823afbb4f87c79160b5a374ed1ff5bde24e542e6ba8f41434", size = 92355, upload-time = "2026-03-01T22:06:50.306Z" }, + { url = "https://files.pythonhosted.org/packages/c1/56/25d58c3eddde825890a5fe6aa1866228377354a3c39262235234ab5f616b/yarl-1.23.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:682bae25f0a0dd23a056739f23a134db9f52a63e2afd6bfb37ddc76292bbd723", size = 106417, upload-time = "2026-03-01T22:06:52.1Z" }, + { url = "https://files.pythonhosted.org/packages/51/8a/882c0e7bc8277eb895b31bce0138f51a1ba551fc2e1ec6753ffc1e7c1377/yarl-1.23.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a82836cab5f197a0514235aaf7ffccdc886ccdaa2324bc0aafdd4ae898103039", size = 106422, upload-time = "2026-03-01T22:06:54.424Z" }, + { url = "https://files.pythonhosted.org/packages/42/2b/fef67d616931055bf3d6764885990a3ac647d68734a2d6a9e1d13de437a2/yarl-1.23.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c57676bdedc94cd3bc37724cf6f8cd2779f02f6aba48de45feca073e714fe52", size = 101915, upload-time = "2026-03-01T22:06:55.895Z" }, + { url = "https://files.pythonhosted.org/packages/18/6a/530e16aebce27c5937920f3431c628a29a4b6b430fab3fd1c117b26ff3f6/yarl-1.23.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c7f8dc16c498ff06497c015642333219871effba93e4a2e8604a06264aca5c5c", size = 100690, upload-time = "2026-03-01T22:06:58.21Z" }, + { url = "https://files.pythonhosted.org/packages/88/08/93749219179a45e27b036e03260fda05190b911de8e18225c294ac95bbc9/yarl-1.23.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5ee586fb17ff8f90c91cf73c6108a434b02d69925f44f5f8e0d7f2f260607eae", size = 98750, upload-time = "2026-03-01T22:06:59.794Z" }, + { url = "https://files.pythonhosted.org/packages/d9/cf/ea424a004969f5d81a362110a6ac1496d79efdc6d50c2c4b2e3ea0fc2519/yarl-1.23.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:17235362f580149742739cc3828b80e24029d08cbb9c4bda0242c7b5bc610a8e", size = 94685, upload-time = "2026-03-01T22:07:01.375Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b7/14341481fe568e2b0408bcf1484c652accafe06a0ade9387b5d3fd9df446/yarl-1.23.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:0793e2bd0cf14234983bbb371591e6bea9e876ddf6896cdcc93450996b0b5c85", size = 106009, upload-time = "2026-03-01T22:07:03.151Z" }, + { url = "https://files.pythonhosted.org/packages/0a/e6/5c744a9b54f4e8007ad35bce96fbc9218338e84812d36f3390cea616881a/yarl-1.23.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3650dc2480f94f7116c364096bc84b1d602f44224ef7d5c7208425915c0475dd", size = 100033, upload-time = "2026-03-01T22:07:04.701Z" }, + { url = "https://files.pythonhosted.org/packages/0c/23/e3bfc188d0b400f025bc49d99793d02c9abe15752138dcc27e4eaf0c4a9e/yarl-1.23.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f40e782d49630ad384db66d4d8b73ff4f1b8955dc12e26b09a3e3af064b3b9d6", size = 106483, upload-time = "2026-03-01T22:07:06.231Z" }, + { url = "https://files.pythonhosted.org/packages/72/42/f0505f949a90b3f8b7a363d6cbdf398f6e6c58946d85c6d3a3bc70595b26/yarl-1.23.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94f8575fbdf81749008d980c17796097e645574a3b8c28ee313931068dad14fe", size = 102175, upload-time = "2026-03-01T22:07:08.4Z" }, + { url = "https://files.pythonhosted.org/packages/aa/65/b39290f1d892a9dd671d1c722014ca062a9c35d60885d57e5375db0404b5/yarl-1.23.0-cp314-cp314-win32.whl", hash = "sha256:c8aa34a5c864db1087d911a0b902d60d203ea3607d91f615acd3f3108ac32169", size = 83871, upload-time = "2026-03-01T22:07:09.968Z" }, + { url = "https://files.pythonhosted.org/packages/a9/5b/9b92f54c784c26e2a422e55a8d2607ab15b7ea3349e28359282f84f01d43/yarl-1.23.0-cp314-cp314-win_amd64.whl", hash = "sha256:63e92247f383c85ab00dd0091e8c3fa331a96e865459f5ee80353c70a4a42d70", size = 89093, upload-time = "2026-03-01T22:07:11.501Z" }, + { url = "https://files.pythonhosted.org/packages/e0/7d/8a84dc9381fd4412d5e7ff04926f9865f6372b4c2fd91e10092e65d29eb8/yarl-1.23.0-cp314-cp314-win_arm64.whl", hash = "sha256:70efd20be968c76ece7baa8dafe04c5be06abc57f754d6f36f3741f7aa7a208e", size = 83384, upload-time = "2026-03-01T22:07:13.069Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8d/d2fad34b1c08aa161b74394183daa7d800141aaaee207317e82c790b418d/yarl-1.23.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9a18d6f9359e45722c064c97464ec883eb0e0366d33eda61cb19a244bf222679", size = 131019, upload-time = "2026-03-01T22:07:14.903Z" }, + { url = "https://files.pythonhosted.org/packages/19/ff/33009a39d3ccf4b94d7d7880dfe17fb5816c5a4fe0096d9b56abceea9ac7/yarl-1.23.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2803ed8b21ca47a43da80a6fd1ed3019d30061f7061daa35ac54f63933409412", size = 89894, upload-time = "2026-03-01T22:07:17.372Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f1/dab7ac5e7306fb79c0190766a3c00b4cb8d09a1f390ded68c85a5934faf5/yarl-1.23.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:394906945aa8b19fc14a61cf69743a868bb8c465efe85eee687109cc540b98f4", size = 89979, upload-time = "2026-03-01T22:07:19.361Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b1/08e95f3caee1fad6e65017b9f26c1d79877b502622d60e517de01e72f95d/yarl-1.23.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71d006bee8397a4a89f469b8deb22469fe7508132d3c17fa6ed871e79832691c", size = 95943, upload-time = "2026-03-01T22:07:21.266Z" }, + { url = "https://files.pythonhosted.org/packages/c0/cc/6409f9018864a6aa186c61175b977131f373f1988e198e031236916e87e4/yarl-1.23.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:62694e275c93d54f7ccedcfef57d42761b2aad5234b6be1f3e3026cae4001cd4", size = 88786, upload-time = "2026-03-01T22:07:23.129Z" }, + { url = "https://files.pythonhosted.org/packages/76/40/cc22d1d7714b717fde2006fad2ced5efe5580606cb059ae42117542122f3/yarl-1.23.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31de1613658308efdb21ada98cbc86a97c181aa050ba22a808120bb5be3ab94", size = 101307, upload-time = "2026-03-01T22:07:24.689Z" }, + { url = "https://files.pythonhosted.org/packages/8f/0d/476c38e85ddb4c6ec6b20b815bdd779aa386a013f3d8b85516feee55c8dc/yarl-1.23.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb1e8b8d66c278b21d13b0a7ca22c41dd757a7c209c6b12c313e445c31dd3b28", size = 100904, upload-time = "2026-03-01T22:07:26.287Z" }, + { url = "https://files.pythonhosted.org/packages/72/32/0abe4a76d59adf2081dcb0397168553ece4616ada1c54d1c49d8936c74f8/yarl-1.23.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50f9d8d531dfb767c565f348f33dd5139a6c43f5cbdf3f67da40d54241df93f6", size = 97728, upload-time = "2026-03-01T22:07:27.906Z" }, + { url = "https://files.pythonhosted.org/packages/b7/35/7b30f4810fba112f60f5a43237545867504e15b1c7647a785fbaf588fac2/yarl-1.23.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:575aa4405a656e61a540f4a80eaa5260f2a38fff7bfdc4b5f611840d76e9e277", size = 95964, upload-time = "2026-03-01T22:07:30.198Z" }, + { url = "https://files.pythonhosted.org/packages/2d/86/ed7a73ab85ef00e8bb70b0cb5421d8a2a625b81a333941a469a6f4022828/yarl-1.23.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:041b1a4cefacf65840b4e295c6985f334ba83c30607441ae3cf206a0eed1a2e4", size = 95882, upload-time = "2026-03-01T22:07:32.132Z" }, + { url = "https://files.pythonhosted.org/packages/19/90/d56967f61a29d8498efb7afb651e0b2b422a1e9b47b0ab5f4e40a19b699b/yarl-1.23.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:d38c1e8231722c4ce40d7593f28d92b5fc72f3e9774fe73d7e800ec32299f63a", size = 90797, upload-time = "2026-03-01T22:07:34.404Z" }, + { url = "https://files.pythonhosted.org/packages/72/00/8b8f76909259f56647adb1011d7ed8b321bcf97e464515c65016a47ecdf0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d53834e23c015ee83a99377db6e5e37d8484f333edb03bd15b4bc312cc7254fb", size = 101023, upload-time = "2026-03-01T22:07:35.953Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e2/cab11b126fb7d440281b7df8e9ddbe4851e70a4dde47a202b6642586b8d9/yarl-1.23.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2e27c8841126e017dd2a054a95771569e6070b9ee1b133366d8b31beb5018a41", size = 96227, upload-time = "2026-03-01T22:07:37.594Z" }, + { url = "https://files.pythonhosted.org/packages/c2/9b/2c893e16bfc50e6b2edf76c1a9eb6cb0c744346197e74c65e99ad8d634d0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:76855800ac56f878847a09ce6dba727c93ca2d89c9e9d63002d26b916810b0a2", size = 100302, upload-time = "2026-03-01T22:07:39.334Z" }, + { url = "https://files.pythonhosted.org/packages/28/ec/5498c4e3a6d5f1003beb23405671c2eb9cdbf3067d1c80f15eeafe301010/yarl-1.23.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e09fd068c2e169a7070d83d3bde728a4d48de0549f975290be3c108c02e499b4", size = 98202, upload-time = "2026-03-01T22:07:41.717Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c3/cd737e2d45e70717907f83e146f6949f20cc23cd4bf7b2688727763aa458/yarl-1.23.0-cp314-cp314t-win32.whl", hash = "sha256:73309162a6a571d4cbd3b6a1dcc703c7311843ae0d1578df6f09be4e98df38d4", size = 90558, upload-time = "2026-03-01T22:07:43.433Z" }, + { url = "https://files.pythonhosted.org/packages/e1/19/3774d162f6732d1cfb0b47b4140a942a35ca82bb19b6db1f80e9e7bdc8f8/yarl-1.23.0-cp314-cp314t-win_amd64.whl", hash = "sha256:4503053d296bc6e4cbd1fad61cf3b6e33b939886c4f249ba7c78b602214fabe2", size = 97610, upload-time = "2026-03-01T22:07:45.773Z" }, + { url = "https://files.pythonhosted.org/packages/51/47/3fa2286c3cb162c71cdb34c4224d5745a1ceceb391b2bd9b19b668a8d724/yarl-1.23.0-cp314-cp314t-win_arm64.whl", hash = "sha256:44bb7bef4ea409384e3f8bc36c063d77ea1b8d4a5b2706956c0d6695f07dcc25", size = 86041, upload-time = "2026-03-01T22:07:49.026Z" }, + { url = "https://files.pythonhosted.org/packages/69/68/c8739671f5699c7dc470580a4f821ef37c32c4cb0b047ce223a7f115757f/yarl-1.23.0-py3-none-any.whl", hash = "sha256:a2df6afe50dea8ae15fa34c9f824a3ee958d785fd5d089063d960bae1daa0a3f", size = 48288, upload-time = "2026-03-01T22:07:51.388Z" }, +] + [[package]] name = "zarr" version = "2.18.7" From 0eabcfc25e01a7db5f03f0ab7d9bd82f58172797 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:43:03 +0000 Subject: [PATCH 25/32] pre-commit fixes --- examples/introduction.ipynb | 64 +++++++++++---------------------- examples/myloader.py | 8 ++--- pyproject.toml | 2 +- src/mxalign/accessors/mx.py | 12 +++++-- src/mxalign/accessors/time.py | 5 +-- src/mxalign/align/space.py | 6 +++- src/mxalign/align/time.py | 8 +++-- tests/test_align_time_global.py | 12 ++++--- tests/test_interpolations.py | 20 ++++++++--- 9 files changed, 70 insertions(+), 67 deletions(-) diff --git a/examples/introduction.ipynb b/examples/introduction.ipynb index 78e0a0e..ff37a5e 100644 --- a/examples/introduction.ipynb +++ b/examples/introduction.ipynb @@ -852,10 +852,7 @@ "\n", "# Using xarray to open the netCDF-file\n", "ds_fcst1 = xr.open_dataset(\n", - " DS_PATH,\n", - " engine=\"h5netcdf\",\n", - " storage_options=STORAGE_OPTS,\n", - " chunks=\"auto\"\n", + " DS_PATH, engine=\"h5netcdf\", storage_options=STORAGE_OPTS, chunks=\"auto\"\n", ")\n", "ds_fcst1" ] @@ -1784,10 +1781,7 @@ "LOADER = \"mlwp_data_loaders.loaders.anemoi.anemoi_inference\"\n", "\n", "ds_fcst2, report = load_and_validate_dataset(\n", - " DS_PATH, \n", - " loader=LOADER,\n", - " storage_options=STORAGE_OPTS,\n", - " return_validation_report=True\n", + " DS_PATH, loader=LOADER, storage_options=STORAGE_OPTS, return_validation_report=True\n", ")\n", "ds_fcst2" ] @@ -2762,6 +2756,7 @@ ], "source": [ "import mxalign as mx\n", + "\n", "# anemoi-inference forecasts\n", "DS_PATH = [\n", " \"s3://mlwp-sample-datasets/anemoi-inference/unknown-revision/\"\n", @@ -2771,9 +2766,7 @@ "]\n", "\n", "ds_fcst = load_and_validate_dataset(\n", - " DS_PATH, \n", - " loader=LOADER,\n", - " storage_options=STORAGE_OPTS\n", + " DS_PATH, loader=LOADER, storage_options=STORAGE_OPTS\n", ")\n", "\n", "ds_fcst" @@ -3588,7 +3581,7 @@ } ], "source": [ - "# TIME \n", + "# TIME\n", "if ds_fcst.mx.is_forecast():\n", " print(\"Dataset is a forecast\")\n", "if ds_fcst.mx.is_observation():\n", @@ -6964,7 +6957,7 @@ "metadata": {}, "outputs": [], "source": [ - "DS_SYNOP = \"s3://mxalign/mlwp-sample-datasets/custom/synop_20200201-20200207.nc\"\n" + "DS_SYNOP = \"s3://mxalign/mlwp-sample-datasets/custom/synop_20200201-20200207.nc\"" ] }, { @@ -7656,7 +7649,7 @@ " engine=\"h5netcdf\",\n", " storage_options={\n", " \"endpoint_url\": ENDPOINT_URL,\n", - " }\n", + " },\n", ")\n", "ds_synop.load()" ] @@ -8936,10 +8929,7 @@ } ], "source": [ - "ds_synop = load_and_validate_dataset(\n", - " DS_SYNOP,\n", - " loader=\"myloader.py\"\n", - ")\n", + "ds_synop = load_and_validate_dataset(DS_SYNOP, loader=\"myloader.py\")\n", "ds_synop" ] }, @@ -9832,10 +9822,7 @@ } ], "source": [ - "t2m_fcst = ds_fcst_aligned.isel(\n", - " reference_time=0, \n", - " lead_time=10\n", - ")[\"2t\"].compute()\n", + "t2m_fcst = ds_fcst_aligned.isel(reference_time=0, lead_time=10)[\"2t\"].compute()\n", "\n", "ax = plt.subplot(1, 1, 1, projection=ds_fcst_aligned.attrs[\"crs\"])\n", "im = ax.scatter(\n", @@ -10706,9 +10693,11 @@ ], "source": [ "mx.interpolate(\n", - " source_datasets=[ds_fcst, ],\n", + " source_datasets=[\n", + " ds_fcst,\n", + " ],\n", " target_dataset=ds_synop,\n", - " method=\"xarray\"\n", + " method=\"xarray\",\n", ")" ] }, @@ -12218,7 +12207,7 @@ " cmap=\"RdBu_r\",\n", " s=2,\n", " vmax=1.5,\n", - " vmin=-1.5\n", + " vmin=-1.5,\n", ")\n", "ax.coastlines()\n", "plt.colorbar(im)" @@ -14365,12 +14354,7 @@ ], "source": [ "# Calculate RMSE by averaging over all dimension except lead time\n", - "rmse = np.sqrt(\n", - " mse.mean(\n", - " [\"reference_time\", \"point_index\"],\n", - " skipna=True\n", - " )\n", - ")\n", + "rmse = np.sqrt(mse.mean([\"reference_time\", \"point_index\"], skipna=True))\n", "\n", "# Plot\n", "rmse[\"2t\"].assign_coords(\n", @@ -14964,12 +14948,12 @@ "# Or use some specialized packages\n", "import xskillscore as xs\n", "\n", - "vars = [\"2t\"] #, \"10si\", \"msl\", \"2d\"]\n", + "vars = [\"2t\"] # , \"10si\", \"msl\", \"2d\"]\n", "rmse_2 = xs.rmse(\n", - " a=ds_fcst_transformed[vars].chunk({\"reference_time\":-1}),\n", + " a=ds_fcst_transformed[vars].chunk({\"reference_time\": -1}),\n", " b=ds_obs_aligned[vars],\n", " dim=[\"reference_time\", \"point_index\"],\n", - " skipna=True\n", + " skipna=True,\n", ")\n", "rmse_2.compute()" ] @@ -15016,20 +15000,12 @@ "# Plot both scores\n", "rmse[\"2t\"].assign_coords(\n", " lead_time_h=rmse.lead_time.astype(\"timedelta64[h]\") / 3600\n", - ").plot(\n", - " x=\"lead_time_h\", \n", - " c=\"black\",\n", - " lw=5\n", - ")\n", + ").plot(x=\"lead_time_h\", c=\"black\", lw=5)\n", "\n", "ax = plt.gca()\n", "rmse_2[\"2t\"].assign_coords(\n", " lead_time_h=rmse.lead_time.astype(\"timedelta64[h]\") / 3600\n", - ").plot(\n", - " x=\"lead_time_h\",\n", - " ax=ax,\n", - " c=\"green\"\n", - ")\n" + ").plot(x=\"lead_time_h\", ax=ax, c=\"green\")" ] } ], diff --git a/examples/myloader.py b/examples/myloader.py index 62cbbf1..f47c8b1 100644 --- a/examples/myloader.py +++ b/examples/myloader.py @@ -1,15 +1,15 @@ import xarray as xr -import dask + def load_dataset(file): - ds = xr.open_mfdataset([file], engine='h5netcdf') + ds = xr.open_mfdataset([file], engine="h5netcdf") ds = ds.rename_dims(code="point_index") ds.attrs["mlwp_time_trait"] = "observation" ds.attrs["mlwp_space_trait"] = "point" ds.attrs["mlwp_uncertainty_trait"] = "deterministic" - + ds.coords["valid_time"].attrs["standard_name"] = "time" ds.coords["latitude"].attrs.update( {"standard_name": "latitude", "units": "degrees_north"} @@ -18,4 +18,4 @@ def load_dataset(file): {"standard_name": "longitude", "units": "degrees_east"} ) - return ds \ No newline at end of file + return ds diff --git a/pyproject.toml b/pyproject.toml index 9eff1a9..3a7ad16 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,5 +50,5 @@ dev = [ "pytest>=8.0", ] -[tool.uv.sources] +[tool.uv.sources] mlwp-data-loaders = { git = "https://github.com/mlwp-tools/mlwp-data-loaders", branch = "main" } diff --git a/src/mxalign/accessors/mx.py b/src/mxalign/accessors/mx.py index 02692fa..361056f 100644 --- a/src/mxalign/accessors/mx.py +++ b/src/mxalign/accessors/mx.py @@ -189,16 +189,22 @@ def align_time_with(self, ds2, lead_time="shortest"): Ignored for observation→* cases. """ if self.is_forecast() and ds2.mx.is_observation(): - return _time.align_forecast_to_observation(self._ds, ds2, lead_time=lead_time) + return _time.align_forecast_to_observation( + self._ds, ds2, lead_time=lead_time + ) elif self.is_observation() and ds2.mx.is_forecast(): return _time.align_observation_to_forecast(self._ds, ds2) elif self.is_observation() and ds2.mx.is_observation(): return _time.align_observation_to_observation(self._ds, ds2) elif self.is_forecast() and ds2.mx.is_forecast(): ff_lead_time = ( - lead_time if lead_time in ("reference", "intersection", "union") else "reference" + lead_time + if lead_time in ("reference", "intersection", "union") + else "reference" + ) + return _time.align_forecast_to_forecast( + self._ds, ds2, lead_time=ff_lead_time ) - return _time.align_forecast_to_forecast(self._ds, ds2, lead_time=ff_lead_time) else: raise ValueError("Cannot align datasets with unknown time properties") diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py index d957c66..437e846 100644 --- a/src/mxalign/accessors/time.py +++ b/src/mxalign/accessors/time.py @@ -1,6 +1,5 @@ import numpy as np import pandas as pd -import xarray as xr from mlwp_data_specs.api import TIME_TRAIT_ATTR from mlwp_data_specs.specs.traits.time_coordinate import Time @@ -17,7 +16,9 @@ def _add_valid_time(ds_fcst): def align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): ds_with_vt = _add_valid_time(ds_fcst) - ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index("time") + ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index( + "time" + ) vt_vals = ds_stacked.valid_time.values lt_vals = ds_stacked.lead_time.values diff --git a/src/mxalign/align/space.py b/src/mxalign/align/space.py index fded198..8753c44 100644 --- a/src/mxalign/align/space.py +++ b/src/mxalign/align/space.py @@ -18,7 +18,11 @@ def align_space(datasets, reference, **kwargs): ds_list = list(datasets.values()) ref_ds = datasets[reference] if isinstance(reference, str) else reference else: - ds_list = [datasets] if isinstance(datasets, (xr.Dataset, xr.DataArray)) else list(datasets) + ds_list = ( + [datasets] + if isinstance(datasets, (xr.Dataset, xr.DataArray)) + else list(datasets) + ) keys = None ref_ds = reference diff --git a/src/mxalign/align/time.py b/src/mxalign/align/time.py index b29a9ef..4e38a97 100644 --- a/src/mxalign/align/time.py +++ b/src/mxalign/align/time.py @@ -77,7 +77,9 @@ def _align_time_global(ds_list, forecasts, ref_ds): # data — outer-aligning a coord-DataArray NaN-fills the data where the # index extends, but the coord itself carries the correct union. - r_star = xr.align(*[f.reference_time for f in forecasts], join="inner")[0].reference_time + r_star = xr.align(*[f.reference_time for f in forecasts], join="inner")[ + 0 + ].reference_time l_star = xr.align(*[f.lead_time for f in forecasts], join="outer")[0].lead_time n_r = r_star.size @@ -86,7 +88,9 @@ def _align_time_global(ds_list, forecasts, ref_ds): logger.warning( "Global time alignment: pruned %d reference_time(s) (%d → %d) " "whose (r + l) falls outside the reference observation's range.", - n_r - r_star.size, n_r, r_star.size, + n_r - r_star.size, + n_r, + r_star.size, ) # xarray broadcasts r_star (reference_time) + l_star (lead_time) → 2D diff --git a/tests/test_align_time_global.py b/tests/test_align_time_global.py index 1368777..71f0cf4 100644 --- a/tests/test_align_time_global.py +++ b/tests/test_align_time_global.py @@ -165,7 +165,9 @@ def test_both_observations_reshape_to_forecast_grid(self): f1 = fcst(["2020-01-02", "2020-01-03"], ["0h", "6h", "12h"]) f2 = fcst(["2020-01-02", "2020-01-03"], ["6h", "12h", "18h"]) o1 = obs(pd.date_range("2020-01-01", "2020-01-05", freq="3h"), offset=100.0) - o2 = obs(pd.date_range("2020-01-02 06", "2020-01-03 18", freq="6h"), offset=200.0) + o2 = obs( + pd.date_range("2020-01-02 06", "2020-01-03 18", freq="6h"), offset=200.0 + ) out = align_time({"f1": f1, "f2": f2, "o1": o1, "o2": o2}, reference="o1") @@ -195,7 +197,9 @@ def test_forecast_reference_uses_pairwise(self): np.testing.assert_array_equal( out["f1"].reference_time.values, f_ref.reference_time.values ) - np.testing.assert_array_equal(out["f1"].lead_time.values, f_ref.lead_time.values) + np.testing.assert_array_equal( + out["f1"].lead_time.values, f_ref.lead_time.values + ) assert out["ref"] is f_ref def test_all_observations_uses_pairwise(self): @@ -205,7 +209,5 @@ def test_all_observations_uses_pairwise(self): out = align_time({"o1": o1, "o2": o2}, reference="o2") - np.testing.assert_array_equal( - out["o1"].valid_time.values, o2.valid_time.values - ) + np.testing.assert_array_equal(out["o1"].valid_time.values, o2.valid_time.values) assert out["o1"].mx.is_observation() diff --git a/tests/test_interpolations.py b/tests/test_interpolations.py index 3311735..40846d3 100644 --- a/tests/test_interpolations.py +++ b/tests/test_interpolations.py @@ -37,7 +37,9 @@ def grid_latlon(): @pytest.fixture def grid_stacked(grid_latlon): """grid_latlon stacked to grid_index (required by DelaunayInterpolator).""" - return grid_latlon.stack(grid_index=["latitude", "longitude"]).reset_index("grid_index") + return grid_latlon.stack(grid_index=["latitude", "longitude"]).reset_index( + "grid_index" + ) @pytest.fixture @@ -78,8 +80,12 @@ def test_output_has_point_index_dim(self, grid_latlon, target_points): def test_output_has_latlon_coords_from_target(self, grid_latlon, target_points): result = XarrayInterpolator(target_points)._interpolate(grid_latlon) - np.testing.assert_array_equal(result["latitude"].values, target_points["latitude"].values) - np.testing.assert_array_equal(result["longitude"].values, target_points["longitude"].values) + np.testing.assert_array_equal( + result["latitude"].values, target_points["latitude"].values + ) + np.testing.assert_array_equal( + result["longitude"].values, target_points["longitude"].values + ) def test_outside_domain_is_nan(self, grid_latlon): far_point = xr.Dataset( @@ -119,8 +125,12 @@ def test_output_has_point_index_dim(self, grid_stacked, target_points): def test_output_has_latlon_coords_from_target(self, grid_stacked, target_points): result = DelaunayInterpolator(target_points)._interpolate(grid_stacked) - np.testing.assert_array_equal(result["latitude"].values, target_points["latitude"].values) - np.testing.assert_array_equal(result["longitude"].values, target_points["longitude"].values) + np.testing.assert_array_equal( + result["latitude"].values, target_points["latitude"].values + ) + np.testing.assert_array_equal( + result["longitude"].values, target_points["longitude"].values + ) def test_weight_matrix_is_cached(self, grid_stacked, target_points): interp = DelaunayInterpolator(target_points) From fb289a4e0884ae320332d8c0640bf6b3e3dd71fc Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 12:58:57 +0000 Subject: [PATCH 26/32] fix docstrings for utils --- src/mxalign/utils/config.py | 15 +++++++--- src/mxalign/utils/dates.py | 43 +++++++++++---------------- src/mxalign/utils/projections.py | 51 ++++++++++++++------------------ src/mxalign/utils/save.py | 19 +++++++++--- src/mxalign/utils/traits.py | 12 ++++++-- 5 files changed, 75 insertions(+), 65 deletions(-) diff --git a/src/mxalign/utils/config.py b/src/mxalign/utils/config.py index 5deb451..a4e0682 100644 --- a/src/mxalign/utils/config.py +++ b/src/mxalign/utils/config.py @@ -4,12 +4,19 @@ def load_yaml(fn: str) -> dict: + """Load a YAML file and return its contents as a dict.""" with open(fn, "r") as f: return yaml.safe_load(f) class Config: - def __init__(self, config: str | dict): + """Pipeline configuration loaded from a YAML file or a plain dict. + + Top-level ``dates`` entries are merged into each dataset's loader config + so that file-path patterns can be expanded to concrete paths. + """ + + def __init__(self, config: str | dict) -> None: self.config = load_yaml(config) if isinstance(config, str) else config if not isinstance(self.config, dict): raise TypeError("config should be a dictionary.") @@ -17,17 +24,17 @@ def __init__(self, config: str | dict): self._init_datasets() print("Config initialized") - def __getitem__(self, key): + def __getitem__(self, key: str) -> dict | None: config = self.config.get(key, None) if config: return config.copy() else: return config - def __call__(self): + def __call__(self) -> dict: return self.config - def _init_datasets(self): + def _init_datasets(self) -> None: for key, loader in self.config["datasets"].items(): dates_loader = loader.pop("dates", None) if self.dates: diff --git a/src/mxalign/utils/dates.py b/src/mxalign/utils/dates.py index 2ad5761..aa6f0c4 100644 --- a/src/mxalign/utils/dates.py +++ b/src/mxalign/utils/dates.py @@ -3,6 +3,20 @@ class Dates: + """Enumerate reference/valid/lead times over a regular date range. + + Parameters + ---------- + start, end: + First and last reference time of the range. + period: + Step between successive reference times (e.g. ``"1D"``). + range: + Forecast horizon — lead times run from 0 to ``range`` inclusive. + step: + Increment between lead times (e.g. ``"1h"``). + """ + def __init__( self, start: str | np.datetime64, @@ -36,10 +50,11 @@ def __init__( # FIXME: can we simplify this? earthkit.data.utils.patterns.Pattern does not accept np.int64 self.lead_times = sorted([int(t.astype(int)) for t in lead_times]) - def substitute(self, path: str): + def substitute(self, path: str) -> list[str]: + """Expand ``path`` pattern over all reference times; return sorted file list.""" pattern = Pattern(path) paths = pattern.substitute( - dict(reference_time=self.reference_times), + (dict(reference_time=self.reference_times),), # dict(lead_time=self.lead_times), # dict(valid_time=self.valid_times), allow_extra=True, @@ -48,29 +63,7 @@ def substitute(self, path: str): def to_timedelta64(freq: str) -> np.timedelta64: - """ - Convert a frequency string to a numpy timedelta64 object. - The frequency string should be in the format of a number followed by a time unit, - e.g. '1D', '2H', '3M', etc. - The time unit can be one of the following: - - 'Y' for years - - 'M' for months - - 'W' for weeks - - 'D' for days - - 'h' for hours - - 'm' for minutes - - 's' for seconds - - 'ms' for milliseconds - Parameters - ---------- - freq : str - The frequency string to convert. - - Returns - ------- - np.timedelta64 - The converted numpy timedelta64 object. - """ + """Convert a frequency string such as ``"6h"`` or ``"1D"`` to :class:`numpy.timedelta64`.""" value = freq[:-1] unit = freq[-1] return np.timedelta64(value, unit) diff --git a/src/mxalign/utils/projections.py b/src/mxalign/utils/projections.py index 2d3cb57..62f9d3c 100644 --- a/src/mxalign/utils/projections.py +++ b/src/mxalign/utils/projections.py @@ -1,50 +1,43 @@ import cartopy.crs as ccrs -def create_cartopy_crs(projection, kws_projection, kws_globe=None) -> ccrs.Projection: - """Create a Cartopy coordinate reference system (CRS) based on the specified projection. - - This function creates a Cartopy projection object using the provided projection name - and associated keyword arguments. +def create_cartopy_crs( + projection: str, + kws_projection: dict, + kws_globe: dict | None = None, +) -> ccrs.Projection: + """Build a Cartopy CRS from a projection name and keyword dicts. Parameters ---------- - projection : str - Name of the projection to create. Must be one of the supported projections - defined in PROJECTIONS. - projection_kws : dict[str, str] - Dictionary of keyword arguments to pass to the projection constructor. - globe_kws: dict[str, str], optional - Optional globe parameters which will be used to create a ccrs.Globe object. + projection: + Key into :data:`PROJECTIONS` (e.g. ``"lcc"``, ``"latlon"``). + kws_projection: + Keyword arguments forwarded to the projection constructor. + kws_globe: + Optional keyword arguments forwarded to :class:`cartopy.crs.Globe`. - Returns - ------- - ccrs.Projection - The created Cartopy projection object. Raises ------ - AssertionError - If the specified projection is not supported (not in PROJECTIONS). - - Examples - -------- - >>> projection_kws = {'central_longitude': 0,} - >>> globe_kws = {'ellipse': 'WGS84'}} - >>> crs = create_cartopy_crs('latlon', projection_kws, globe_kws) + ValueError + If ``projection`` is not a key in :data:`PROJECTIONS`. """ - # - Get the cartopy projection (crs) + # - Get the cartopy projection class try: - projection = PROJECTIONS[projection] + proj_cls = PROJECTIONS[projection] except KeyError: raise ValueError(f"Unsupported projection: {projection}") - kws_projection.copy() - # - Move globe keywords to different dictionary + # copy projection kws to avoid mutating caller's dict + kws_projection = kws_projection.copy() + + # - Build globe if keywords provided + globe = None if kws_globe: globe = ccrs.Globe(**kws_globe) - crs = projection(globe=globe, **kws_projection) + crs = proj_cls(globe=globe, **kws_projection) return crs diff --git a/src/mxalign/utils/save.py b/src/mxalign/utils/save.py index b56b19c..c102720 100644 --- a/src/mxalign/utils/save.py +++ b/src/mxalign/utils/save.py @@ -1,8 +1,16 @@ +import xarray as xr from earthkit.data.utils.patterns import Pattern class DatasetPath: - def __init__(self, name, ds): + """Resolve a path pattern to a concrete file path using date components from a dataset. + + The dominant year/month/day (by count) in ``reference_time`` (forecast) or + ``valid_time`` (observation) is used to fill ``{year}``, ``{month}``, ``{day}`` + placeholders via :meth:`substitute`. + """ + + def __init__(self, name: str, ds: xr.Dataset) -> None: self.name = name if ds.mx.is_forecast(): years = ds["reference_time"].groupby(ds["reference_time"].dt.year).count() @@ -35,7 +43,8 @@ def __init__(self, name, ds): days = ds_day["valid_time"].groupby(ds_day["valid_time"].dt.day).count() self.day = int(days.isel(day=days.argmax())["day"].values) - def substitute(self, path: str): + def substitute(self, path: str) -> str: + """Expand ``path`` pattern with ``{name}``, ``{year}``, ``{month}``, ``{day}``.""" pattern = Pattern(path) path = pattern.substitute( dict(name=self.name), @@ -47,7 +56,8 @@ def substitute(self, path: str): return path -def save_dataset(method, name, ds, **kwargs): +def save_dataset(method: str, name: str, ds: xr.Dataset, **kwargs) -> None: + """Save ``ds`` to a path derived from its dominant date using ``ds.``.""" save_fn = getattr(ds, method) dataset = DatasetPath(name, ds) path = dataset.substitute(kwargs.pop("path")) @@ -55,7 +65,8 @@ def save_dataset(method, name, ds, **kwargs): save_fn(path, **kwargs) -def save_metrics(method, ds, **kwargs): +def save_metrics(method: str, ds: xr.Dataset, **kwargs) -> None: + """Save ``ds`` to a fixed path using ``ds.``.""" save_fn = getattr(ds, method) path = kwargs.pop("path") print(f"Saving to {path}") diff --git a/src/mxalign/utils/traits.py b/src/mxalign/utils/traits.py index cb6b1f9..acac041 100644 --- a/src/mxalign/utils/traits.py +++ b/src/mxalign/utils/traits.py @@ -1,3 +1,5 @@ +import xarray as xr + from mlwp_data_specs.api import ( TIME_TRAIT_ATTR, SPACE_TRAIT_ATTR, @@ -14,24 +16,28 @@ validate_dataset as validate_time_dataset, ) +from mlwp_data_specs.specs.traits.uncertainty import Uncertainty from mlwp_data_specs.specs.traits.uncertainty import ( validate_dataset as validate_uncertainty_dataset, ) -def update_space_trait(ds, new_trait: Space): +def update_space_trait(ds: xr.Dataset, new_trait: Space) -> xr.Dataset: + """Validate and set the space trait attribute on ``ds`` in-place.""" validate_space_dataset(ds, trait=new_trait) ds.attrs[SPACE_TRAIT_ATTR] = new_trait.value return ds -def update_time_trait(ds, new_trait: Time): +def update_time_trait(ds: xr.Dataset, new_trait: Time) -> xr.Dataset: + """Validate and set the time trait attribute on ``ds`` in-place.""" validate_time_dataset(ds, trait=new_trait) ds.attrs[TIME_TRAIT_ATTR] = new_trait.value return ds -def update_uncertainty_trait(ds, new_trait: Time): +def update_uncertainty_trait(ds: xr.Dataset, new_trait: Uncertainty) -> xr.Dataset: + """Validate and set the uncertainty trait attribute on ``ds`` in-place.""" validate_uncertainty_dataset(ds, trait=new_trait) ds.attrs[UNCERTAINTY_TRAIT_ATTR] = new_trait.value return ds From ae1b0dc4301940dcc775f697195e9562d45bc765 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Tue, 23 Jun 2026 13:11:07 +0000 Subject: [PATCH 27/32] add docstrings to accessors --- src/mxalign/accessors/mx.py | 75 ++++++++++++++++++++++------------ src/mxalign/accessors/space.py | 7 +++- src/mxalign/accessors/time.py | 20 ++++++--- 3 files changed, 68 insertions(+), 34 deletions(-) diff --git a/src/mxalign/accessors/mx.py b/src/mxalign/accessors/mx.py index 361056f..8a09c22 100644 --- a/src/mxalign/accessors/mx.py +++ b/src/mxalign/accessors/mx.py @@ -13,30 +13,37 @@ @xr.register_dataset_accessor("mx") class MxAccessor: - def __init__(self, ds): + """``ds.mx`` accessor — space/time predicates and alignment operations. + + Reads ``mlwp_space_trait`` and ``mlwp_time_trait`` from ``ds.attrs`` at + construction time; raises ``KeyError`` if either attribute is missing. + """ + + def __init__(self, ds: xr.Dataset) -> None: self._space = Space(ds.attrs[SPACE_TRAIT_ATTR]) self._time = Time(ds.attrs[TIME_TRAIT_ATTR]) self._ds = ds # --- Space predicates --- - def is_grid(self): + def is_grid(self) -> bool: return self._space == Space.GRID - def is_point(self): + def is_point(self) -> bool: return self._space == Space.POINT # --- Time predicates --- - def is_forecast(self): + def is_forecast(self) -> bool: return self._time == Time.FORECAST - def is_observation(self): + def is_observation(self) -> bool: return self._time == Time.OBSERVATION # --- Space operations --- - def add_crs(self, crs): + def add_crs(self, crs: str | dict | ccrs.Projection) -> xr.Dataset: + """Attach a Cartopy CRS to ``ds.attrs["crs"]``; accepts a name, config dict, or CRS object.""" if self.is_point(): raise ValueError("Cannot add CRS to a point dataset") if isinstance(crs, str): @@ -52,7 +59,8 @@ def add_crs(self, crs): ) return self._ds.assign_attrs({"crs": crs}) - def add_grid_mapping(self, grid_mapping: str | dict): + def add_grid_mapping(self, grid_mapping: str | dict) -> xr.Dataset: + """Attach a grid-mapping dict to ``ds.attrs["grid_mapping"]``; accepts a builtin name or dict.""" if self.is_point(): raise ValueError("Cannot add grid mapping to a point dataset") if isinstance(grid_mapping, str): @@ -64,12 +72,13 @@ def add_grid_mapping(self, grid_mapping: str | dict): ) return self._ds.assign_attrs({"grid_mapping": grid_mapping}) - def add_xy(self, crs=None): + def add_xy(self, crs: str | dict | ccrs.Projection | None = None) -> xr.Dataset: + """Project ``longitude``/``latitude`` to ``xc``/``yc`` coordinates using the dataset CRS.""" if crs is not None: self._ds = self.add_crs(crs) - crs = self._ds.attrs.get("crs", None) - if crs is None: + crs_obj = self._ds.attrs.get("crs", None) + if crs_obj is None: raise ValueError("No CRS provided and no CRS found in dataset attributes") if {"longitude", "latitude"}.issubset(self._ds.dims): @@ -79,7 +88,7 @@ def add_xy(self, crs=None): elif {"xc", "yc"}.issubset(self._ds.coords): return self._ds else: - xyz = crs.transform_points( + xyz = crs_obj.transform_points( x=self._ds["longitude"].values, y=self._ds["latitude"].values, src_crs=ccrs.PlateCarree(), @@ -96,7 +105,8 @@ def add_xy(self, crs=None): else: raise ValueError("Dataset does not have expected spatial properties") - def is_stacked(self): + def is_stacked(self) -> bool: + """Return ``True`` if the spatial dims are already collapsed into ``grid_index``.""" if {"xc", "yc"}.issubset(self._ds.dims) or {"longitude", "latitude"}.issubset( self._ds.dims ): @@ -106,7 +116,8 @@ def is_stacked(self): else: raise ValueError("Dataset does not have expected dimensions for GRID") - def stack(self): + def stack(self) -> xr.Dataset: + """Collapse 2-D spatial dims into a flat ``grid_index`` dimension.""" if self.is_point(): raise ValueError("POINT datasets cannot be stacked") if self.is_stacked(): @@ -120,7 +131,8 @@ def stack(self): raise ValueError("Could not find correct dimensions to stack") return self._ds.stack({"grid_index": dims_to_stack}).reset_index("grid_index") - def unstack(self, crs=None, **kwargs): + def unstack(self, crs: str | dict | ccrs.Projection | None = None, **kwargs) -> xr.Dataset: + """Restore a flat ``grid_index`` dim to 2-D ``xc``/``yc`` using grid-mapping metadata.""" if self.is_point(): raise ValueError("POINT datasets cannot be unstacked") if not self.is_stacked(): @@ -128,9 +140,9 @@ def unstack(self, crs=None, **kwargs): else: if crs: self._ds = self.add_crs(crs) - kws_mindex = dict.fromkeys(["nx", "ny", "lon_ll", "lat_ll", "dx", "dy"]) - for key in kws_mindex.keys(): - value = kwargs.get(key, None) + kws_mindex: dict[str, int | float] = {} + for key in ["nx", "ny", "lon_ll", "lat_ll", "dx", "dy"]: + value = kwargs.get(key) if value is None: try: value = self._ds.attrs["grid_mapping"][key] @@ -138,7 +150,12 @@ def unstack(self, crs=None, **kwargs): raise KeyError( f"Did not find a value for {key} in dataset attributes, please provide it as an argument" ) - kws_mindex[key] = value + if value is None: + raise ValueError(f"Value for {key} cannot be None") + if key in ("nx", "ny"): + kws_mindex[key] = int(value) + else: + kws_mindex[key] = float(value) mindex = self._create_multiindex(**kws_mindex) mcoords = xr.Coordinates.from_pandas_multiindex(mindex, "grid_index") @@ -146,7 +163,7 @@ def unstack(self, crs=None, **kwargs): ds_mindex.attrs["grid_mapping"] = kws_mindex return ds_mindex.unstack() - def _create_multiindex(self, nx, ny, lon_ll, lat_ll, dx, dy, **kwargs): + def _create_multiindex(self, nx: int, ny: int, lon_ll: float, lat_ll: float, dx: float, dy: float, **kwargs): from pandas import MultiIndex if self._ds.sizes["grid_index"] != nx * ny: @@ -164,14 +181,15 @@ def _create_multiindex(self, nx, ny, lon_ll, lat_ll, dx, dy, **kwargs): # --- Time operations --- - def add_valid_time(self): + def add_valid_time(self) -> xr.Dataset: + """Add a ``valid_time`` coordinate (``reference_time + lead_time``) to forecast datasets.""" if self.is_forecast(): return _time._add_valid_time(self._ds) return self._ds # --- Alignment --- - def align_time_with(self, ds2, lead_time="shortest"): + def align_time_with(self, ds2: xr.Dataset, lead_time: str | list | np.timedelta64 = "shortest") -> xr.Dataset: """Align this dataset's time axis to match ds2. Always uses "reference" semantics: self is reindexed to ds2's time @@ -197,18 +215,21 @@ def align_time_with(self, ds2, lead_time="shortest"): elif self.is_observation() and ds2.mx.is_observation(): return _time.align_observation_to_observation(self._ds, ds2) elif self.is_forecast() and ds2.mx.is_forecast(): - ff_lead_time = ( - lead_time - if lead_time in ("reference", "intersection", "union") - else "reference" - ) + if isinstance(lead_time, str) and lead_time in ( + "reference", + "intersection", + "union", + ): + ff_lead_time = lead_time + else: + ff_lead_time = "reference" return _time.align_forecast_to_forecast( self._ds, ds2, lead_time=ff_lead_time ) else: raise ValueError("Cannot align datasets with unknown time properties") - def align_space_with(self, ds2, **kwargs): + def align_space_with(self, ds2: xr.Dataset, **kwargs) -> xr.Dataset: """Align this dataset's spatial grid to match ds2. Always uses "reference" semantics: self is interpolated or reindexed to diff --git a/src/mxalign/accessors/space.py b/src/mxalign/accessors/space.py index 15aed4d..0d8930c 100644 --- a/src/mxalign/accessors/space.py +++ b/src/mxalign/accessors/space.py @@ -1,11 +1,13 @@ import numpy as np +import xarray as xr # Tolerance in degrees that the coordinates of two grids can differ while still # being interpreted as the same grid. 0.0001 degrees ~ 10m at 45 deg latitude. COORD_TOLERANCE = 0.0001 -def align_grid_grid(ds1, ds2, **kwargs): +def align_grid_grid(ds1: xr.Dataset, ds2: xr.Dataset, **kwargs) -> xr.Dataset: + """Return ``ds1`` unchanged if its grid matches ``ds2``'s within ``COORD_TOLERANCE``; raises otherwise.""" if np.array_equal( ds1["longitude"].values, ds2["longitude"].values ) and np.array_equal(ds1["latitude"].values, ds2["latitude"].values): @@ -23,7 +25,8 @@ def align_grid_grid(ds1, ds2, **kwargs): raise NotImplementedError("Regridding not implemented") -def align_grid_point(ds1, ds2, method="xarray", **kwargs): +def align_grid_point(ds1: xr.Dataset, ds2: xr.Dataset, method: str = "xarray", **kwargs) -> xr.Dataset: + """Interpolate grid ``ds1`` to the point locations of ``ds2`` using the named interpolator.""" from ..interpolations.registry import get_interpolation interp_cls = get_interpolation(method) diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py index 437e846..4c0410a 100644 --- a/src/mxalign/accessors/time.py +++ b/src/mxalign/accessors/time.py @@ -1,11 +1,13 @@ import numpy as np import pandas as pd +import xarray as xr from mlwp_data_specs.api import TIME_TRAIT_ATTR from mlwp_data_specs.specs.traits.time_coordinate import Time -def _add_valid_time(ds_fcst): +def _add_valid_time(ds_fcst: xr.Dataset) -> xr.Dataset: + """Add a 2-D ``valid_time`` coordinate (``reference_time + lead_time``) to a forecast dataset.""" valid_time = ( ds_fcst["reference_time"].values[:, np.newaxis] + ds_fcst["lead_time"].values ) @@ -14,7 +16,12 @@ def _add_valid_time(ds_fcst): ) -def align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): +def align_forecast_to_observation( + ds_fcst: xr.Dataset, + ds_obs: xr.Dataset, + lead_time: str | list | np.timedelta64 = "shortest", +) -> xr.Dataset: + """Stack ``ds_fcst`` to valid_time, deduplicate by ``lead_time`` strategy, and reindex to ``ds_obs.valid_time``.""" ds_with_vt = _add_valid_time(ds_fcst) ds_stacked = ds_with_vt.stack(time=["reference_time", "lead_time"]).reset_index( "time" @@ -57,7 +64,8 @@ def align_forecast_to_observation(ds_fcst, ds_obs, lead_time="shortest"): return ds_1d -def align_observation_to_forecast(ds_obs, ds_fcst): +def align_observation_to_forecast(ds_obs: xr.Dataset, ds_fcst: xr.Dataset) -> xr.Dataset: + """Broadcast 1-D observations onto ``(reference_time, lead_time)`` by selecting via forecast valid times.""" ds_fcst_with_vt = _add_valid_time(ds_fcst) valid_time_2d = ds_fcst_with_vt["valid_time"] # shape (reference_time, lead_time) @@ -72,11 +80,13 @@ def align_observation_to_forecast(ds_obs, ds_fcst): return ds_out -def align_observation_to_observation(ds1, ds2): +def align_observation_to_observation(ds1: xr.Dataset, ds2: xr.Dataset) -> xr.Dataset: + """Reindex ``ds1`` to ``ds2.valid_time`` with NaN-fill for missing times.""" return ds1.reindex(valid_time=ds2.valid_time) -def align_forecast_to_forecast(ds1, ds2, lead_time="reference"): +def align_forecast_to_forecast(ds1: xr.Dataset, ds2: xr.Dataset, lead_time: str = "reference") -> xr.Dataset: + """Reindex ``ds1`` to ``ds2.reference_time`` and align lead times per ``lead_time`` strategy.""" ds_out = ds1.reindex(reference_time=ds2.reference_time) if lead_time == "reference": From 22a432eb1b5849dfa71f062ce5b3bff77d85d046 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 29 Jun 2026 12:55:49 +0000 Subject: [PATCH 28/32] fix docstring and typehinting --- src/mxalign/align/nans.py | 35 +++++------------------------------ src/mxalign/align/space.py | 15 ++++++++++----- src/mxalign/align/time.py | 12 ++++++++++-- 3 files changed, 25 insertions(+), 37 deletions(-) diff --git a/src/mxalign/align/nans.py b/src/mxalign/align/nans.py index e39f48b..f193612 100644 --- a/src/mxalign/align/nans.py +++ b/src/mxalign/align/nans.py @@ -2,37 +2,12 @@ import itertools -def broadcast_nans(datasets: dict | list) -> None: - """ - Broadcasts NaN values across a list of xarray Datasets by ensuring that if a value is NaN - in one dataset at a specific coordinate, it becomes NaN in all datasets at that coordinate. - - Parameters - ---------- - datasets : list[xr.Dataset] | dict[str, xr.Dataset] - A list of xarray Datasets to process. The datasets should share some common - coordinates and variables. - - Returns - ------- - list[xr.Dataset] | dict[str, xr.Dataset] - - - Notes - ----- - - The function operates on pairs of datasets, comparing each dataset with every other dataset - in the list. - - Only coordinate values that exist in both datasets of a pair are considered. - - Only variables that exist in both datasets of a pair are processed. - - The NaN broadcasting is performed at the intersection of coordinates between each pair - of datasets. +def broadcast_nans( + datasets: xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset], +) -> xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset]: + """Propagate NaN masks across all datasets so a NaN at any coordinate is NaN in all. - Examples - -------- - >>> ds1 = xr.Dataset(...) - >>> ds2 = xr.Dataset(...) - >>> ds3 = xr.Dataset(...) - >>> broadcast_nans([ds1, ds2, ds3]) + Operates pairwise over deep copies; only shared coordinates and variables are considered. """ if isinstance(datasets, xr.Dataset): diff --git a/src/mxalign/align/space.py b/src/mxalign/align/space.py index 8753c44..5d4a2a2 100644 --- a/src/mxalign/align/space.py +++ b/src/mxalign/align/space.py @@ -1,17 +1,22 @@ import xarray as xr -def align_space(datasets, reference, **kwargs): +def align_space( + datasets: xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset], + reference: str | xr.Dataset, + **kwargs, +) -> xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset]: """Align all datasets spatially to a reference dataset. - Each non-reference dataset is aligned by calling ``ds.mx.align_space_with(ref_ds)``. + Each non-reference dataset is aligned via ``ds.mx.align_space_with(ref_ds)``. Extra kwargs are forwarded to ``align_space_with`` (e.g. ``method``). Parameters ---------- - datasets : xr.Dataset, list, or dict of xr.Dataset - reference : str or xr.Dataset - Key into *datasets* dict, or an xr.Dataset to align to. + datasets: + Single dataset, list, or dict of datasets to align. + reference: + Key into *datasets* dict, or a dataset to align to. """ if isinstance(datasets, dict): keys = list(datasets.keys()) diff --git a/src/mxalign/align/time.py b/src/mxalign/align/time.py index 4e38a97..eb4a117 100644 --- a/src/mxalign/align/time.py +++ b/src/mxalign/align/time.py @@ -71,7 +71,11 @@ def align_time( return aligned[0] if len(aligned) == 1 else aligned -def _align_time_global(ds_list, forecasts, ref_ds): +def _align_time_global( + ds_list: list[xr.Dataset], + forecasts: list[xr.Dataset], + ref_ds: xr.Dataset, +) -> list[xr.Dataset]: # R* = intersection of reference_time, L* = union of lead_time. # Pull the aligned *coord* (= the merged index) rather than the array's # data — outer-aligning a coord-DataArray NaN-fills the data where the @@ -110,7 +114,11 @@ def _align_time_global(ds_list, forecasts, ref_ds): return aligned -def _constrain_to_reference(r_star, l_star, ref_vt): +def _constrain_to_reference( + r_star: xr.DataArray, + l_star: xr.DataArray, + ref_vt: xr.DataArray, +) -> xr.DataArray: """Drop ref_times whose ``(r + l)`` falls outside the reference range. A ref_time ``r`` is kept only when every ``l ∈ L*`` yields a valid_time From 8197689408c2e7cbcc5bb6a0c2e57128fd0afde8 Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 29 Jun 2026 12:56:14 +0000 Subject: [PATCH 29/32] fix docstring and typehinting --- src/mxalign/interpolations/base.py | 13 +++++++++---- src/mxalign/interpolations/delaunay.py | 18 +++++++----------- src/mxalign/interpolations/interpolate.py | 10 +++++++++- src/mxalign/interpolations/registry.py | 17 +++++++++++++---- src/mxalign/interpolations/xarray.py | 11 +++++------ 5 files changed, 43 insertions(+), 26 deletions(-) diff --git a/src/mxalign/interpolations/base.py b/src/mxalign/interpolations/base.py index 5134a44..0bf424b 100644 --- a/src/mxalign/interpolations/base.py +++ b/src/mxalign/interpolations/base.py @@ -4,26 +4,31 @@ class BaseInterpolator: - """Base class for all interpolators.""" + """Base class for all interpolators. + + Subclasses must set ``name``, ``source_space``, and ``target_space``, and + implement ``_interpolate``. Subclasses must also copy ``source_dataset.attrs`` + to the output so time/uncertainty traits are preserved. + """ name: str = "base" source_space: Space | None = None target_space: Space | None = None - def __init__(self, target_dataset, **options): + def __init__(self, target_dataset: xr.Dataset, **options) -> None: self.target_dataset = target_dataset self.options = options # TODO: Check the properties - # def supports(self, src: Properties, tgt: Properties): - def interpolate( self, source_dataset: xr.Dataset | xr.DataArray ) -> xr.Dataset | xr.DataArray: + """Run interpolation and set the output space trait to ``target_space``.""" ds_out = self._interpolate(source_dataset) return update_space_trait(ds_out, self.target_space) def _interpolate( self, source_dataset: xr.Dataset | xr.DataArray ) -> xr.Dataset | xr.DataArray: + """Perform the interpolation; subclasses must override this.""" pass diff --git a/src/mxalign/interpolations/delaunay.py b/src/mxalign/interpolations/delaunay.py index 457d600..675a59c 100644 --- a/src/mxalign/interpolations/delaunay.py +++ b/src/mxalign/interpolations/delaunay.py @@ -22,16 +22,16 @@ class DelaunayInterpolator(BaseInterpolator): source_space = Space.GRID target_space = Space.POINT - def __init__(self, target_dataset, **options): + def __init__(self, target_dataset: xr.Dataset, **options) -> None: super().__init__(target_dataset, **options) method = self.options.get("method", "linear") - self._W_cache = {} # keyed by source grid hash + self._W_cache: dict = {} # keyed by source grid hash if method != "linear": raise ValueError( f"Method: {method}. Delaunay interpolation only supports linear interpolation" ) - def _get_weights(self, source_points, target_points): + def _get_weights(self, source_points: np.ndarray, target_points: np.ndarray) -> csr_matrix: key = ( source_points.shape, source_points[0, 0], @@ -44,7 +44,7 @@ def _get_weights(self, source_points, target_points): ) return self._W_cache[key] - def _interpolate(self, source_dataset): + def _interpolate(self, source_dataset: xr.Dataset) -> xr.Dataset: if "grid_index" not in source_dataset.dims: raise NotImplementedError( "Delaunay interpolation currently only supports stacked grids" @@ -94,13 +94,7 @@ def _build_weight_matrix( source_points: np.ndarray, target_points: np.ndarray, ) -> csr_matrix: - """ - Precompute a sparse (n_target, n_source) weight matrix from the triangulation. - - Applying W to a (n_source,) value vector gives (n_target,) interpolated values - via a simple sparse matrix multiply. Target points outside the convex hull - receive NaN weights. - """ + """Build a sparse ``(n_target, n_source)`` barycentric weight matrix; points outside the convex hull get NaN weights.""" print("Calculating interpolation-weight matrix") @@ -149,6 +143,7 @@ def _build_weight_matrix( def interpolate_da( da: xr.DataArray, W: csr_matrix, target_points: np.ndarray ) -> xr.DataArray: + """Apply weight matrix ``W`` to ``da`` over its ``grid_index`` dim, returning a ``point_index`` DataArray.""" n_target = len(target_points) leading_dims = da.dims[:-1] @@ -207,6 +202,7 @@ def interpolate_block( W: csr_matrix, target_points: np.ndarray, ) -> xr.DataArray: + """Single-block sparse matmul used by ``map_blocks`` inside ``interpolate_da``.""" data = block.values # shape = (.., npoints) original_shape = data.shape[:-1] data_flat = data.reshape( diff --git a/src/mxalign/interpolations/interpolate.py b/src/mxalign/interpolations/interpolate.py index daeea52..cc9d9ce 100644 --- a/src/mxalign/interpolations/interpolate.py +++ b/src/mxalign/interpolations/interpolate.py @@ -1,7 +1,15 @@ +import xarray as xr + from .registry import get_interpolation -def interpolate(source_datasets, target_dataset, method, **kwargs): +def interpolate( + source_datasets: xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset], + target_dataset: xr.Dataset, + method: str, + **kwargs, +) -> xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset]: + """Interpolate one or more source datasets to ``target_dataset`` using the named interpolator.""" interp_cls = get_interpolation(method) interpolator = interp_cls(target_dataset, **kwargs) diff --git a/src/mxalign/interpolations/registry.py b/src/mxalign/interpolations/registry.py index 0d02a3a..9148993 100644 --- a/src/mxalign/interpolations/registry.py +++ b/src/mxalign/interpolations/registry.py @@ -1,16 +1,25 @@ -_INTERPOLATORS = {} +_INTERPOLATORS: dict[str, type] = {} -def register_interpolator(cls): +def register_interpolator(cls: type) -> type: + """Register an interpolator class under ``cls.name``; returns the class unchanged.""" _INTERPOLATORS[cls.name] = cls return cls -def available_interpolations(): +def available_interpolations() -> list[str]: + """Return the names of all registered interpolators.""" return list(_INTERPOLATORS.keys()) -def get_interpolation(name): +def get_interpolation(name: str) -> type: + """Return the interpolator class registered under ``name``. + + Raises + ------ + ValueError + If ``name`` is not registered. + """ try: return _INTERPOLATORS[name] except KeyError: diff --git a/src/mxalign/interpolations/xarray.py b/src/mxalign/interpolations/xarray.py index 403029c..3b6d201 100644 --- a/src/mxalign/interpolations/xarray.py +++ b/src/mxalign/interpolations/xarray.py @@ -11,8 +11,7 @@ class XarrayInterpolator(BaseInterpolator): source_space = Space.GRID target_space = Space.POINT - def _interpolate(self, source_dataset): - + def _interpolate(self, source_dataset: xr.Dataset) -> xr.Dataset: if "latitude" in source_dataset.dims and "longitude" in source_dataset.dims: ds_out = self._interpolate_from_latlon(source_dataset) @@ -27,7 +26,8 @@ def _interpolate(self, source_dataset): ds_out = self._interpolate_from_xcyc(source_dataset) return ds_out - def _interpolate_from_xcyc(self, source_dataset): + def _interpolate_from_xcyc(self, source_dataset: xr.Dataset) -> xr.Dataset: + """Interpolate a projected (xc/yc) source to target lon/lat points.""" import cartopy.crs as ccrs try: @@ -42,7 +42,6 @@ def _interpolate_from_xcyc(self, source_dataset): ) x = xr.DataArray(xyz[:, 0], dims="point_index") - y = xr.DataArray(xyz[:, 1], dims="point_index") ds_out = source_dataset.interp(xc=x, yc=y, **self.options) @@ -52,11 +51,11 @@ def _interpolate_from_xcyc(self, source_dataset): ) return ds_out - def _interpolate_from_latlon(self, source_dataset): + def _interpolate_from_latlon(self, source_dataset: xr.Dataset) -> xr.Dataset: + """Interpolate a lat/lon-dim source directly to target lon/lat points.""" longitude = self.target_dataset["longitude"] latitude = self.target_dataset["latitude"] ds_out = source_dataset.interp( longitude=longitude, latitude=latitude, **self.options ) - return ds_out From d4b218319981e3dd4243b998c200a286523ee62e Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 29 Jun 2026 12:56:26 +0000 Subject: [PATCH 30/32] fix docstring and typehinting --- src/mxalign/transformations/base.py | 24 ++++++++++-------- src/mxalign/transformations/external.py | 32 ++++++++++++++++++------ src/mxalign/transformations/registry.py | 21 ++++++++++++---- src/mxalign/transformations/transform.py | 10 +++++++- 4 files changed, 63 insertions(+), 24 deletions(-) diff --git a/src/mxalign/transformations/base.py b/src/mxalign/transformations/base.py index 0638353..83d740c 100644 --- a/src/mxalign/transformations/base.py +++ b/src/mxalign/transformations/base.py @@ -1,36 +1,38 @@ +import xarray as xr + from .registry import register_transformation @register_transformation("rename") -def transform_rename(ds, rename_dict): +def transform_rename(ds: xr.Dataset, rename_dict: dict[str, list[str]]) -> xr.Dataset: + """Rename variables in ``ds``; ``rename_dict`` maps new names to lists of old names.""" new_dict = {} for new_name, old_names in rename_dict.items(): for name in ds.keys(): if name in old_names: new_dict[name] = new_name - else: - pass return ds.rename(new_dict) @register_transformation("kelvin_to_celcius") -def transform_kelvin_to_celcius(ds, variables, inverse=False): +def transform_kelvin_to_celcius( + ds: xr.Dataset, + variables: str | list[str], + inverse: bool = False, +) -> xr.Dataset: + """Convert ``variables`` between Kelvin and Celsius; set ``inverse=True`` for °C → K.""" T_C2K = 273.15 if isinstance(variables, str): variables = [variables] - if inverse: - t = T_C2K - else: - t = -T_C2K - + t = T_C2K if inverse else -T_C2K for var in variables: ds[var] = ds[var] + t - return ds @register_transformation("uv_to_speed") -def transform(ds, u, v, speed): +def transform(ds: xr.Dataset, u: str, v: str, speed: str) -> xr.Dataset: + """Compute wind speed from ``u`` and ``v`` components and store it as ``speed``.""" import numpy as np result = np.sqrt(ds[u] ** 2 + ds[v] ** 2) diff --git a/src/mxalign/transformations/external.py b/src/mxalign/transformations/external.py index aa97e69..00ed7c3 100644 --- a/src/mxalign/transformations/external.py +++ b/src/mxalign/transformations/external.py @@ -1,20 +1,38 @@ +from collections.abc import Callable + +import xarray as xr + from .registry import register_transformation @register_transformation("external") -def transform(ds, func_path, inputs, output, **kwargs): - func = _resolve_function(func_path) +def transform( + ds: xr.Dataset, + func_path: str, + inputs: dict[str, str], + output: str, + **kwargs, +) -> xr.Dataset: + """Call an external function and store its result as ``output`` in ``ds``. + Parameters + ---------- + func_path: + Dotted path to the function, e.g. ``"mypackage.module.func"``. + inputs: + Mapping of function argument names to variable names in ``ds``. + output: + Name of the new variable written back into ``ds``. + """ + func = _resolve_function(func_path) input_kwargs = {arg_name: ds[var_name] for arg_name, var_name in inputs.items()} - - all_kwargs = {**input_kwargs, **kwargs} - result = func(**all_kwargs) - # print(result) + result = func(**{**input_kwargs, **kwargs}) ds[output] = (ds.dims, result) return ds -def _resolve_function(func_path): +def _resolve_function(func_path: str) -> Callable: + """Import and return the callable at ``func_path`` (e.g. ``"pkg.module.func"``).""" import importlib module_path, func_name = func_path.rsplit(".", 1) diff --git a/src/mxalign/transformations/registry.py b/src/mxalign/transformations/registry.py index be6378d..0695223 100644 --- a/src/mxalign/transformations/registry.py +++ b/src/mxalign/transformations/registry.py @@ -1,19 +1,30 @@ -_TRANSFORMATION_REGISTRY = {} +from collections.abc import Callable +_TRANSFORMATION_REGISTRY: dict[str, Callable] = {} -def register_transformation(name): - def decorator(func): + +def register_transformation(name: str) -> Callable: + """Decorator that registers a transformation function under ``name``.""" + def decorator(func: Callable) -> Callable: _TRANSFORMATION_REGISTRY[name] = func return func return decorator -def available_transformations(): +def available_transformations() -> list[str]: + """Return the names of all registered transformations.""" return list(_TRANSFORMATION_REGISTRY.keys()) -def get_transformation(name): +def get_transformation(name: str) -> Callable: + """Return the transformation function registered under ``name``. + + Raises + ------ + ValueError + If ``name`` is not registered. + """ try: return _TRANSFORMATION_REGISTRY[name] except KeyError: diff --git a/src/mxalign/transformations/transform.py b/src/mxalign/transformations/transform.py index 8bfa7a9..8050d2b 100644 --- a/src/mxalign/transformations/transform.py +++ b/src/mxalign/transformations/transform.py @@ -1,7 +1,15 @@ +import xarray as xr + from .registry import get_transformation -def transform(name, datasets, *args, **kwargs): +def transform( + name: str, + datasets: xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset], + *args, + **kwargs, +) -> xr.Dataset | list[xr.Dataset] | dict[str, xr.Dataset]: + """Apply the named transformation to one or more datasets; returns the same container type.""" transform = get_transformation(name) if isinstance(datasets, dict): keys = list(datasets.keys()) From 03d50794c005f2cedc4e3a1f2406e006dae9749c Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 29 Jun 2026 12:56:41 +0000 Subject: [PATCH 31/32] add custom loader --- examples/config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/config.yaml b/examples/config.yaml index 2a73fc6..27ee95d 100644 --- a/examples/config.yaml +++ b/examples/config.yaml @@ -7,17 +7,17 @@ dates: datasets: la-1024-ea-00: - loader: anemoi-inference + loader: mlwp_data_loaders.loaders.anemoi.anemoi_inference files: /scratch/project_465000527/vandenbl/sg-la-comparison/inference-out/la-1024-01-ea-00/{reference_time:strftime(%Y%m%d%H)}.nc #grid_mapping: CERRA variables: ["2t","10u","10v","msl"] cerra: - loader: anemoi-datasets + loader: mlwp_data_loaders.loaders.anemoi.anemoi_datasets files: /scratch/project_465002133/datasets/cerra-rr-an-oper-0001-mars-5p5km-1984-2020-3h-v2-rmi.zarr #grid_mapping: CERRA variables: ["2t_2", "10u_10", "10v_10", "msl_0"] # synop: - # loader: mxalign + # loader: ./myloader.py # files: /scratch/project_465002133/datasets/observations/cerra_synops_2020.nc # variables: ["2t","10si","msl"] transformations: From 81482db1b22d24398483ea7d13a1475a6189990a Mon Sep 17 00:00:00 2001 From: Michiel Van Ginderachter Date: Mon, 29 Jun 2026 13:06:36 +0000 Subject: [PATCH 32/32] pre-commit fixes --- examples/introduction.ipynb | 6 +++--- src/mxalign/accessors/mx.py | 19 ++++++++++++++++--- src/mxalign/accessors/space.py | 4 +++- src/mxalign/accessors/time.py | 8 ++++++-- src/mxalign/interpolations/delaunay.py | 4 +++- src/mxalign/transformations/registry.py | 1 + 6 files changed, 32 insertions(+), 10 deletions(-) diff --git a/examples/introduction.ipynb b/examples/introduction.ipynb index ff37a5e..79fefba 100644 --- a/examples/introduction.ipynb +++ b/examples/introduction.ipynb @@ -862,7 +862,7 @@ "id": "d94c63cb", "metadata": {}, "source": [ - "As seen above, the returned dataset may need some additional processing before it can be used in a verification pipeline (e.g. the `latitude` and `longitude` are registed as data variables)" + "As seen above, the returned dataset may need some additional processing before it can be used in a verification pipeline (e.g. the `latitude` and `longitude` are registered as data variables)" ] }, { @@ -5224,7 +5224,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "47988bd3", "metadata": {}, "outputs": [ @@ -6029,7 +6029,7 @@ ], "source": [ "# Adding a grid-mapping will enable unstacking of the grid\n", - "# Note that the cerra grid is predifined in the mxalign package\n", + "# Note that the cerra grid is predefined in the mxalign package\n", "ds_fcst = ds_fcst.mx.add_grid_mapping(\"cerra\")\n", "ds_fcst" ] diff --git a/src/mxalign/accessors/mx.py b/src/mxalign/accessors/mx.py index 8a09c22..f4233d1 100644 --- a/src/mxalign/accessors/mx.py +++ b/src/mxalign/accessors/mx.py @@ -131,7 +131,9 @@ def stack(self) -> xr.Dataset: raise ValueError("Could not find correct dimensions to stack") return self._ds.stack({"grid_index": dims_to_stack}).reset_index("grid_index") - def unstack(self, crs: str | dict | ccrs.Projection | None = None, **kwargs) -> xr.Dataset: + def unstack( + self, crs: str | dict | ccrs.Projection | None = None, **kwargs + ) -> xr.Dataset: """Restore a flat ``grid_index`` dim to 2-D ``xc``/``yc`` using grid-mapping metadata.""" if self.is_point(): raise ValueError("POINT datasets cannot be unstacked") @@ -163,7 +165,16 @@ def unstack(self, crs: str | dict | ccrs.Projection | None = None, **kwargs) -> ds_mindex.attrs["grid_mapping"] = kws_mindex return ds_mindex.unstack() - def _create_multiindex(self, nx: int, ny: int, lon_ll: float, lat_ll: float, dx: float, dy: float, **kwargs): + def _create_multiindex( + self, + nx: int, + ny: int, + lon_ll: float, + lat_ll: float, + dx: float, + dy: float, + **kwargs, + ): from pandas import MultiIndex if self._ds.sizes["grid_index"] != nx * ny: @@ -189,7 +200,9 @@ def add_valid_time(self) -> xr.Dataset: # --- Alignment --- - def align_time_with(self, ds2: xr.Dataset, lead_time: str | list | np.timedelta64 = "shortest") -> xr.Dataset: + def align_time_with( + self, ds2: xr.Dataset, lead_time: str | list | np.timedelta64 = "shortest" + ) -> xr.Dataset: """Align this dataset's time axis to match ds2. Always uses "reference" semantics: self is reindexed to ds2's time diff --git a/src/mxalign/accessors/space.py b/src/mxalign/accessors/space.py index 0d8930c..b8a6ec0 100644 --- a/src/mxalign/accessors/space.py +++ b/src/mxalign/accessors/space.py @@ -25,7 +25,9 @@ def align_grid_grid(ds1: xr.Dataset, ds2: xr.Dataset, **kwargs) -> xr.Dataset: raise NotImplementedError("Regridding not implemented") -def align_grid_point(ds1: xr.Dataset, ds2: xr.Dataset, method: str = "xarray", **kwargs) -> xr.Dataset: +def align_grid_point( + ds1: xr.Dataset, ds2: xr.Dataset, method: str = "xarray", **kwargs +) -> xr.Dataset: """Interpolate grid ``ds1`` to the point locations of ``ds2`` using the named interpolator.""" from ..interpolations.registry import get_interpolation diff --git a/src/mxalign/accessors/time.py b/src/mxalign/accessors/time.py index 4c0410a..42a0710 100644 --- a/src/mxalign/accessors/time.py +++ b/src/mxalign/accessors/time.py @@ -64,7 +64,9 @@ def align_forecast_to_observation( return ds_1d -def align_observation_to_forecast(ds_obs: xr.Dataset, ds_fcst: xr.Dataset) -> xr.Dataset: +def align_observation_to_forecast( + ds_obs: xr.Dataset, ds_fcst: xr.Dataset +) -> xr.Dataset: """Broadcast 1-D observations onto ``(reference_time, lead_time)`` by selecting via forecast valid times.""" ds_fcst_with_vt = _add_valid_time(ds_fcst) valid_time_2d = ds_fcst_with_vt["valid_time"] # shape (reference_time, lead_time) @@ -85,7 +87,9 @@ def align_observation_to_observation(ds1: xr.Dataset, ds2: xr.Dataset) -> xr.Dat return ds1.reindex(valid_time=ds2.valid_time) -def align_forecast_to_forecast(ds1: xr.Dataset, ds2: xr.Dataset, lead_time: str = "reference") -> xr.Dataset: +def align_forecast_to_forecast( + ds1: xr.Dataset, ds2: xr.Dataset, lead_time: str = "reference" +) -> xr.Dataset: """Reindex ``ds1`` to ``ds2.reference_time`` and align lead times per ``lead_time`` strategy.""" ds_out = ds1.reindex(reference_time=ds2.reference_time) diff --git a/src/mxalign/interpolations/delaunay.py b/src/mxalign/interpolations/delaunay.py index 675a59c..969b0f5 100644 --- a/src/mxalign/interpolations/delaunay.py +++ b/src/mxalign/interpolations/delaunay.py @@ -31,7 +31,9 @@ def __init__(self, target_dataset: xr.Dataset, **options) -> None: f"Method: {method}. Delaunay interpolation only supports linear interpolation" ) - def _get_weights(self, source_points: np.ndarray, target_points: np.ndarray) -> csr_matrix: + def _get_weights( + self, source_points: np.ndarray, target_points: np.ndarray + ) -> csr_matrix: key = ( source_points.shape, source_points[0, 0], diff --git a/src/mxalign/transformations/registry.py b/src/mxalign/transformations/registry.py index 0695223..d86cc85 100644 --- a/src/mxalign/transformations/registry.py +++ b/src/mxalign/transformations/registry.py @@ -5,6 +5,7 @@ def register_transformation(name: str) -> Callable: """Decorator that registers a transformation function under ``name``.""" + def decorator(func: Callable) -> Callable: _TRANSFORMATION_REGISTRY[name] = func return func