Skip to main content

Tools for working with JSON-BUFR conversion in the E-SOH proejct.

Project description

E-SOH

EURODEO

The RODEO project develops a user interface and Application Programming Interfaces (API) for accessing meteorological datasets declared as High Value Datasets (HVD) by the EU Implementing Regulation (EU) 2023/138 under the EU Open Data Directive (EU) 2019/1024. The project also fosters the engagement between data providers and data users for enhancing the understanding of technical solutions being available for sharing and accessing the HVD datasets. This project provides a sustainable and standardized system for sharing real-time surface weather observations in line with the HVD regulation and WMO WIS 2.0 strategy. The real-time surface weather observations are made available through open web services, so that they can be accessed by anyone.

Near real-time observational data

E-SOH is part of the RODEO project. The goal for this project is to make near real-time weather observations from land based station easily available. The data will be published on both a message queue using MQTT and EDR compliant APIs. Metadata will also be made available through OGC Records APIs. The system architecture is portable, scalable and modular for taking into account possible future extensions to existing networks and datasets (e.g. 3rd party surface observations).

RODEO BUFR Library

This tool handles the BUFR messages:

  • ecoding the messages for E-SOH/openradardata ingestion
  • providing E-SOH API output in BUFR format

The library suports ECMWF ecCodes, WMO and OPERA BUFR tables.

Installation

Clone the repo

git clone https://github.com/EUMETNET/rodeo-bufr-library.git

Compiling

Install requirements:

  • make
  • g++
  • rapidjson-dev
  • libeccodes-data
  • python3-dev
  • pybind11-dev
  • python3-pybind11
cd rodeo-bufr-library/src/bufr_tools
make

Usage

Setting up BUFR table directory

ecCodes tables

To use the ecCodes table definitions you need to install libeccodes-data package on Debian based systems. In this case you don't have to set the BUFR_TABLE_DIR environment variable.

WMO tables

Download WMO tables with the script:

cd rodeo-bufr-library/src/tables/wmo
./get_wmo_tables.sh
export BUFR_TABLE_DIR=path_to_the_repo/rodeo-bufr-library/bufr/tables/wmo/

OPERA tables

export BUFR_TABLE_DIR=path_to_the_repo/rodeo-bufr-library/bufr/tables/opera/

Printing BUFR content

Set Timezone to UTC

export TZ=UTC

Basic print

./bufrprint path_to_the_bufr_file(s)

Detail print

./printbufr detail path_to_the_bufr_file(s)

Log print

./printbufr log_print path_to_the_bufr_file(s)

Making E-SOH json message

Set RODEO BUFR library Paths

Set RODEO BUFR path:

export RODEO_BUFR_DIR=path_to_the_repo/rodeo-bufr-library/

BUFR_TABLE_DIR is optional the default value is the eccodes: /usr/share/eccodes/definitions/bufr/tables/0/wmo/ .

ESOH_SCHEMA is optional, the default path:

${RODEO_BUFR_DIR}"/src/schemas/bufr_to_e_soh_message.json"

OSCAR_DUMP is the WMO Oscar database in json format. This is optional, the default value is:

${RODEO_BUFR_DIR}/"src/oscar/oscar_stations_all.json"

Set Time interval

The default time interval is the last 24 hours. The program skips the subsets from this interval. See the error message:

LOG: 2025-05-19T09:31:44.773387+00:00,Warning,msg,SurfaceLand_subset_1.buf,Skip subset 0, datetime too late or too early: 2023-08-22T22:00:00+00:00

Set the following environmental variables to disable the 24h interval:

export DYNAMICTIME=false
export LOTIME=1000-01-01T00:00:00Z
export HITIME=9999-12-31T23:59:59Z

Print E-SOH message

python3 ./create_mqtt_message_from_bufr.py path_to_the_bufr_file(s)

Dump BUFR content

python3 ./bufr2txt.py path_to_the_bufr_file(s)

Encode BUFR content from Coverage json

python3 ./covjson2bufr.py path_to_the_coverage_json_file(s)

The "default" BUFR unexpanded descriptors:

  • 301150: WIGOS identifier
  • 301090: Surface station identification; time, horizontal and vertical coordinates
  • 302031: Pressure information
  • 302035: Basic synoptic “instantaneous” data
  • 302036: Clouds with bases below station leve
  • 302042: Precipitation measurement
  • 302040: Wind data
  • 101002:
    • 302045: Radiation data

The encoded BUFR file name is test_out.bufr.

Project details


Download files

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

Source Distribution

rodeo_bufr_tools-0.1.0.tar.gz (7.1 MB view details)

Uploaded Source

Built Distributions

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

rodeo_bufr_tools-0.1.0-cp314-cp314t-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.14tWindows x86-64

rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl (8.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ i686manylinux: glibc 2.28+ i686

rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

rodeo_bufr_tools-0.1.0-cp314-cp314-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.14Windows x86-64

rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl (8.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ i686manylinux: glibc 2.28+ i686

rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

rodeo_bufr_tools-0.1.0-cp313-cp313-win_amd64.whl (8.1 MB view details)

Uploaded CPython 3.13Windows x86-64

rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl (8.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ i686manylinux: glibc 2.28+ i686

rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

rodeo_bufr_tools-0.1.0-cp312-cp312-win_amd64.whl (8.1 MB view details)

Uploaded CPython 3.12Windows x86-64

rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl (8.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ i686manylinux: glibc 2.28+ i686

rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

rodeo_bufr_tools-0.1.0-cp311-cp311-win_amd64.whl (8.1 MB view details)

Uploaded CPython 3.11Windows x86-64

rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl (8.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ i686manylinux: glibc 2.28+ i686

rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file rodeo_bufr_tools-0.1.0.tar.gz.

File metadata

  • Download URL: rodeo_bufr_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rodeo_bufr_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 efc86382787e952c1612621e080e2edfaff973c50d2a50f1c61179173b5cdc6c
MD5 f1a9dc0b5c0c6788077c67106d6779a8
BLAKE2b-256 774608330442c9933918ad8906df5292408640e95f362bb249a01ff9bf9938e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0.tar.gz:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 638cc2a9ea2a792d629be1f758572d2daa3cff66728fb219f5a1810bb655f9a8
MD5 81a44d2759e0c5b9943be1044e936516
BLAKE2b-256 78bf8e3b8c3b653018e06e6b6ad981b2c0b164ed88209f3b4fbd47fee417c22a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp314-cp314t-win_amd64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 cbe686562504ebd964912856020dbbd35cda6929a736f4f7931bf4db2be7dd8c
MD5 78db060b2c0d75db4181025271cb81fd
BLAKE2b-256 9574933793ecfe50b4b3349fa5fa548a437f40c55ae84a392f187b93df7df57a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 65fb42c0eba46483054aa8ae2fa3d01069e09913521305a31bf69cb96ca81455
MD5 1bf34a4782abeca947f3958766097c78
BLAKE2b-256 407053373d78f3c1994ae7fc4904f99ac5d6ea12b5b784a6850a9aa77b65939c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7a295d2f84c609447aedb0c8024074b6a2c2258a9f74cefcf753cca2ed20de79
MD5 310416669e3ab3156f6610ca22652743
BLAKE2b-256 02a8247226c89769a68606061e99eff212782217f831feb2ea4c3cf12737c3c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp314-cp314-win_amd64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 82ca22ae9332a25b5a685ec06ecd5e91c3991183458a89cec21469dfca5b76e7
MD5 8cc44e30194738c1c2d6ee41901bda28
BLAKE2b-256 35c658e1c77c9cde075def0d767f0adc12da9915bbe4de15b3218ade2ab3cf5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 394b9f03fa982b0c2cc63db934e1f72cca3127cddaaa9cac94309ab356321618
MD5 82f068d938bb68cebdb713bbbd6bf860
BLAKE2b-256 e745b6df8fae93dbcbf095c678058830e3b7b4382de773829eeff001ed38fed3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0df7e0a9de310583cfa6d9b99c4d0ab815b697dab95c52a5ccee3a8c802293e0
MD5 196c81509f3001708b8ba1e888163648
BLAKE2b-256 4039d6b1a2b162717d95845b52b0a63b6302a0948c8ab956b9bf5f74f56d6c0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 56e642cb2424e7189f037f7b6e0b7c9ba6419094f11027412928139547fb6a08
MD5 bb3192944e5e82129dc5c0ddff2e7c1b
BLAKE2b-256 b5f1181453ae6703304aa9d92a6552efca5082e9c696259a3df69c950ed0f86c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98387f2c49a85e7c2d2869a1908da1e484cdab0fd40702e2c0e00ce082ffa220
MD5 51fdd9dfaf77e006f028855879ebb0b6
BLAKE2b-256 13423b49669dc94477f328b24b5862a23d0f290d9466a792e1aa16cee5a60b5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 efdc0ca312bd14d6d81c6095cdbeacc92bf8ef82f872970f111f28ac5574db51
MD5 d0ce047591e331a57dd3bcd835455f6a
BLAKE2b-256 c120eb153688e99dc14286b3eee0cda300d845e36b3613f9339fe58405ed624d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 e8b4085fbae89d3321a8cd4f20952410bd9322d16beaad4bd4bdb7b09cc11382
MD5 4d027ef48592399312db78b1f200cf32
BLAKE2b-256 a6d5ab119a085ca9234337d44fc2abe3c49b05c2b86e57dce55988644825c7fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b9a35b348c43bcb95362c6a9c643de6fb07f88e78b5e0fab333c57ea2d34929a
MD5 c349bc9c8b5ee89865f6e14f90db965e
BLAKE2b-256 abf229ca8124f1375f818915134033f723ba84c42b923b4e5a915994710dbf65

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 aeaa4d78db55802eb00f9e7a0b8546bf7a2d40ed4a03c6b471cd9b4fb4bd8362
MD5 0ef0913893c8e8887677c66c93050f34
BLAKE2b-256 0b52b4013443b9cb0d0b1d797606d8a1800e2882630c65d0d19922bfbf9ab3ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 ff694c5620f59f7679f89187218a1c96285a51b8e57ba55efaef126049c53d0c
MD5 b7959c376aaf44456f4577dd023fec0c
BLAKE2b-256 82bb92873cc81b595b6e508283e0b8c70fb41107a0b03a83b00fb69a0eeb7790

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e7dbddbf2d5252b910dae9c87c1928f444cdb5712c185965da27f22ec7df446
MD5 dbd08a1132cf3ba331f5822ad866ef5d
BLAKE2b-256 74a41b2458d2f74ce155b3b3eafdeae984341fa7a9d0cb7aa9fe7f57e6bd0c30

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodeo_bufr_tools-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on EUMETNET/rodeo-bufr-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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