Skip to content

This library/package is intended to help you fetch weather data from a multitude of sources in an efficient and uniform way. Acquire data using nothing more than just a period and a location, or request very specific factors in a very specific format. You control the data you fetch.

License

Notifications You must be signed in to change notification settings

alliander-opensource/meteoforge

MeteoForge - Core System

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 Core System component

The Core System provides base and interface classes as well as utilities for accessing and processing meteorological data. They are designed for use with the API and source packages and not meant for standalone use.

They offer tools 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

This library/package is intended to help you fetch weather data from a multitude of sources in an efficient and uniform way. Acquire data using nothing more than just a period and a location, or request very specific factors in a very specific format. You control the data you fetch.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages