Skip to content

Commit

Permalink
Filtering available for timeseries with predefined regions
Browse files Browse the repository at this point in the history
  • Loading branch information
mollybsmith-noaa committed Jan 4, 2024
1 parent 4afc36c commit c49f6ec
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,27 @@ const simplePoolQueryWrapSynchronous = function (pool, statement) {
}
};

// get stations in a predefined region
const getStationsInCouchbaseRegion = function (pool, region) {
if (Meteor.isServer) {
let sitesList = [];
let statement = Assets.getText(
"imports/startup/server/matsMiddle/sqlTemplates/tmpl_get_stations_for_region.sql"
);
statement = statement.replace(/{{vxREGION}}/g, region);

const Future = require("fibers/future");
const dFuture = new Future();
(async () => {
sitesList = await pool.queryCB(pool.trfmSQLForDbTarget(statement));
// done waiting - have results
dFuture.return();
})();
dFuture.wait();
return sitesList;
}
};

// utility for querying the DB via Python
const queryDBPython = function (pool, queryArray) {
if (Meteor.isServer) {
Expand Down Expand Up @@ -4023,6 +4044,7 @@ const parseQueryDataContour = function (rows, d, appParams, statisticStr) {

export default matsDataQueryUtils = {
simplePoolQueryWrapSynchronous,
getStationsInCouchbaseRegion,
queryDBPython,
queryDBTimeSeries,
queryDBSpecialtyCurve,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
SELECT RAW s.name
FROM {{vxDBTARGET}} s
JOIN {{vxDBTARGET}} bb ON
(s.geo[0].lat BETWEEN bb.geo.bottom_right.lat AND bb.geo.top_left.lat) AND
(CASE WHEN bb.geo.top_left.lon < bb.geo.bottom_right.lon THEN
s.geo[0].lon BETWEEN bb.geo.top_left.lon AND bb.geo.bottom_right.lon ELSE
s.geo[0].lon > bb.geo.top_left.lon OR s.geo[0].lon < bb.geo.bottom_right.lon END)
WHERE bb.type="MD"
AND bb.docType="region"
AND bb.subset='COMMON'
AND bb.version='V01'
AND bb.name="{{vxREGION}}"
AND s.type="MD"
AND s.docType="station"
AND s.subset='METAR'
AND s.version='V01'
ORDER BY s.name
4 changes: 4 additions & 0 deletions meteor_packages/mats-common/package.js
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,10 @@ Package.onUse(function (api) {
"imports/startup/server/matsMiddle/sqlTemplates/tmpl_get_N_stations_mfve_IN_obs.sql",
"server"
);
api.addAssets(
"imports/startup/server/matsMiddle/sqlTemplates/tmpl_get_stations_for_region.sql",
"server"
);
});

Package.onTest(function (api) {
Expand Down

0 comments on commit c49f6ec

Please sign in to comment.