This is an automated email from the ASF dual-hosted git repository.
nchung pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-sdap-edge.git
The following commit(s) were added to refs/heads/master by this push:
new 5cdcc83 update QC filtering to be only selected quality flags (#8)
5cdcc83 is described below
commit 5cdcc834e669a67ad6bfd9c29f55a51ad668587f
Author: echyam <[email protected]>
AuthorDate: Mon Aug 26 10:51:34 2019 -0700
update QC filtering to be only selected quality flags (#8)
* update QC filtering to be only selected quality flags, don't include
higher quality flags, and default to good if not specified
* remove SPURS and SPURS2 since they don't store quality flags
---
src/main/python/plugins/icoads/json/Writer.py | 19 ++++++++++++++++---
src/main/python/plugins/samos/json/Writer.py | 22 ++++++++++++++++++----
src/main/python/plugins/spurs/json/Writer.py | 4 ++++
src/main/python/plugins/spurs2/json/Writer.py | 4 ++++
4 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/src/main/python/plugins/icoads/json/Writer.py
b/src/main/python/plugins/icoads/json/Writer.py
index dfd5163..4d6d0de 100644
--- a/src/main/python/plugins/icoads/json/Writer.py
+++ b/src/main/python/plugins/icoads/json/Writer.py
@@ -23,6 +23,10 @@ class Writer(SolrTemplateResponseWriter):
return response.generate(solrResponse, pretty=pretty)
def _constructSolrQuery(self, startIndex, entriesPerPage, parameters,
facets):
+ # if no QC flag is given, default to only good
+ if not "qualityFlag" in parameters.keys():
+ parameters['qualityFlag'] = 1
+
queries = []
filterQueries = []
sort = None
@@ -65,11 +69,20 @@ class Writer(SolrTemplateResponseWriter):
elif key == "qualityFlag":
if 'variable' in parameters:
if parameters['variable'].lower() == 'sss':
-
filterQueries.append('(sss_qc_flag:[*%20TO%20'+value+'])')
+ if type(value) is list:
+ filterQueries.append('(sss_qc_flag:(' +
'+OR+'.join(value) + '))')
+ else:
+
filterQueries.append('(sss_qc_flag:('+value+'))')
elif parameters['variable'].lower() == 'sst':
-
filterQueries.append('(sst_qc_flag:[*%20TO%20'+value+'])')
+ if type(value) is list:
+ filterQueries.append('(sst_qc_flag:(' +
'+OR+'.join(value) + '))')
+ else:
+
filterQueries.append('(sst_qc_flag:('+value+'))')
elif parameters['variable'].lower() == 'wind':
-
filterQueries.append('(wind_qc_flag:[*%20TO%20'+value+'])')
+ if type(value) is list:
+ filterQueries.append('(wind_qc_flag:(' +
'+OR+'.join(value) + '))')
+ else:
+ filterQueries.append('(wind_qc_flag:(' + value
+ '))')
elif key == 'platform':
if type(value) is list:
filterQueries.append('platform:(' + '+OR+'.join(value)
+ ')')
diff --git a/src/main/python/plugins/samos/json/Writer.py
b/src/main/python/plugins/samos/json/Writer.py
index b0a10ab..21dc337 100644
--- a/src/main/python/plugins/samos/json/Writer.py
+++ b/src/main/python/plugins/samos/json/Writer.py
@@ -23,6 +23,10 @@ class Writer(SolrTemplateResponseWriter):
return response.generate(solrResponse, pretty=pretty)
def _constructSolrQuery(self, startIndex, entriesPerPage, parameters,
facets):
+ # if no QC flag is given, default to only good
+ if not "qualityFlag" in parameters.keys():
+ parameters['qualityFlag'] = 1
+
queries = []
filterQueries = []
sort = None
@@ -65,12 +69,22 @@ class Writer(SolrTemplateResponseWriter):
elif key == "qualityFlag":
if 'variable' in parameters:
if parameters['variable'].lower() == 'sss':
-
filterQueries.append('(SSS_quality:[*%20TO%20'+value+'])')
+ if type(value) is list:
+ filterQueries.append('(SSS_quality:(' +
'+OR+'.join(value) + '))')
+ else:
+ filterQueries.append('(SSS_quality:(' + value
+ '))')
elif parameters['variable'].lower() == 'sst':
-
filterQueries.append('(SST_quality:[*%20TO%20'+value+'])')
+ if type(value) is list:
+ filterQueries.append('(SST_quality:(' +
'+OR+'.join(value) + '))')
+ else:
+ filterQueries.append('(SST_quality:(' + value
+ '))')
elif parameters['variable'].lower() == 'wind':
-
filterQueries.append('(wind_speed_quality:[*%20TO%20'+value+'])')
-
filterQueries.append('(wind_component_quality:[*%20TO%20'+value+'])')
+ if type(value) is list:
+ filterQueries.append('(wind_speed_quality:(' +
'+OR+'.join(value) + '))')
+
filterQueries.append('(wind_component_quality:(' + '+OR+'.join(value) + '))')
+ else:
+ filterQueries.append('(wind_speed_quality:(' +
value + '))')
+
filterQueries.append('(wind_component_quality:(' + value + '))')
elif key == 'platform':
if type(value) is list:
filterQueries.append('platform:(' + '+OR+'.join(value)
+ ')')
diff --git a/src/main/python/plugins/spurs/json/Writer.py
b/src/main/python/plugins/spurs/json/Writer.py
index 126089f..b86096a 100644
--- a/src/main/python/plugins/spurs/json/Writer.py
+++ b/src/main/python/plugins/spurs/json/Writer.py
@@ -26,6 +26,10 @@ class Writer(SolrTemplateResponseWriter):
def _constructSolrQuery(self, startIndex, entriesPerPage, parameters,
facets):
variable = json.loads(self._configuration.get('solr', 'variable'))
+ # if no QC flag is given, default to only good
+ if not "qualityFlag" in parameters.keys():
+ parameters['qualityFlag'] = 1
+
queries = []
filterQueries = []
sort = None
diff --git a/src/main/python/plugins/spurs2/json/Writer.py
b/src/main/python/plugins/spurs2/json/Writer.py
index 126089f..b86096a 100644
--- a/src/main/python/plugins/spurs2/json/Writer.py
+++ b/src/main/python/plugins/spurs2/json/Writer.py
@@ -26,6 +26,10 @@ class Writer(SolrTemplateResponseWriter):
def _constructSolrQuery(self, startIndex, entriesPerPage, parameters,
facets):
variable = json.loads(self._configuration.get('solr', 'variable'))
+ # if no QC flag is given, default to only good
+ if not "qualityFlag" in parameters.keys():
+ parameters['qualityFlag'] = 1
+
queries = []
filterQueries = []
sort = None