v0.3.0
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 xarrayDataset(mirrorsload()).foehn.to_zarr(…)— materialise to a Zarr store (mirrorsto_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/lonjoined from the horizontal-constants file), and HDF5/ODIM radar composites (CombiPrecip, hail) via a native reader, georeferenced to Swiss LV95. - CLI:
foehn openandfoehn to-zarr. - MCP: new
describe_gridtool — 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_localnow exposes a derivedreference_timestamp.
Breaking
- Dropped Python 3.10 — minimum is now 3.11 (the
gridsextra needs zarr 3, which requires 3.11+).
Install
pip install --upgrade foehn
pip install "foehn[grids]" # xarray/Zarr for NetCDF + GRIB2 + radar