Package Exports
- eccodes-lib
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eccodes-lib) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
eccodes-lib
eCodes shared library
For use as a dependency for others eccodes-*
tools
(packaged for Ubuntu 18.04 only)
Usage
Install ecCodes-lib
npm install --save eccodes-lib
Install definitions
It is necessary to install the definitions for the file formats you need
npm install --save eccodes-data-grib1
npm install --save eccodes-data-grib2
npm install --save eccodes-data-bufr
Get the environment ready
const EcLib = require('eccodes-lib')
const grib1Data = require('eccodes-data-grib1')
const grib2Data = require('eccodes-data-grib2')
const ecLib = new EcLib()
const demo = async () => {
/*
* (optional)
* This will create a temporary directory in os.tmpdir()
* containing the required definitions files
*/
await ecLib.load([
grib1Data,
grib2Data
])
/*
* It is then possible to retrieve the adequate
* environment variables for using the library:
* {
* LD_LIBRARY_PATH: '[..]/eccodes-lib/lib',
* ECCODES_DEFINITION_PATH: '/tmp/eccodes-lib-[..]',
* ECCODES_SAMPLES_PATH: '[..]/eccodes-lib/share/samples'
* }
*/
const env = ecLib.getEnv()
console.log(env)
/*
* (optional) When finished, manually delete the
* temporary definitions folder created by load().
* Or then the temporary folder will automatically
* be deleted on process exit or crash.
*/
ecLib.cleanup()
}
demo()
Using multiple instances
const EcLib = require('eccodes-lib')
const stockGrib1 = require('eccodes-data-grib1')
const customGrib1 = require('./eccodes-data-grib1-customized')
libA = new EcLib()
libA.load([stockData])
.then(() => console.log(libA.getEnv()))
libB = new EcLib()
libB.load([customData])
.then(() => console.log(libB.getEnv()))
ecCodes Version
This package embeds ecCodes 2.10.0