gribberish 0.27.2

Parse grib 2 files with Rust
Documentation
use gribberish_types::Parameter;

use self::{meteorological::{meteorological_category, meteorological_parameter}, land_surface::{land_surface_category, land_surface_parameter}, oceanographic::{oceanographic_category, oceanographic_parameter}, mrms::{multiradar_category, multiradar_parameter}};

pub mod land_surface;
pub mod meteorological;
pub mod mrms;
pub mod oceanographic;

#[allow(dead_code)]
pub trait ProductDiscipline {
    fn from_category_parameter(category: u8, parameter: u8) -> Self;

    fn parameter(&self) -> Option<Parameter>;
}

pub fn category(discipline: u8, category: u8) -> &'static str {
    match discipline {
        0 => meteorological_category(category),
        2 => land_surface_category(category),
        10 => oceanographic_category(category),
        209 => multiradar_category(category),
        _ => "",
    }
}

pub fn parameter(discipline: u8, category: u8, parameter: u8) -> Option<Parameter> {
    match discipline {
        0 => meteorological_parameter(category, parameter),
        2 => land_surface_parameter(category, parameter),
        10 => oceanographic_parameter(category, parameter),
        209 => multiradar_parameter(category, parameter),
        _ => None,
    }
}