Skip to main content

Python extension to access the ECMWF observation database (ODB1) format

Project description

PyPI version Documentation Status Python

odb4py 1.3.2rc1 release

Description

odb4py is a C/Python interface to read and query ECMWF ODB1 databases.
It provides high-performance access to ODB data through a native C backend, with seamless integration into the Python scientific ecosystem.
The package embeds a customized version of the ECMWF ODB software odb_api_bundle-0.18.1-Source and is distributed as manylinux wheels, requiring no external ODB installation.


Features

  • Native C backend based on ECMWF ODB1
  • Support for IFS and ARPEGE ODB databases
  • SQL-like query interface
  • Fast data access with NumPy/C API and pandas integration
  • No runtime dependency on system ODB or ECMWF bundles
  • Conversion to other formats : ODB2 ,NetcDF and SQLITE

Installation

The odb4py package can be installed from PyPI using pip:

pip install odb4py  

Installation test

>>> from odb4py import core # The extension core
>>> from odb4py import convert # An extension for format conversion
>>> from odb4py import utils # Pure python modules helpers

Requirements

Python ≥ 3.9
NumPy ≥ 2.0
Linux system (manylinux2014 compatible)

Optional

pyodc ≥ 1.6.0

Scientific context

ODB (Observation DataBase) is a column-oriented database format developed at ECMWF and widely used in numerical weather prediction systems such as IFS,ARPEGE and NWP limited are models

odb4py is primarily designed for:

  • Meteorologists and atmospheric scientists (especially within the ACCORD consortium)
  • Operational and research environments
  • Post-processing and diagnostic workflows
  • The current package version focuses on read-only access and data extraction for scientific analysis.

License

Apache License, Version 2.0. See LICENSE for details .

odb4py incorporates components derived from the ECMWF ODB software.

The original source code has been modified to:

  • Expose functionality through a Python interface
  • Reduce the runtime footprint
  • Enable portable binary wheel distribution

All original copyrights remain with ECMWF.

Acknowledgements

  • This project incorporates and is derived from the ECMWF ODB software.
    ODB was developed at the European Centre for Medium-Range Weather Forecasts (ECMWF) by S. Saarinen et al. All rights to the original ODB software remain with ECMWF and their respective owners.
  • The author would like to thank the other colleagues from ACCORD consortium (MetCOop , SHMI , AEMET & Meteo France ) for providing different samples of ODBs.
  • The author would also like to thank 'Mohand Ouali Ait Meziane' for testing odb4py and providing valuable feedback.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

odb4py-1.3.2rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

odb4py-1.3.2rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

odb4py-1.3.2rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

odb4py-1.3.2rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

odb4py-1.3.2rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file odb4py-1.3.2rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for odb4py-1.3.2rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5afdd1b7f22cf9d0a7fb5feb8aefa851c43e9c03a9661c08a00e1c1e112ecb6
MD5 db4d7b23fbcfa7ccc5224757ede83790
BLAKE2b-256 838d16724f8ba82098da2971f2770e5e39786a562eeb444758aaa3613636c7ad

See more details on using hashes here.

File details

Details for the file odb4py-1.3.2rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for odb4py-1.3.2rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 934ca0f1b7963abf86a5cc22553ce865b82ae206cd5e459bba2144ebf5437b17
MD5 bbd5bdc5a38c0d481e812cb5c45c5043
BLAKE2b-256 615614ea06d0af1da8045890ebe5557dcd160102dfbc57c7c12b878d3a086a3a

See more details on using hashes here.

File details

Details for the file odb4py-1.3.2rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for odb4py-1.3.2rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b44985c2f80336a396e3d50fa03cfdfd6241894dd468229d5d1846620a62e3e
MD5 310523e6de50f0e229c5e571d183e30b
BLAKE2b-256 36f4b8997432432419f507e37029240309d343ce4b5fc9e28a21a410b1edce87

See more details on using hashes here.

File details

Details for the file odb4py-1.3.2rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for odb4py-1.3.2rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae6b2d596caa81ad7c6ba4af817f2f85e244ad544dc7fac5305fd6a48be36727
MD5 112e1c0bfe6e63cd6939c78bc20707c4
BLAKE2b-256 902c956a3d8b2ae5842ec0c2148a882bf68f7abd5ed23ae3f1960540c08a63e8

See more details on using hashes here.

File details

Details for the file odb4py-1.3.2rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for odb4py-1.3.2rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47512fb0a7abdbcae25bddd86d821be60e08c7bc6fd744f3b1b3060416928512
MD5 cf74bb618c2b2ec6c04f4aadcd189768
BLAKE2b-256 c4caa90a2e1717ed0486e3120e174853432673d61ffffc918c235d81e27c2351

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page