Skip to content

Commit

Permalink
h5 and atl06p apis work
Browse files Browse the repository at this point in the history
  • Loading branch information
jpswinski committed Jan 10, 2024
1 parent 8e72ccd commit 48eae07
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 42 deletions.
10 changes: 0 additions & 10 deletions clients/nodejs/sliderule/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,6 @@ let sysConfig = {
//
let recordDefinitions = {}

//
// SlideRule Data Types
//
const datatypes = {
TEXT: 0,
REAL: 1,
INTEGER: 2,
DYNAMIC: 3
};

//
// SlideRule Constants
//
Expand Down
37 changes: 32 additions & 5 deletions clients/nodejs/sliderule/h5coro.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,28 +29,55 @@

const https = require('https');
const core = require('./core.js')
const events = require('events');

//------------------------------------
// File Data
//------------------------------------

const ALL_ROWS = -1;

const datatypes = {
TEXT: 0,
REAL: 1,
INTEGER: 2,
DYNAMIC: 3
};

//------------------------------------
// Exported Functions
//------------------------------------

//
// h5p
// h5
//
exports.h5p = (dataset, resource, asset, datatype=core.datatypes.DYNAMIC, col=0, startrow=0, numrows=ALL_ROWS) => {
exports.h5 = (dataset, resource, asset, datatype=datatypes.DYNAMIC, col=0, startrow=0, numrows=ALL_ROWS, callbacks=null) => {
let parm = {
asset: asset,
resource: resource,
datasets: [ { dataset: dataset, datatype: datatype, col: col, startrow: startrow, numrows: numrows } ]
};
return core.source('h5p', parm, true).then(
result => core.get_values(result[0].data, result[0].datatype)
);
if (callbacks != null) {
return core.source('h5p', parm, true);
}
else {
var event = new events.EventEmitter();
var values = null;
var callbacks = {
h5file: (result) => {
values = core.get_values(result.data, result.datatype);
event.emit('complete');
},
};
return new Promise(resolve => {
core.source('h5p', parm, true, callbacks).then(
result => {
event.once('complete', () => {
resolve(values);
});
}
);
});
}
}

6 changes: 3 additions & 3 deletions clients/nodejs/sliderule/icesat2.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ exports.atl06p = (parm, resources, callbacks=null) => {
}
else {
var event = new events.EventEmitter();
total_recs = null;
recs = [];
callbacks = {
var total_recs = null;
var recs = [];
var callbacks = {
atl06rec: (result) => {
recs.push(result["elevation"]);
if ((total_recs != null) && (recs.length == total_recs)) {
Expand Down
2 changes: 1 addition & 1 deletion clients/nodejs/sliderule/tests/h5.test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const sliderule = require('../../sliderule');

test('read icesat2 dataset using h5coro', () => {
return sliderule.core.h5("ancillary_data/atlas_sdp_gps_epoch", "ATL03_20181019065445_03150111_005_01.h5", "icesat2").then(
return sliderule.h5coro.h5("ancillary_data/atlas_sdp_gps_epoch", "ATL03_20181019065445_03150111_005_01.h5", "icesat2").then(
result => {
expect(result[0]).toBe(1198800018);
},
Expand Down
25 changes: 2 additions & 23 deletions clients/nodejs/utils/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,8 @@ sliderule.icesat2.atl06p(
);

/*
sliderule.core.get_version().then(
result => console.log(result),
error => console.error(error)
);
*/

/*
sliderule.core.authenticate().then(
result => console.log(result),
error => console.error(error)
);
*/

/*
sliderule.core.h5("ancillary_data/atlas_sdp_gps_epoch", "ATL03_20181019065445_03150111_005_01.h5", "icesat2").then(
result => console.log("GPS Epoch: ", result[0]),
error => console.error(error)
);
*/

/*
let a = sliderule.core.source("definition", {"rectype" : "h5file"}).then(
result => console.log(result),
sliderule.h5coro.h5("ancillary_data/atlas_sdp_gps_epoch", "ATL03_20181019065445_03150111_005_01.h5", "icesat2").then(
result => console.log("GPS Epoch: ", result),
error => console.error(error)
);
*/

0 comments on commit 48eae07

Please sign in to comment.