Skip to content

v0.3.0

Choose a tag to compare

@kayhendriksen kayhendriksen released this 26 May 06:41
· 14 commits to main since this release
85071a2

Gridded MeteoSwiss data (NetCDF, GRIB2, radar) now opens as xarray Datasets, alongside new climate-scenario tabular collections. Minimum Python is now 3.11.

Added

Gridded data — the grid analog of the tabular API

  • foehn.open_dataset(dataset, match=…, variables=…) — open a collection as an xarray Dataset (mirrors load()).
  • foehn.to_zarr(…) — materialise to a Zarr store (mirrors to_parquet()). stack="auto" assembles a matched set into one cube: radar → (time, y, x) (incremental, dask-free), GRIB2 → N-D over the varying number/time/step axes.
  • Formats: NetCDF (climate grids, normals, scenarios), GRIB2 forecasts (ICON-CH1/CH2, KENDA — cell lat/lon joined from the horizontal-constants file), and HDF5/ODIM radar composites (CombiPrecip, hail) via a native reader, georeferenced to Swiss LV95.
  • CLI: foehn open and foehn to-zarr.
  • MCP: new describe_grid tool — inspect a grid's dimensions, coordinates, and variables without downloading array values.
  • One optional extra covers it all: pip install "foehn[grids]".

New tabular collections

  • Indoor climate scenarios (CSV+ZIP) and CH2025 climate scenarios (metadata-preamble CSV) now load through foehn.load().
  • forecast_local now exposes a derived reference_timestamp.

Breaking

  • Dropped Python 3.10 — minimum is now 3.11 (the grids extra needs zarr 3, which requires 3.11+).

Install

pip install --upgrade foehn
pip install "foehn[grids]"   # xarray/Zarr for NetCDF + GRIB2 + radar