Skip to content

alliander-opensource/meteoforge-sources

Repository files navigation

MeteoForge - Sources

License: MPL2.0 Quality Gate Status Maintainability Rating Security Rating Vulnerabilities Bugs Coverage

MeteoForge

Index

On the "MeteoForge" project

The MeteoForge project evolved from the original Weather Provider API project. It aims to provide a unified interface for accessing and processing meteorological data from various sources. It is modular and extensible, allowing users to easily add new sources and models.

The project consists of three main components:

  1. The MeteoForge API A RESTful API built with FastAPI. It provides a unified interface for accessing data from sources built with the MeteoForge Libraries. It is OpenAPI-compliant and easy to deploy via Docker or custom solutions.

  2. The MeteoForge Core System Core functionality for accessing and processing meteorological data, including support for file formats, data transformation, and extensibility. Includes base classes for sources and models.

  3. The MeteoForge Sources A collection of source packages based on Alliander models. Sources are installable independently and provide access to meteorological models usable standalone or with the API.

A bit more information on the Core System

The goal of the Sources component

The Sources component provides a number of sources and models ready for use as well as utilities for accessing and processing meteorological data within these sources. They are designed for use via the Core System and can be used standalone and via the API.

They also provide examples for easily integrating new datasets and standardizing data processing workflows.

How it works

Sources govern models

Each model belongs to a source. This allows similar models from different sources to coexist and be validated consistently.

Models are generic but unique

Models use a shared interface but must implement their own data retrieval and formatting logic. They’re standardized in usage but uniquely implemented.

Equalizing the models via ECCODES

The Core System uses ECCODES to decode GRIB/BUFR data and standardize parameters. Unit conversion is handled with Pint.

An example

A model defines a "200 meter wind speed" in Beaufort. The ECCODES parameter 228241 corresponds to "200 metre wind speed" in m/s. The Core System can convert Beaufort to m/s using its registry of standard parameters and Pint-based conversions.

How to install

You can install the MeteoForge Core System via pip or poetry.

With pip:

pip install meteoforge

With poetry:

poetry add meteoforge

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages