You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sdap.apache.org by fg...@apache.org on 2019/03/25 17:33:00 UTC

[incubator-sdap-edge] branch master updated: SDAP-176 Quality flag filtering on Solr search (#3)

This is an automated email from the ASF dual-hosted git repository.

fgreg 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 71d1905  SDAP-176 Quality flag filtering on Solr search (#3)
71d1905 is described below

commit 71d190599ca79591ef2bf2c116bfa86bc281059c
Author: echyam <ec...@users.noreply.github.com>
AuthorDate: Mon Mar 25 13:32:56 2019 -0400

    SDAP-176 Quality flag filtering on Solr search (#3)
    
    * SDAP-144 and SDAP-176 quality flag updates and solr query for EDGE
    
    * SDAP-144 and SDAP-176 modify quality flag filter to also include higher quality results
    
    * update wind quality flag names
    
    * SDAP-144, SDAP-176 forgot to modify SAMOS Solr query values
    
    * SDAP-144, SDAP-176 fix ICOADS qc flag name
    
    * SDAP-176 Quality flag filter back to only selected quality (can select multiple)
---
 src/main/python/plugins/icoads/json/Writer.py     | 10 ++++++++++
 src/main/python/plugins/icoads/json/template.json |  3 ++-
 src/main/python/plugins/samos/json/Writer.py      | 10 ++++++++++
 src/main/python/plugins/samos/json/template.json  |  7 ++++---
 src/main/python/plugins/spurs/json/template.json  |  7 ++++---
 src/main/python/plugins/spurs2/json/template.json |  7 ++++---
 6 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/src/main/python/plugins/icoads/json/Writer.py b/src/main/python/plugins/icoads/json/Writer.py
index c3bf33a..f52336c 100644
--- a/src/main/python/plugins/icoads/json/Writer.py
+++ b/src/main/python/plugins/icoads/json/Writer.py
@@ -61,6 +61,16 @@ class Writer(SolrTemplateResponseWriter):
                             filterQueries.append('(sst_depth:[*%20TO%20'+value+']+OR+(*:*%20NOT%20sst_depth:*))')
                         elif parameters['variable'].lower() == 'wind':
                             filterQueries.append('(wind_depth:[*%20TO%20'+value+']+OR+(*:*%20NOT%20wind_depth:*))')
+                # include data only at specified quality level and have default at good in UI
+                elif key == "qualityFlag":
+                    if 'variable' in parameters:
+                        if parameters['variable'].lower() == 'sss':
+                            filterQueries.append('(SSS_quality:[*%20TO%20'+value+'])')
+                        elif parameters['variable'].lower() == 'sst':
+                            filterQueries.append('(SST_quality:[*%20TO%20'+value+'])')
+                        elif parameters['variable'].lower() == 'wind':
+                            filterQueries.append('(wind_quality:[*%20TO%20'+value+'])')
+                            filterQueries.append('(wind_direction_quality:[*%20TO%20'+value+'])')
                 elif key == 'platform':
                     if type(value) is list:
                         filterQueries.append('platform:(' + '+OR+'.join(value) + ')')
diff --git a/src/main/python/plugins/icoads/json/template.json b/src/main/python/plugins/icoads/json/template.json
index 6133e52..40425e8 100755
--- a/src/main/python/plugins/icoads/json/template.json
+++ b/src/main/python/plugins/icoads/json/template.json
@@ -16,7 +16,8 @@
 "eastward_wind": {{ doc['wind_u'] | jsonify }},
 "northward_wind": {{ doc['wind_v'] | jsonify }},
 "wind_depth": {{ doc['wind_depth'] | jsonify }},
-"wind_quality": {{ doc['wind_qc_flag'] | jsonify }},
+"wind_speed_quality": {{ doc['wind_qc_flag'] | jsonify }},
+"wind_component_quality": {{ doc['wind_qc_flag'] | jsonify }},
 "sea_water_salinity": {{ doc['sss'] | jsonify }},
 "sea_water_salinity_depth": {{ doc['sss_depth'] | jsonify }},
 "sea_water_salinity_quality": {{ doc['sss_qc_flag'] | jsonify }},
diff --git a/src/main/python/plugins/samos/json/Writer.py b/src/main/python/plugins/samos/json/Writer.py
index 3b2ac7d..12c5318 100644
--- a/src/main/python/plugins/samos/json/Writer.py
+++ b/src/main/python/plugins/samos/json/Writer.py
@@ -61,6 +61,16 @@ class Writer(SolrTemplateResponseWriter):
                             filterQueries.append('(SST_depth:[*%20TO%20'+value+']+OR+(*:*%20NOT%20SST_depth:*))')
                         elif parameters['variable'].lower() == 'wind':
                             filterQueries.append('(wind_depth:[*%20TO%20'+value+']+OR+(*:*%20NOT%20wind_depth:*))')
+                # include data only at specified quality level and have default at good in UI
+                elif key == "qualityFlag":
+                    if 'variable' in parameters:
+                        if parameters['variable'].lower() == 'sss':
+                            filterQueries.append('(SSS_quality:[*%20TO%20'+value+'])')
+                        elif parameters['variable'].lower() == 'sst':
+                            filterQueries.append('(SST_quality:[*%20TO%20'+value+'])')
+                        elif parameters['variable'].lower() == 'wind':
+                            filterQueries.append('(wind_quality:[*%20TO%20'+value+'])')
+                            filterQueries.append('(wind_direction_quality:[*%20TO%20'+value+'])')
                 elif key == 'platform':
                     if type(value) is list:
                         filterQueries.append('platform:(' + '+OR+'.join(value) + ')')
diff --git a/src/main/python/plugins/samos/json/template.json b/src/main/python/plugins/samos/json/template.json
index e3071b5..e3afe3d 100755
--- a/src/main/python/plugins/samos/json/template.json
+++ b/src/main/python/plugins/samos/json/template.json
@@ -10,15 +10,16 @@
 "point": "Point({{ doc['loc'].split(',')[1] }} {{ doc['loc'].split(',')[0] }})",
 "sea_water_temperature": {{ doc['SST'] | jsonify }},
 "sea_water_temperature_depth": {{ doc['SST_depth'] | jsonify }},
-"sea_water_temperature_quality": {% if doc['SST_quality'] == False %}0{% elif doc['SST_quality'] == True %}1{% else %}null{% endif %},
+"sea_water_temperature_quality": {% if doc['SST_quality'] == False %}0{% elif doc['SST_quality'] == True %}1{% else %}9{% endif %},
 "wind_speed": {{ doc['wind_speed'] | jsonify }},
 "eastward_wind": {{ doc['wind_u'] | jsonify }},
 "northward_wind": {{ doc['wind_v'] | jsonify }},
 "wind_depth": {{ doc['wind_depth'] | jsonify }},
-"wind_quality": {% if doc['wind_quality'] == False %}0{% elif doc['wind_quality'] == True %}1{% else %}null{% endif %},
+"wind_speed_quality": {% if doc['wind_quality'] == False %}0{% elif doc['wind_quality'] == True %}1{% else %}9{% endif %},
+"wind_component_quality": {% if doc['wind_component_quality'] == False %}0{% elif doc['wind_component_quality'] == True %}1{% else %}9{% endif %},
 "sea_water_salinity": {{ doc['SSS'] | jsonify }},
 "sea_water_salinity_depth": {{ doc['SSS_depth'] | jsonify }},
-"sea_water_salinity_quality": {% if doc['SSS_quality'] == False %}0{% elif doc['SSS_quality'] == True %}1{% else %}null{% endif %},
+"sea_water_salinity_quality": {% if doc['SSS_quality'] == False %}0{% elif doc['SSS_quality'] == True %}1{% else %}9{% endif %},
 "platform": {{ doc['platform'] | jsonify }},
 "device": {{ doc['device'] | jsonify }},
 "mission": {{ doc['mission'] | jsonify }},
diff --git a/src/main/python/plugins/spurs/json/template.json b/src/main/python/plugins/spurs/json/template.json
index c445f12..ef15a0b 100755
--- a/src/main/python/plugins/spurs/json/template.json
+++ b/src/main/python/plugins/spurs/json/template.json
@@ -11,15 +11,16 @@
 "point": "Point({{ doc['point_srpt'] }})",
 "sea_water_temperature": {% if 'temperature' in doc %}{{ doc['temperature'] | jsonify }}{% elif 'temperature1' in doc %}{{ doc['temperature1'] | jsonify }}{% elif 'TEMP' in doc %}{{ doc['TEMP'] | jsonify }}{% elif 'temperature_ctd' in doc %}{{ doc['temperature_ctd'] | jsonify }}{% else %}null{% endif %},
 "sea_water_temperature_depth": {% if 'temperature' in doc or 'temperature1' in doc or 'TEMP' in doc or 'temperature_ctd' in doc %}{{ doc['depth'] | jsonify }}{% else %}null{% endif %},
-"sea_water_temperature_quality": {% if 'temperature' in doc or 'temperature1' in doc or 'TEMP' in doc or 'temperature_ctd' in doc %}0{% else %}null{% endif %},
+"sea_water_temperature_quality": {% if 'temperature' in doc or 'temperature1' in doc or 'TEMP' in doc or 'temperature_ctd' in doc %}1{% else %}9{% endif %},
 "wind_speed": {{ doc['RELWSPD'] | jsonify }},
 "eastward_wind": {% if 'eastward_wind' in doc %}{{ doc['eastward_wind'][0] | jsonify }}{% else %}null{% endif %},
 "northward_wind": {% if 'northward_wind' in doc %}{{ doc['northward_wind'][0] | jsonify }}{% else %}null{% endif %},
 "wind_depth": {% if 'RELWSPD' in doc %}{{ doc['depth'] | jsonify }}{% else %}null{% endif %},
-"wind_quality": {% if 'RELWSPD' in doc %}0{% else %}null{% endif %},
+"wind_speed_quality": {% if 'RELWSPD' in doc %}1{% else %}9{% endif %},
+"wind_component_quality": {{% if 'RELWSPD' in doc %}1{% else %}9{% endif %},
 "sea_water_salinity": {% if 'salinity' in doc %}{{ doc['salinity'] | jsonify }}{% elif 'salinity1' in doc %}{{ doc['salinity1'] | jsonify }}{% elif 'salinity_ctd' in doc %}{{ doc['salinity_ctd'] | jsonify }}{% else %}null{% endif %},
 "sea_water_salinity_depth": {% if 'salinity' in doc or 'salinity1' in doc or 'salinity_ctd' in doc %}{{ doc['depth'] | jsonify }}{% else %}null{% endif %},
-"sea_water_salinity_quality": {% if 'salinity' in doc or 'salinity1' in doc or 'salinity_ctd' in doc %}0{% else %}null{% endif %},
+"sea_water_salinity_quality": {% if 'salinity' in doc or 'salinity1' in doc or 'salinity_ctd' in doc %}1{% else %}9{% endif %},
 "platform": {{ doc['platform'] | jsonify }},
 "device": {{ doc['device'] | jsonify }},
 "fileurl": {{ doc['fileurl'] | jsonify }}
diff --git a/src/main/python/plugins/spurs2/json/template.json b/src/main/python/plugins/spurs2/json/template.json
index a629a5d..8337ae7 100755
--- a/src/main/python/plugins/spurs2/json/template.json
+++ b/src/main/python/plugins/spurs2/json/template.json
@@ -11,15 +11,16 @@
 "point": "Point({{ doc['point_srpt'] }})",
 "sea_water_temperature": {% if 'temperature' in doc %}{{ doc['temperature'] | jsonify }}{% elif 'temperature1' in doc %}{{ doc['temperature1'] | jsonify }}{% elif 'TEMP' in doc %}{{ doc['TEMP'] | jsonify }}{% elif 'temperature_ctd' in doc %}{{ doc['temperature_ctd'] | jsonify }}{% elif 'T_20' in doc %}{{ doc['T_20'] | jsonify }}{% else %}null{% endif %},
 "sea_water_temperature_depth": {% if 'temperature' in doc or 'temperature1' in doc or 'TEMP' in doc or 'temperature_ctd' in doc or 'T_20' in doc %}{{ doc['depth'] | jsonify }}{% else %}null{% endif %},
-"sea_water_temperature_quality": {% if 'temperature' in doc or 'temperature1' in doc or 'TEMP' in doc or 'temperature_ctd' in doc or 'T_20' in doc %}0{% else %}null{% endif %},
+"sea_water_temperature_quality": {% if 'temperature' in doc or 'temperature1' in doc or 'TEMP' in doc or 'temperature_ctd' in doc or 'T_20' in doc %}1{% else %}9{% endif %},
 "wind_speed": {{ doc['RELWSPD'] | jsonify }},
 "eastward_wind": {{ doc['wind_u'] | jsonify }},
 "northward_wind": {{ doc['wind_v'] | jsonify }},
 "wind_depth": {% if 'RELWSPD' in doc %}{{ doc['depth'] | jsonify }}{% else %}null{% endif %},
-"wind_quality": {% if 'RELWSPD' in doc %}0{% else %}null{% endif %},
+"wind_speed_quality": {% if 'RELWSPD' in doc %}1{% else %}9{% endif %},
+"wind_component_quality": {{% if 'RELWSPD' in doc %}1{% else %}9{% endif %},
 "sea_water_salinity": {% if 'salinity' in doc %}{{ doc['salinity'] | jsonify }}{% elif 'salinity1' in doc %}{{ doc['salinity1'] | jsonify }}{% elif 'salinity_ctd' in doc %}{{ doc['salinity_ctd'] | jsonify }}{% elif 'S_41' in doc %}{{ doc['S_41'] | jsonify }}{% else %}null{% endif %},
 "sea_water_salinity_depth": {% if 'salinity' in doc or 'salinity1' in doc or 'salinity_ctd' in doc or 'S_41' in doc %}{{ doc['depth'] | jsonify }}{% else %}null{% endif %},
-"sea_water_salinity_quality": {% if 'salinity' in doc or 'salinity1' in doc or 'salinity_ctd' in doc or 'S_41' in doc %}0{% else %}null{% endif %},
+"sea_water_salinity_quality": {% if 'salinity' in doc or 'salinity1' in doc or 'salinity_ctd' in doc or 'S_41' in doc %}1{% else %}9{% endif %},
 "platform": {{ doc['platform'] | jsonify }},
 "device": {{ doc['device'] | jsonify }},
 "fileurl": {{ doc['fileurl'] | jsonify }}