| Crates.io | iasinat-lib |
| lib.rs | iasinat-lib |
| version | 0.1.0 |
| created_at | 2025-06-30 14:30:51.642154+00 |
| updated_at | 2025-06-30 14:30:51.642154+00 |
| description | Reader for IASI NAT L1C and L2 files |
| homepage | |
| repository | https://github.com/ExH-R-D/iasinat |
| max_upload_size | |
| id | 1731905 |
| size | 50,790 |
This is a library for reading IASI level 1C and level 2 files in EUMETSAT's so-called "NAT" binary file format.
There is also a tool "iasinat" for converting L1C and L2 files to NetCDF.
This code was developed in collaboration with SPASCIA under the CNES CH4 SWIR-TIR contract.
Currently this code only handles a subset of the available data, based on the needs of the SWIR-TIR and related projects.
The library can read MPHR, GIADR and MDR records.
This tool is in beta version. The outputs of this tool have been compared, on a small number of NAT files to NetCDF files provided by EUMETSAT or converted using CODA.
The L1C NetCDF output from this tool has been found to be in agreement with NetCDF files provided by EUMETSAT, but the files are partial, as some of the information present in the NAT files is not present in the NetCDF files.
The iasinat tool converts L1C raw measurements to spectral radiances using the conversion factors.
As for level 1C, the level 2 output is partial (but fairly complete) and is in complete agreement with the EUMETSAT Level2 output, as well as CODA output, except for the error data.
The current EUMETSAT L2 product format specification and product guide documents incorrectly describe the error data records. Contrary to what is stated in these documents, the data records for temperature, water vapour and ozone do not have fixed sizes. The CODA description handles these variable-length records, but fails to reorder the vectors so that they can be attributed to individual pixels.
This tool handles both issues, but due to a lack of information we have not yet been able to fully validate its output.
cargoapt install libnetcdf-dev
on Debian-like systems)cargo build --releaseThe dependencies of the library are minimal:
anyhow for error handlinglog for logging (error messages etc.)ndarray for handling multi-dimensional arraysregex for parsing product header stringstofas for Julian date/time conversionsThe tool uses netcdf, simple_logger and pico-args.
The iasinat code contains no unsafe code, nor does it use unchecked operations.
For using the library in your Rust project, simply do cargo add iasinat
Berke DURAK bd@exhrd.fr