eccodes-ts v0.0.26
eccodes-ts
A TypeScript wrapper for eccodes GRIB2 file handling. This package provides a convenient interface to work with GRIB2 (GRIdded Binary) weather data files using TypeScript.
Installation
npm install eccodes-ts
Prerequisites
- eccodes must be installed on your system
- Ubuntu/Debian:
sudo apt-get install libeccodes-dev libeccodes-tools
- macOS:
brew install eccodes
- Windows: Install WSL and use Ubuntu package
- Ubuntu/Debian:
- If you encounter any issues it's generally recommended to build from source:
- Node.js 14 or higher
Usage
import { EccodesWrapper } from 'eccodes-ts';
// Initialize with path to GRIB file
const grib = new EccodesWrapper('/path/to/your/file.grib');
// Get specific parameters with optional lat/lon mapping
const waveHeight = await grib.getSignificantWaveHeight({ addLatLon: true });
const windSpeed = await grib.getWindSpeed({ addLatLon: true });
// Get all wave or wind parameters
const waveParams = await grib.getWaveParameters();
const windParams = await grib.getWindParameters();
// Custom parameter extraction
const customParams = await grib.getParametersByType({
category: OceanographicParameterCategory.Waves,
number: OceanographicWaveParameterNumber.SignificantHeightCombined
});
Features
Parameter Access Methods
Wave Parameters
getSignificantWaveHeight(options?: GribParsingOptions)
getPrimaryWavePeriod(options?: GribParsingOptions)
getPrimaryWaveDirection(options?: GribParsingOptions)
getWaveParameters(options?: GribParsingOptions)
Wind Parameters
getWindSpeed(options?: GribParsingOptions)
getWindDirection(options?: GribParsingOptions)
getWindParameters(options?: GribParsingOptions)
Generic Access
getParametersByType<T>(options: GribParametersByType)
getMetadata()
readToJson(addLatLon?: boolean)
Options
type GribParsingOptions = {
addLatLon?: boolean;
};
type GribParametersByType = {
discipline?: Discipline;
category: ParameterCategory;
number?: ParameterNumber;
keys?: string[];
addLatLon?: boolean;
};
Lat/Lon Mapping
When addLatLon
is enabled, parameter values are mapped to their corresponding latitude/longitude coordinates:
type LocationForecast = {
lat: number;
lon: number;
value: number;
};
Data Types
The package includes comprehensive TypeScript definitions for:
- GRIB2 parameters and disciplines
- Meteorological parameters
- Oceanographic parameters
- Wave parameters
- Wind parameters
Error Handling
The package includes proper error handling for:
- Missing eccodes installation
- Invalid GRIB file paths
- GRIB parsing errors
- Command execution errors
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see the LICENSE file for details
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago