Getting Started#
Weather forecast oriented Python library to process xarray Datasets.
Warning
Project status and deprecation outlook. grid-process mainly serves the needs of MeteoSwiss operational
processing. As equivalent functionality becomes available in the
ECMWF earthkit ecosystem, parts of this library, potentially all of it, will be
gradually deprecated in favour of earthkit. Any deprecation will be announced in the changelog. If you start a new
project, please consider earthkit first.
Features#
Grid to points interpolations routines
Temporal interpolation routines
Spatial and temporal aggregation routines
Ensemble and spatial statistics
Configurable data model (dimension, coordinate and variable names) to support many data conventions
And much more
Note
grid-process was originally developed internally at MeteoSwiss as gridefix-process (versions 1 to 6),
to process grids from an internal grid database. The first open-source release is 1.0.0.
See Migrating from gridefix-process if you are upgrading from the internal package.
Development Setup with Poetry#
Building the Project#
$ cd grid-process
$ poetry install
Run Tests#
$ poetry run pytest
Run Quality Tools#
$ poetry run pylint grid_process
$ poetry run mypy grid_process
$ poetry run ruff format
Generate Documentation#
$ poetry run sphinx-build doc doc/_build
Then open the index.html file generated in grid-process/doc/_build/.
Build wheels#
$ poetry build
Using the Library#
To install grid-process in your project, run this command in your terminal:
$ poetry add grid-process
You can then use the library in your project through
import grid_process
Migrating from gridefix-process#
Package and import name:
gridefix-process/gridefix_processbecamegrid-process/grid_process.Environment variable prefix:
GRIDEFIX_PROCESS__becameGRID_PROCESS__(e.g.GRID_PROCESS__data_model__validtime).Versioning restarts at
1.0.0; the last internal release wasgridefix-process6.1.0.
Release the Project#
The project follows the GitOps concept: releases are triggered whenever a Git TAG is created.
The TAG must follow the semantic version format and PEP 440 , otherwise the release task will fail.
Follow these steps to create a new release:
Adapt CHANGELOG.rst with release information
Adapt
doc/_static/switcher_config.jsonadding the new documentation URL for the releaseCreate a new Release in the Github project