3 unstable releases
0.2.1 | Mar 13, 2024 |
---|---|
0.2.0 | Mar 5, 2024 |
0.1.0 | Oct 26, 2023 |
#9 in #grib
23KB
435 lines
GRIB1 Reader
Read a GRIB1 file and search for data based on parameter and level values. The results can either be decoded or extracted as a binary blob so it can be saved to a separate file.
Currently only the Grid 10 (RotatedLatLon) data representation type is supported
Usage
Add this to your Cargo.toml:
[dependencies]
grib1_reader = "0.2.0"
and this to your source code:
use grib1_reader::{Grib1Reader, SearchParams};
Example
let file = File::open("data/sample.grib").await?;
let mut reader = Grib1Reader::new(BufReader::new(file));
let result = reader.read(vec![SearchParams { param: 33, level: 700 }]).await?;
println!("Results:");
for grib in result {
println!("{:#?}", &grib.pds);
if let Some(gds) = grib.gds {
println!("{:#?}", &gds);
}
}
lib.rs
:
Read a GRIB1 file and search for data based on parameter and level values. The results can either be decoded or extracted as a binary blob so it can be saved to a separate file. Currently only the Grid 10 (RotatedLatLon) data representation type is supported.
Dependencies
~2.5–8.5MB
~70K SLoC