grib-js
Version:
Full JavaScript GRIB2 parser
41 lines (32 loc) • 1.1 kB
JavaScript
;
const program = require('commander');
const fs = require('fs');
const jBinary = require('jbinary');
const grib = require('./index');
program
.version('0.0.1')
.option('-c, --convert [optional]', 'convert to grib2json format')
.option('-o, --out [optional]', 'outfile (else stdout)')
.option('-i, --input <requred>', 'input file (else stdin)')
.option('-p, --pretty', 'pretty print output json')
.parse(process.argv); // end with parse to parse through the input
console.log("input: " + program.input);
console.log("out: " + program.out);
jBinary.loadData(program.input, function(err, data) {
grib.readData(data, function(err, msgs_) {
if(err) {
console.error(JSON.stringify(err, null, 4));
exit(1);
}
if(program.convert) {
msgs_ = grib.convertData(msgs_)
}
if(program.out) {
fs.writeFileSync(program.out, program.pretty ? JSON.stringify(msgs_, null, 4) : JSON.stringify(msgs_) );
}
else {
console.log(program.pretty ? JSON.stringify(msgs_, null, 4) : JSON.stringify(msgs_));
}
});
});