grib 0.2.0

GRIB format parser for Rust
Documentation

grib-rs

docs License (Apache 2.0) License (MIT) Build

GRIB format parser for Rust

About

This is a GRIB format parser library written in Rust programming language. This project aims to provide a set of library and tools which is simple-to-use, efficient, and educational.

GRIB is a concise data format commonly used in meteorology to store historical and forecast weather data. It is intended to be a container of a collection of records of 2D data. GRIB files are huge and binary and should be processed efficiently. Also, since GRIB is designed to support various grid types and data compression using parameters defined in external code tables and templates, some popular existing softwares cannot handle some GRIB data.

Vision

A world where everyone can read weather data easily although its interpretation needs some specific knowledge and experience.

Features

  • Rust library grib
    • Ability to read and check the basic structure of GRIB2
    • Support for Common Code Table C-0 and C-11
    • Decoding feature supporting following templates:
      • Template 5.0/7.0 (simple packing)
      • Template 5.3/7.3 (complex packing)
      • Template 5.200/7.200 (run-length encoding)
  • CLI application gribber built on the top of the Rust library
    • 4 subcommends:
      • decode: data export as text and flat binary files
      • info: display of identification information
      • inspect: display of information mainly for development purpose such as template numbers
      • list: display of a list of sections (the style is still tentative)

Planned features

  • WebAssembly application
  • Efficient read from cloud sources such as S3
  • More supports of code tables and templates
  • Data extraction based on geographical specification
  • Format conversion to other popular formats
  • Providing interface to other languages

CLI application gribber

USAGE:
    gribber [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    decode     Exports decoded data
    help       Prints this message or the help of the given subcommand(s)
    info       Shows identification information
    inspect    Inspects and describes the data structure
    list       Lists contained data

Note that binaries exported from gribber decode --big-endian use 0x7fc00000 as a missing value, although those from wgrib use 0x6258d19a.

Contributing

Contribution is always welcome. Please check CONTRIBUTING.md if you are interested.

License

This project is licensed under either of

at your option.

SPDX-License-Identifier: Apache-2.0 OR MIT