From c3320669b2949b4204ce5bddc3d6265e279ad0bf Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 23 Aug 2016 21:53:55 +0000 Subject: [PATCH 01/34] installl scripts should account for el7 repo --- installCAVE.sh | 13 +++++++++---- installEDEX.sh | 8 +++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/installCAVE.sh b/installCAVE.sh index e362e64313..61d20b0881 100755 --- a/installCAVE.sh +++ b/installCAVE.sh @@ -15,12 +15,17 @@ if [ ! -f /etc/yum.repos.d/awips2.repo ]; then echo '' echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo' echo '' - wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo - echo "Running 'yum clean all'" - yum clean all - echo '' + if [[ $(grep "release 7" /etc/redhat-release) ]]; then + wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/el7.repo + else + wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo + fi fi +echo "Running 'yum clean all'" +yum clean all +echo '' + # # If CAVE is not installed them make sure /awips2/cave/ # and /awips2/alertviz/ are removed before installing. diff --git a/installEDEX.sh b/installEDEX.sh index 938122fbf1..c9aaca60e5 100755 --- a/installEDEX.sh +++ b/installEDEX.sh @@ -9,11 +9,17 @@ # # Download yum repo file from Unidata # + + if [ ! -f /etc/yum.repos.d/awips2.repo ]; then echo '' echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo' echo '' - wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo + if [[ $(grep "release 7" /etc/redhat-release) ]]; then + wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/el7.repo + else + wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo + fi fi # From 5b22789d2dcbfeef82f09569f246ab10f68b7c24 Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 23 Aug 2016 16:56:37 -0500 Subject: [PATCH 02/34] edex service manager updates --- rpms/awips2.upc/Installer.edex-upc/programs/edex | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/rpms/awips2.upc/Installer.edex-upc/programs/edex b/rpms/awips2.upc/Installer.edex-upc/programs/edex index 6c1ba52f1f..bbf6f293e0 100755 --- a/rpms/awips2.upc/Installer.edex-upc/programs/edex +++ b/rpms/awips2.upc/Installer.edex-upc/programs/edex @@ -45,8 +45,8 @@ options=( 'status' 'start' 'stop' 'log' 'setup' 'purge' 'users') nopts=${options[@]} # find interface for routeable IPs -usedev=`netstat -rn | egrep "^0.0.0.0" | awk '{print $8}'` -IP=`/sbin/ifconfig $usedev | grep "inet addr" | awk '{ print $2 }' | cut -d: -f2` +usedev=`netstat -rn | egrep "^0.0.0.0" | awk '{print $8}'| head -1` +IP=`/sbin/ifconfig $usedev | grep -v "inet6" | grep "inet" | awk '{ print $2 }' | cut -d: -f2` # truncate IP_CIDR="${IP%.*}" @@ -209,8 +209,8 @@ edit_pg() { # edex pg_hba.conf } edit_ldm() { # edex ldmd.conf and registry.xml - sed -i.setup_$YMD 's/EDEX_HOSTNAME/'$HOSTNAME'/g' $LDMD_CONF - echo '[edit] Hostname '$HOSTNAME' added to '$LDMD_CONF + sed -i.setup_$YMD 's/EDEX_HOSTNAME/localhost/g' $LDMD_CONF + echo '[edit] Hostname localhost added to '$LDMD_CONF } @@ -241,11 +241,8 @@ edex_ipexit() { # abandon ip editing, post msg to guide manual edits echo -e ' You may need to MANUALLY EDIT the following files' echo -e '\n'$editCom echo -e ' for EDEX to work properly. \n' - #echo -e ' All instances of "localhost" should be replaced with the' - #echo -e ' fully-qualified hostname of your machine.\n' echo -e ' Special notes:' echo -e ' '$PG_FILE' *must* contain your subdomain.' - echo -e ' '$PY_FILE' *must* contain "Group fxalpha", not "Group awips"' echo '' } From 0f8b73c3257db53ea5eba633c7b648159e78fd56 Mon Sep 17 00:00:00 2001 From: Michael James Date: Mon, 29 Aug 2016 13:23:00 -0500 Subject: [PATCH 03/34] TDS filename regex for level3 radar; regional sat menu correction; d2d layout edits; def. ldmd.conf requests regex their products --- .gitignore | 3 +- cave/com.raytheon.uf.viz.d2d.ui/plugin.xml | 29 +++++------ .../menus/satellite/regionalSatellite.xml | 18 +++---- edexOsgi/build.edex/build.xml | 48 +++++++++++-------- .../edex_static/base/distribution/radar.xml | 1 + .../Installer.ldm/patch/etc/ldmd.conf | 25 +++++----- 6 files changed, 68 insertions(+), 56 deletions(-) diff --git a/.gitignore b/.gitignore index f82039fb96..0f049cc5b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,11 @@ -bin/ .metadata/ +.gitignore ldm/Debug test-bin/ testbin/ testBin/ bin-test/ +bin *.class *.pyo *.pyc diff --git a/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml b/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml index 8fbb8632f3..636c5059bc 100644 --- a/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml +++ b/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml @@ -436,20 +436,6 @@ - - - - - - - - + + + + + + + + - + @@ -46,7 +46,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -155,11 +155,11 @@ + menuText="Puerto Rico Regional 6.7-6.5 micron IR (WV)" id="irWindow"> - + @@ -196,7 +196,7 @@ - + @@ -226,7 +226,7 @@ - + \ No newline at end of file diff --git a/edexOsgi/build.edex/build.xml b/edexOsgi/build.edex/build.xml index c82f3e51b6..cc89870276 100644 --- a/edexOsgi/build.edex/build.xml +++ b/edexOsgi/build.edex/build.xml @@ -95,26 +95,26 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -127,6 +127,14 @@ + + + + + + - - - - - - - PLAN_VIEW - - - - - - - - - - - - - - Interstates - mapdata.interstate
- the_geom -
-
- - - - - - - PLAN_VIEW - - - - - + + + + - - - - PLAN_VIEW + + + + - - + + + + + + + PLAN_VIEW + + + + + + + + + + + + + World + mapdata.world
+ name not in ('UNITED STATES') + the_geom +
+
+ + + PLAN_VIEW + + + + + + + + + + + + + County Boundaries + mapdata.county
+ the_geom +
+
+ + + PLAN_VIEW + + + + + + + + + + + + + State Boundaries Zoom + mapdata.states
+ the_geom +
+
+ State/County Boundaries +
+
+ + + PLAN_VIEW + + + + + + + + + + + - State Boundaries - mapdata.states
+ Local CWA Boundary + mapdata.cwa
+ wfo = 'XXX' the_geom
- - - - - PLAN_VIEW + + + + + + + + - - + + - - County Boundaries - mapdata.county
+ + Cities + mapdata.city
the_geom + prog_disc
- State/County Boundaries -
-
- - - - - - - - PLAN_VIEW - - - - - - Local CWA Boundary - mapdata.cwa
- wfo = 'XXX' - the_geom -
-
- - - PLAN_VIEW - - - - - - - - - - - - - - Cities - mapdata.city
- the_geom - prog_disc -
-
- - 12 - - PROJCS["Equidistant_Cylindrical", - GEOGCS["WGS84(DD)", - DATUM["WGS84", - SPHEROID["WGS84", 6378137.0, 298.257223563]], - PRIMEM["Greenwich", 0.0], - UNIT["degree", 0.017453292519943295], - AXIS["Geodetic longitude", EAST], - AXIS["Geodetic latitude", NORTH]], - PROJECTION["Equidistant_Cylindrical"], - PARAMETER["semi_major", 6371229.0], - PARAMETER["semi_minor", 6371229.0], - PARAMETER["central_meridian", LONGITUDE], - PARAMETER["latitude_of_origin", LATITUDE], - PARAMETER["standard_parallel_1", 0.0], - PARAMETER["false_easting", 0.0], - PARAMETER["false_northing", 0.0], - UNIT["m", 1.0], - AXIS["Easting", EAST], - AXIS["Northing", NORTH]] - - -
-
-
-
- + 2147483647 + + PROJCS["Mercator_1SP", + GEOGCS["WGS84(DD)", + DATUM["WGS84", + SPHEROID["WGS84", 6378137.0, 298.257223563]], + PRIMEM["Greenwich", 0.0], + UNIT["degree", 0.017453292519943295], + AXIS["Geodetic longitude", EAST], + AXIS["Geodetic latitude", NORTH]], + PROJECTION["Mercator_1SP"], + PARAMETER["semi_major", 6371229.0], + PARAMETER["semi_minor", 6371229.0], + PARAMETER["latitude_of_origin", 0.0], + PARAMETER["central_meridian", 0.0], + PARAMETER["scale_factor", 1.0], + PARAMETER["false_easting", 0.0], + PARAMETER["false_northing", 0.0], + UNIT["m", 1.0], + AXIS["Easting", EAST], + AXIS["Northing", NORTH]] + + 12 + + + + + From 3b805eaadaebfd546b00ac599932fcfe948e80e0 Mon Sep 17 00:00:00 2001 From: Mark Ruebens Date: Mon, 27 Jun 2016 16:29:58 -0500 Subject: [PATCH 05/34] Merge "ASM #18440 - Making small changes to grids and subgrids requires clearing out data for affected models" into asm_16.2.2 --- .../uf/common/gridcoverage/GridCoverage.java | 28 +++++++++++++++---- .../LambertConformalGridCoverage.java | 7 +++-- .../gridcoverage/MercatorGridCoverage.java | 3 +- .../gridcoverage/PolarStereoGridCoverage.java | 5 ++-- .../StereographicGridCoverage.java | 5 ++-- .../gridcoverage/GetGridCoverageHandler.java | 26 +++++++++-------- 6 files changed, 49 insertions(+), 25 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java index e784ae6cee..3c00d176ed 100644 --- a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java +++ b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java @@ -88,6 +88,7 @@ import com.vividsolutions.jts.geom.Geometry; * Oct 01, 2015 4868 rjpeter Reject subGrids that don't meet minimum * coverage percent. * Feb 26, 2016 5414 rjpeter Fix subgrids along boundary. + * Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values. * * * @author bphillip @@ -109,7 +110,9 @@ public abstract class GridCoverage extends PersistableDataObject protected static final String SUBGRID_TOKEN = "SubGrid-"; - public static final double SPATIAL_TOLERANCE = 0.1; + public static final double SPATIAL_TOLERANCE_KM = 0.1; + + public static final double SPATIAL_TOLERANCE_DEG = 0.0025; /** The id for this grid. This value is generated in the initialize method **/ @Id @@ -887,19 +890,34 @@ public abstract class GridCoverage extends PersistableDataObject if (firstGridPointCorner != other.firstGridPointCorner) { return false; } - if (Math.abs(dx - other.dx) > SPATIAL_TOLERANCE) { + double spacingUnitTolerance = getSpacingUnitTolerance(); + if (Math.abs(dx - other.dx) > spacingUnitTolerance) { return false; - } else if (Math.abs(dy - other.dy) > SPATIAL_TOLERANCE) { + } else if (Math.abs(dy - other.dy) > spacingUnitTolerance) { return false; - } else if (Math.abs(la1 - other.la1) > SPATIAL_TOLERANCE) { + } else if (Math.abs(la1 - other.la1) > SPATIAL_TOLERANCE_DEG) { return false; } else if (Math.abs(MapUtil.correctLon(lo1) - - MapUtil.correctLon(other.lo1)) > SPATIAL_TOLERANCE) { + - MapUtil.correctLon(other.lo1)) > SPATIAL_TOLERANCE_DEG) { return false; } return true; } + public double getSpacingUnitTolerance() { + if ("degree".equals(spacingUnit)) { + return SPATIAL_TOLERANCE_DEG; + } else { + Unit spacingUnitObj = Unit.valueOf(spacingUnit); + if (spacingUnitObj.isCompatible(SI.KILOMETER)) { + UnitConverter converter = SI.KILOMETER.getConverterTo(spacingUnitObj); + return converter.convert(SPATIAL_TOLERANCE_KM); + } else { + return SPATIAL_TOLERANCE_KM; + } + } + } + /** * Unique key containing the spatial attributes of this coverage. * diff --git a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/LambertConformalGridCoverage.java b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/LambertConformalGridCoverage.java index 9cfd99d02d..6a1984b98b 100644 --- a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/LambertConformalGridCoverage.java +++ b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/LambertConformalGridCoverage.java @@ -51,6 +51,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; * Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation. * Jun 05, 2014 3243 bsteffen Remove deprecated lambert conformal call. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding. + * Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values. * * * @author bphillip @@ -269,11 +270,11 @@ public class LambertConformalGridCoverage extends GridCoverage { public boolean spatialEquals(GridCoverage other) { if (super.spatialEquals(other)) { LambertConformalGridCoverage otherLambert = (LambertConformalGridCoverage) other; - if (Math.abs(latin1 - otherLambert.latin1) > SPATIAL_TOLERANCE) { + if (Math.abs(latin1 - otherLambert.latin1) > SPATIAL_TOLERANCE_DEG) { return false; - } else if (Math.abs(latin2 - otherLambert.latin2) > SPATIAL_TOLERANCE) { + } else if (Math.abs(latin2 - otherLambert.latin2) > SPATIAL_TOLERANCE_DEG) { return false; - } else if (Math.abs(lov - otherLambert.lov) > SPATIAL_TOLERANCE) { + } else if (Math.abs(lov - otherLambert.lov) > SPATIAL_TOLERANCE_DEG) { return false; } return true; diff --git a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/MercatorGridCoverage.java b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/MercatorGridCoverage.java index d04a24feb3..5eda11a3e8 100644 --- a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/MercatorGridCoverage.java +++ b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/MercatorGridCoverage.java @@ -55,6 +55,7 @@ import com.vividsolutions.jts.geom.Coordinate; * 09/10/2012 DR 15270 D. Friedman Fix subgrid model name handling. * Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding. + * Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values. * * * @author bphillip @@ -338,7 +339,7 @@ public class MercatorGridCoverage extends GridCoverage { public boolean spatialEquals(GridCoverage other) { if (super.spatialEquals(other)) { MercatorGridCoverage otherMercator = (MercatorGridCoverage) other; - if (Math.abs(latin - otherMercator.latin) > SPATIAL_TOLERANCE) { + if (Math.abs(latin - otherMercator.latin) > SPATIAL_TOLERANCE_DEG) { return false; } return true; diff --git a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/PolarStereoGridCoverage.java b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/PolarStereoGridCoverage.java index 75385bbe9a..bcdc41f368 100644 --- a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/PolarStereoGridCoverage.java +++ b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/PolarStereoGridCoverage.java @@ -51,6 +51,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; * 09/10/2012 DR 15270 D. Friedman Fix subgrid model name handling. * Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding. + * Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values. * * * @author bphillip @@ -268,9 +269,9 @@ public class PolarStereoGridCoverage extends GridCoverage { public boolean spatialEquals(GridCoverage other) { if (super.spatialEquals(other)) { PolarStereoGridCoverage otherPolar = (PolarStereoGridCoverage) other; - if (Math.abs(lad - otherPolar.lad) > SPATIAL_TOLERANCE) { + if (Math.abs(lad - otherPolar.lad) > SPATIAL_TOLERANCE_DEG) { return false; - } else if (Math.abs(lov - otherPolar.lov) > SPATIAL_TOLERANCE) { + } else if (Math.abs(lov - otherPolar.lov) > SPATIAL_TOLERANCE_DEG) { return false; } return true; diff --git a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/StereographicGridCoverage.java b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/StereographicGridCoverage.java index a2fd04b300..aee1c0be3c 100644 --- a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/StereographicGridCoverage.java +++ b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/StereographicGridCoverage.java @@ -46,6 +46,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; * ------------ ---------- ----------- -------------------------- * Apr 7, 2010 #4473 rjpeter Initial creation * Mar 04, 2015 3959 rjpeter Update for grid based subgridding. + * Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values. * * * @author rjpeter @@ -151,9 +152,9 @@ public class StereographicGridCoverage extends GridCoverage { public boolean spatialEquals(GridCoverage other) { if (super.spatialEquals(other)) { StereographicGridCoverage otherStereo = (StereographicGridCoverage) other; - if (Math.abs(lad - otherStereo.lad) > SPATIAL_TOLERANCE) { + if (Math.abs(lad - otherStereo.lad) > SPATIAL_TOLERANCE_DEG) { return false; - } else if (Math.abs(lov - otherStereo.lov) > SPATIAL_TOLERANCE) { + } else if (Math.abs(lov - otherStereo.lov) > SPATIAL_TOLERANCE_DEG) { return false; } return true; diff --git a/edexOsgi/com.raytheon.uf.edex.gridcoverage/src/com/raytheon/uf/edex/gridcoverage/GetGridCoverageHandler.java b/edexOsgi/com.raytheon.uf.edex.gridcoverage/src/com/raytheon/uf/edex/gridcoverage/GetGridCoverageHandler.java index 7c007fc7f4..8d55bcc51a 100644 --- a/edexOsgi/com.raytheon.uf.edex.gridcoverage/src/com/raytheon/uf/edex/gridcoverage/GetGridCoverageHandler.java +++ b/edexOsgi/com.raytheon.uf.edex.gridcoverage/src/com/raytheon/uf/edex/gridcoverage/GetGridCoverageHandler.java @@ -51,6 +51,7 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; * Mar 07, 2013 1771 bsteffen fix gridcoverage duplicate checks. * Mar 20, 2013 2910 bsteffen Commit transaction within cluster locks. * May 10, 2016 5642 rjpeter Remove transaction nesting. + * Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values. * * * @author bsteffen @@ -107,21 +108,22 @@ public class GetGridCoverageHandler implements trans = sess.beginTransaction(); Criteria crit = sess.createCriteria(coverage.getClass()); + double spacingUnitTolerance = coverage.getSpacingUnitTolerance(); crit.add(Restrictions.eq("nx", coverage.getNx())); crit.add(Restrictions.eq("ny", coverage.getNy())); crit.add(Restrictions.between("dx", coverage.getDx() - - GridCoverage.SPATIAL_TOLERANCE, coverage.getDx() - + GridCoverage.SPATIAL_TOLERANCE)); + - spacingUnitTolerance, coverage.getDx() + + spacingUnitTolerance)); crit.add(Restrictions.between("dy", coverage.getDy() - - GridCoverage.SPATIAL_TOLERANCE, coverage.getDy() - + GridCoverage.SPATIAL_TOLERANCE)); + - spacingUnitTolerance, coverage.getDy() + + spacingUnitTolerance)); crit.add(Restrictions.between("la1", coverage.getLa1() - - GridCoverage.SPATIAL_TOLERANCE, coverage.getLa1() - + GridCoverage.SPATIAL_TOLERANCE)); + - GridCoverage.SPATIAL_TOLERANCE_DEG, coverage.getLa1() + + GridCoverage.SPATIAL_TOLERANCE_DEG)); crit.add(Restrictions.between("lo1", coverage.getLo1() - - GridCoverage.SPATIAL_TOLERANCE, coverage.getLo1() - + GridCoverage.SPATIAL_TOLERANCE)); + - GridCoverage.SPATIAL_TOLERANCE_DEG, coverage.getLo1() + + GridCoverage.SPATIAL_TOLERANCE_DEG)); List vals = crit.list(); for (Object val : vals) { @@ -142,11 +144,11 @@ public class GetGridCoverageHandler implements crit.add(Restrictions.eq("nx", coverage.getNx())); crit.add(Restrictions.eq("ny", coverage.getNy())); crit.add(Restrictions.between("dx", coverage.getDx() - - GridCoverage.SPATIAL_TOLERANCE, coverage.getDx() - + GridCoverage.SPATIAL_TOLERANCE)); + - spacingUnitTolerance, coverage.getDx() + + spacingUnitTolerance)); crit.add(Restrictions.between("dy", coverage.getDy() - - GridCoverage.SPATIAL_TOLERANCE, coverage.getDy() - + GridCoverage.SPATIAL_TOLERANCE)); + - spacingUnitTolerance, coverage.getDy() + + spacingUnitTolerance)); vals = crit.list(); for (Object val : vals) { if (((GridCoverage) val).spatialEquals(coverage)) { From 361e05a3f75b54bc213174957392aa5297a885c6 Mon Sep 17 00:00:00 2001 From: Andrew Moore Date: Wed, 29 Jun 2016 16:10:25 +0000 Subject: [PATCH 06/34] VLab Issue #20143 - Fix PK statement for Hydro ingest filter due to table joining adding in DCS 14607; fixes #20143 Change-Id: Ibc2aa10414b73a65f73888c9e366e5e1dc3ef5ac --- .../viz/hydrocommon/data/DataIngestFilterData.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/data/DataIngestFilterData.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/data/DataIngestFilterData.java index 44390daa42..05c8a45a63 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/data/DataIngestFilterData.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/data/DataIngestFilterData.java @@ -33,6 +33,7 @@ import com.raytheon.viz.hydrocommon.HydroConstants; * ------------ ---------- ----------- -------------------------- * Dec 12, 2008 1787 askripsky Initial creation * Aug 07, 2015 4500 rjpeter Fix type case. + * JUN 29, 2016 19149 amoore Fix PK statement based on table joining. * * * @author askripsky @@ -241,9 +242,9 @@ public class DataIngestFilterData extends HydroDBData implements IHydroDBData { @Override public String getPKStatement() { - return "lid='" + getLid() + "' AND pe='" + getPe() + "' AND dur=" - + getDBString(getDuration()) + " AND ts='" + getTypeSource() - + "' AND extremum='" + getExtremum() + "'"; + return "ingestfilter.lid='" + getLid() + "' AND pe='" + getPe() + + "' AND dur=" + getDBString(getDuration()) + " AND ts='" + + getTypeSource() + "' AND extremum='" + getExtremum() + "'"; } @Override From 5189ac5297e4a027fea27156d8842470b55e8040 Mon Sep 17 00:00:00 2001 From: David Gillingham Date: Thu, 30 Jun 2016 13:27:29 -0500 Subject: [PATCH 07/34] Omaha #5723 - Add safety check to IFPClient.saveReferenceData. Change-Id: I245b97dc52d2252203ea465f930a0a2167e959e4 --- .../viz/gfe/core/internal/ReferenceSetManager.java | 9 ++------- .../META-INF/MANIFEST.MF | 3 ++- .../raytheon/uf/common/gfe/ifpclient/IFPClient.java | 12 ++++++++++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/ReferenceSetManager.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/ReferenceSetManager.java index fcc57ee4a2..2cccae5264 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/ReferenceSetManager.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/ReferenceSetManager.java @@ -116,6 +116,8 @@ import com.vividsolutions.jts.geom.Envelope; * Nov 18, 2015 5129 dgilling Use new IFPClient for get/save/delete * of reference data. * Dec 14, 2015 4816 dgilling Support refactored PythonJobCoordinator API. + * Jun 30, 2016 #5723 dgilling Move safety check from saveRefSet to + * IFPClient.saveReferenceData. * * * @@ -835,13 +837,6 @@ public class ReferenceSetManager implements IReferenceSetManager, "SaveRefSet id=" + orefData.getId()); ReferenceData refData = new ReferenceData(orefData); - - if (!refData.isQuery()) { - refData.getPolygons(CoordinateType.LATLON); - } else { - refData.setPolygons(null, CoordinateType.LATLON); - } - ServerResponse sr = dataManager.getClient().saveReferenceData( Arrays.asList(refData)); if (!sr.isOkay()) { diff --git a/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/META-INF/MANIFEST.MF b/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/META-INF/MANIFEST.MF index e507de6c70..bf0fa15d15 100644 --- a/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/META-INF/MANIFEST.MF +++ b/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/META-INF/MANIFEST.MF @@ -13,6 +13,7 @@ Require-Bundle: com.raytheon.uf.common.dataplugin.gfe;bundle-version="1.15.0", com.raytheon.uf.common.site;bundle-version="1.14.0", com.raytheon.uf.common.status;bundle-version="1.15.0", com.raytheon.uf.common.serialization;bundle-version="1.15.1", - com.raytheon.uf.common.time;bundle-version="1.15.0" + com.raytheon.uf.common.time;bundle-version="1.15.0", + org.geotools;bundle-version="10.5.0" Export-Package: com.raytheon.uf.common.gfe.ifpclient, com.raytheon.uf.common.gfe.ifpclient.exception diff --git a/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/src/com/raytheon/uf/common/gfe/ifpclient/IFPClient.java b/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/src/com/raytheon/uf/common/gfe/ifpclient/IFPClient.java index 91f4e09d96..bec6bfee25 100644 --- a/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/src/com/raytheon/uf/common/gfe/ifpclient/IFPClient.java +++ b/edexOsgi/com.raytheon.uf.common.gfe.ifpclient/src/com/raytheon/uf/common/gfe/ifpclient/IFPClient.java @@ -37,6 +37,7 @@ import com.raytheon.uf.common.dataplugin.gfe.db.objects.ParmID; import com.raytheon.uf.common.dataplugin.gfe.discrete.DiscreteDefinition; import com.raytheon.uf.common.dataplugin.gfe.discrete.DiscreteKey; import com.raytheon.uf.common.dataplugin.gfe.reference.ReferenceData; +import com.raytheon.uf.common.dataplugin.gfe.reference.ReferenceData.CoordinateType; import com.raytheon.uf.common.dataplugin.gfe.reference.ReferenceID; import com.raytheon.uf.common.dataplugin.gfe.request.AbstractGfeRequest; import com.raytheon.uf.common.dataplugin.gfe.request.CommitGridsRequest; @@ -122,6 +123,7 @@ import com.raytheon.uf.common.time.TimeRange; * Feb 05, 2016 #5242 dgilling Replace calls to deprecated Localization APIs. * Feb 24, 2016 #5129 dgilling Change how PyFPClient is constructed. * Apr 28, 2016 #5618 randerso Fix getGridData to handle "chunked" response. + * Jun 30, 2016 #5723 dgilling Add safety check to saveReferenceData. * * * @@ -691,6 +693,16 @@ public class IFPClient { LocalizationContext ctx = pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER); for (ReferenceData refData : referenceData) { + /* + * A safety check to ensure our XML-format ReferenceData has only + * either the polygons or query field populated. + */ + if (!refData.isQuery()) { + refData.getPolygons(CoordinateType.LATLON); + } else { + refData.setPolygons(null, CoordinateType.LATLON); + } + ILocalizationFile lf = pm.getLocalizationFile(ctx, EDIT_AREAS_DIR + IPathManager.SEPARATOR + refData.getId().getName() + ".xml"); From da83fad13e485cd28df0da389ae07c6d6a60ae17 Mon Sep 17 00:00:00 2001 From: "Ying-Lian.Shi" Date: Fri, 1 Jul 2016 17:31:53 +0000 Subject: [PATCH 08/34] ASM #19157 GFE: Add 3 fot option for Inundation Height for TCStormSurgeThreat values Change-Id: I3bc72e47305da6407bbd0cc02b1e8797e52fe6fe --- .../procedures/TCStormSurgeThreat.py | 84 ++++++++----------- 1 file changed, 34 insertions(+), 50 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py index 8195160e8d..2499c3c393 100644 --- a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py +++ b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py @@ -19,13 +19,18 @@ # Sept 18, 2014: Added code to pull grids from NHC via ISC if PHISH not # Available on time. Left inactive (commented out) for the moment until that can be fully tested later # in 2014 or in 2015. -# -# Last Modified: LeFebvre/Santos, July 27, 2015: Expanded Manual options to include Replace and Add options. +# LeFebvre/Santos, July 27, 2015: Expanded Manual options to include Replace and Add options. # This allows sites to specify manually different threat levels across different edit areas and time ranges. # See 2015HTIUserGuide for details. # # Feb 11, 2016 LeFebvre (16.1.2): Added code to create zero grids and manual grids when # PSURGE not available. Added checks for current guidance for PHISH and ISC options. +# +# April 14, 2016: Lefebvre/Santos: Added multabledb to restore ISC option +# +# Last Modified: +# 6/20/2016 - Santos: Added code to fix issue of old grid not being deleted when running Manual/Add option. + # ---------------------------------------------------------------------------- # The MenuItems list defines the GFE menu item(s) under which the # Procedure is to appear. @@ -51,7 +56,7 @@ VariableList = [("DEFAULT: Typical. Should only be changed in coordination with ("Grid Smoothing?", "Yes", "radio", ["Yes","No"]), ("Make grids from \nPHISH, ISC, or Manually?", "PHISH", "radio", ["PHISH", "ISC", "Manually Replace", "Manually Add"]), ("Manual Inundation settings:", "", "label"), - ("Inundation Height:", 1.0, "scale", [0.0, 2.0], 1.0), + ("Inundation Height:", 1.0, "scale", [0.0, 3.0], 1.0), ("Start Hour for Inundation Timing", 0, "scale", [0.0, 72.0], 6.0), ("End Hour for Inundation Timing", 6, "scale", [0.0, 78.0], 6.0), ] @@ -193,7 +198,7 @@ class Procedure (SmartScript.SmartScript): for tr in trList: start = tr.startTime().unixTime() - 6*3600 if n == 1: - starttimeghls = tr.startTime().unixTime() - 3*3600 + starttimeghls = tr.startTime().unixTime() - 48*3600 trdelete = TimeRange.TimeRange(AbsTime.AbsTime(starttimeghls - 100*3600), AbsTime.AbsTime(starttimeghls + 100*3600)) self.deleteCmd(['InundationTiming'], trdelete) @@ -411,7 +416,7 @@ class Procedure (SmartScript.SmartScript): # Copies the specified weather elements in elementList into the Fcst database. - def copyISCGridstoFcst(self, elementList): + def copyISCGridstoFcst(self, elementList, mutableID): # Initialize all the grids we plan to return @@ -510,6 +515,8 @@ class Procedure (SmartScript.SmartScript): # extract the percent value from this string pctPos = confidenceStr.find("%") pctStr = confidenceStr[pctPos - 2:pctPos] + + threatWEName = "StormSurgeThreat" #print "pctStr is: ", pctStr @@ -556,7 +563,7 @@ class Procedure (SmartScript.SmartScript): elementList = ["InundationMax","InundationTiming", "SurgeHtPlusTideMSL","SurgeHtPlusTideMLLW", "SurgeHtPlusTideNAVD","SurgeHtPlusTideMHHW"] - surgePctGrid,surgePctGridMSL,surgePctGridMLLW,surgePctGridMHHW,surgePctGridNAVD = self.copyISCGridstoFcst(elementList) + surgePctGrid,surgePctGridMSL,surgePctGridMLLW,surgePctGridMHHW,surgePctGridNAVD = self.copyISCGridstoFcst(elementList, mutableID) if surgePctGrid is None or surgePctGridMSL is None or surgePctGridMLLW is None or \ surgePctGridMHHW is None or surgePctGridNAVD is None: return @@ -581,40 +588,39 @@ class Procedure (SmartScript.SmartScript): self.statusBarMsg("Please define the end hour after the start hour.", "S") return - print "Making timing grids" surgePctGrid = self.empty() - # make the InundationMax grid - surgePctGrid[modifyMask] = inundationHeight + # Fetch the old grids if we're adding + if varDict["Make grids from \nPHISH, ISC, or Manually?"] == "Manually Add": + imTRList = self.getWEInventory(mutableID, "InundationMax", "SFC") + print "InnundationTFList:", imTRList + if len(imTRList) > 0: + print "got pctSurgegrid" + imTR = imTRList[0] + surgePctGrid = self.getGrids(mutableID, "InundationMax", "SFC", imTR) + + surgePctGrid[modifyMask] = inundationHeight + # Make the timing grids baseTime = self.baseGuidanceTime() # trList = self.makeTimingTRs(baseTime) trList, timingGrids = self.getTimingGrids() # print "TRLIST IS: ", trList - - if makeOption != "Manually Add": - timeRange = TimeRange.allTimes() - self.deleteCmd(["InundationTiming"], timeRange) - + for i in range(len(trList)): # only modify grid in the specified time range start = trList[i].startTime().unixTime() - end = trList[i].endTime().unixTime() - - # If we're adding, replace the empty timing grids with the existing grids - if makeOption == "Manually Add": - try: - tGrid = self.getGrids(mutableID, "InundationTiming", "SFC", trList[i]) - timingGrids[i] = tGrid - except: - print "Timing grid not found at:", trList[i] + end = trList[i].endTime().unixTime() if (start - baseTime) / 3600 >= inunStartHour and (end - baseTime) / 3600 <= inunEndHour: - timingGrids[i][modifyMask] = inundationHeight # populate only where needed + timingGrids[i] = surgePctGrid # populate only where needed + timeRange = TimeRange.allTimes() + self.deleteCmd(["InundationTiming"], timeRange) #self.createGrid(mutableID, "InundationTiming", "SCALAR", timingGrids[i], trList[i]) + for i in range(len(trList)): self.createGrid(mutableID, "InundationTiming", "SCALAR", timingGrids[i], trList[i]) - threatWEName = "StormSurgeThreat" + #threatWEName = "StormSurgeThreat" threatKeys = self.getDiscreteKeys(threatWEName) @@ -651,19 +657,13 @@ class Procedure (SmartScript.SmartScript): # Remove old guidance grids and replace them with the new grids # Delete the old grids first cTime = int(self._gmtime().unixTime()/ 3600) * 3600 - startTime = AbsTime.AbsTime(cTime - 24*3600) + startTime = AbsTime.AbsTime(cTime - 48*3600) endTime = startTime + 240*3600 deleteTimeRange = TimeRange.TimeRange(startTime, endTime) - - # Don't remove the StormSurgeThreat grid if we're adding to the current one. - if varDict["Make grids from \nPHISH, ISC, or Manually?"] == "Manually Add": - elementList.remove("StormSurgeThreat") - elementList.remove("InundationMax") - + for elem in elementList: self.deleteCmd([elem], deleteTimeRange) - if makeOption != "Manually Replace" and makeOption != "Manually Add": self.createGrid(mutableID, "SurgeHtPlusTideMSL", "SCALAR", surgePctGridMSL, timeRange, precision=2) @@ -677,23 +677,7 @@ class Procedure (SmartScript.SmartScript): # Make the grid. Start with the existing grid if we have one otherwise zeros coastalThreat = self.empty() - # Fetch the old grids if we're adding - if varDict["Make grids from \nPHISH, ISC, or Manually?"] == "Manually Add": - imTRList = self.getWEInventory(mutableID, "InundationMax", "SFC") - print "InnundationTFList:", imTRList - if len(imTRList) > 0: - print "got pctSurgegrid" - imTR = imTRList[0] - surgePctGrid = self.getGrids(mutableID, "InundationMax", "SFC", imTR) - surgePctGrid[modifyMask] = inundationHeight - - coastalTRList = self.getWEInventory(mutableID, threatWEName, "SFC") - if len(coastalTRList) > 0: - coastalTR = coastalTRList[0] - coastalThreat, keys = self.getGrids(mutableID, threatWEName, "SFC", coastalTR) - - self.createGrid(mutableID, "InundationMax", "SCALAR", surgePctGrid, timeRange, precision=2) - + self.createGrid(mutableID, "InundationMax", "SCALAR", surgePctGrid, timeRange, precision=2) # Yet another list to define the order in which we set grid values # This order must be ranked lowest to highest From a9297cf1396ab7d996173c9b1ccea122478bc077 Mon Sep 17 00:00:00 2001 From: "Ying-Lian.Shi" Date: Fri, 1 Jul 2016 17:45:28 +0000 Subject: [PATCH 09/34] ASM #19158 GFE: make_hti.sh scriptneeds to create a specific file IDG requires in order to generate the mosaics of each element Change-Id: If46faa776521859c839b9696cf28a46054447bbc --- .../hti/bin/make_hti.sh | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.tools.gfesuite/hti/bin/make_hti.sh b/edexOsgi/com.raytheon.uf.tools.gfesuite/hti/bin/make_hti.sh index 53daececc9..b045da7553 100644 --- a/edexOsgi/com.raytheon.uf.tools.gfesuite/hti/bin/make_hti.sh +++ b/edexOsgi/com.raytheon.uf.tools.gfesuite/hti/bin/make_hti.sh @@ -3,9 +3,9 @@ # Tested Operating System(s): RHEL 3, 4, 5, 6 # Tested Run Level(s): 3, 5 # Shell Used: BASH shell -# Original Author(s): Douglas.Gaer@noaa.gov +# Original Author(s): Joseph.Maloney@noaa.gov # File Creation Date: 01/27/2009 -# Date Last Modified: 02/20/2015 +# Date Last Modified: 06/15/2016 # # Contributors: # Joe Maloney (MFL), Pablo Santos (MFL) @@ -36,6 +36,10 @@ # 20 FEB 2015 - jcm - modified ifpIMAGE line to use ssh -x px2f; fixed # LOG_FILE at end of script; corrected $site variable # for kml rsync. +# 10 JUN 2016 - jcm - brought back ghls_active.txt because apparently +# NIDS is using this file in their KML mosiacking +# code instead of just looking at the timestamps +# of the KML files themselves. # ######################################################################## # CHECK TO SEE IF SITE ID WAS PASSED AS ARGUMENT @@ -128,6 +132,39 @@ ssh -x px2f "unset DISPLAY; ${GFEBINdir}/runProcedure -site ${SITE} -n TCImpactG # Create legends for KML ${HTI_HOME}/bin/kml_legend.sh +######################################################################## +# 2016-06-10 Because it is too challenging for NIDS / IDG to modify +# their script to stop using a file that was discontinued after the 2014 +# season, and instead check the age of the kml files directly, and NCO +# will not allow them to divert ONE person to do this the right way, +# every coastal WFO will now have to send up the old ghls_active file +# (even though the ghls is LONG DEAD now) +######################################################################## + +# get storm number from VTEC in TCV +stormnum=`grep "/O..........................T....Z-......T....Z/" /awips2/edex/data/fxa/trigger/*TCV${SITE} | head -1|cut -c 20-21` +# get storm name from header in TCV +stormname=`grep LOCAL /awips2/edex/data/fxa/trigger/*TCV${SITE} | head -1 | sed -e "s/ LOCAL .*//"` +# get two-digit year +stormyr=`date +%y` + +## TEST +#echo "STORM NAME IS: $stormname" +#echo "STORM NUMBER AND YEAR: ${stormnum}${stormyr}" +## TEST + +# Trigger the Web side PHP script to display the ACTIVE GHLS logo +date +%s > ${PRODUCTdir}/ghls_active.txt +echo ${stormnum} >> ${PRODUCTdir}/ghls_active.txt +echo ${stormname} >> ${PRODUCTdir}/ghls_active.txt +echo ${stormyr} >> ${PRODUCTdir}/ghls_active.txt + +######################################################################## +# need to rename two kml's for mosaic code to work +cp ${PRODUCTdir}/StormSurgeThreat.kml.txt ${PRODUCTdir}/CoastalThreat.kml.txt +cp ${PRODUCTdir}/FloodingRainThreat.kml.txt ${PRODUCTdir}/InlandThreat.kml.txt +######################################################################## + echo "Copying image and kml files to LDAD for WEB processing" >> $LOG_FILE /usr/bin/ssh -o stricthostkeychecking=no -x ${LDADuser}@${LDADserver} mkdir -p ${LDAD_DATA} &> /dev/null /usr/bin/rsync -av --force --progress --stats -e "/usr/bin/ssh -o stricthostkeychecking=no -x" ${PRODUCTdir}/*.txt ${PRODUCTdir}/*.png ${LDADuser}@${LDADserver}:/${LDAD_DATA}/. From c18a997e1659d8de169076aed8af3607b292416c Mon Sep 17 00:00:00 2001 From: Dave Hladky Date: Tue, 21 Jun 2016 10:54:37 -0500 Subject: [PATCH 10/34] Omaha #5704 Updated getClosest() in FFMPGuidanceBasin (cherry picked from commit 03d53792b293609f67b135a3ab7db288823b6d38) --- .../uf/common/dataplugin/ffmp/FFMPGuidanceBasin.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPGuidanceBasin.java b/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPGuidanceBasin.java index 313fb4059a..e9211ea6eb 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPGuidanceBasin.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPGuidanceBasin.java @@ -26,6 +26,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; * 01/17/13 1478 D. Hladky Removed un-needed XML attributes * Aug 08, 2015 4722 dhladky Dynamic serialize imp not needed. * Oct 26, 2015 5056 dhladky Simplified Guidance interpolator. + * Jun 21, 2016 5704 dhladky Updated getClosest() logic to include 0.0f checks. * * * @@ -248,7 +249,7 @@ public class FFMPGuidanceBasin extends FFMPBasin { if (guidValues.get(checkDate).containsKey(sourceName)) { float val = guidValues.get(checkDate).get(sourceName); - if (val != FFMPUtils.MISSING) { + if (val != FFMPUtils.MISSING && val != 0.0f) { long time1 = markerDate.getTime(); long time2 = checkDate.getTime(); @@ -284,7 +285,7 @@ public class FFMPGuidanceBasin extends FFMPBasin { float val = guidValues.get(date).get(sourceName); - if (val != FFMPUtils.MISSING) { + if (val != FFMPUtils.MISSING && val != 0.0f) { rdate = date; } } @@ -299,7 +300,7 @@ public class FFMPGuidanceBasin extends FFMPBasin { float val2 = guidValues.get(checkDate).get(sourceName); - if (val2 != FFMPUtils.MISSING) { + if (val2 != FFMPUtils.MISSING && val2 != 0.0f) { long time2 = checkDate.getTime(); // as long as it is +- expiration from orig date, From a3979158bfba7698103520428e29246816f586fb Mon Sep 17 00:00:00 2001 From: David Friedman Date: Thu, 7 Jul 2016 14:12:24 +0000 Subject: [PATCH 11/34] ASM #19174 - EDEX grid decoder stores grids with incorrect name due to bad or mismatched grid definition files Change-Id: Id5cc7879877fee29cbd4d780c3ad29132580df6d Conflicts: edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml --- .../edex_static/base/grib/grids/QPE-TIR.xml | 4 +- .../edex_static/base/grib/grids/estofsHW.xml | 6 +-- .../edex_static/base/grib/grids/grid161.xml | 4 +- .../edex_static/base/grib/grids/grid196.xml | 4 +- .../base/grib/grids/grid197-RTMA.xml | 37 +++++++++++++++++++ .../base/grib/grids/grid240ALR.xml | 4 +- .../base/grib/grids/grid240FWR.xml | 4 +- .../base/grib/grids/grid240KRF.xml | 4 +- .../base/grib/grids/grid240MSR.xml | 4 +- .../base/grib/grids/grid240ORN.xml | 4 +- .../base/grib/grids/grid240PTR.xml | 4 +- .../base/grib/grids/grid240RHA.xml | 4 +- .../base/grib/grids/grid240RSA.xml | 4 +- .../base/grib/grids/grid240STR.xml | 4 +- .../base/grib/grids/grid240TAR.xml | 4 +- .../base/grib/grids/grid240TUA.xml | 4 +- .../edex_static/base/grib/grids/grid243.xml | 4 +- 17 files changed, 70 insertions(+), 33 deletions(-) create mode 100644 edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid197-RTMA.xml diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-TIR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-TIR.xml index 870da6f0cc..4c0bd5fe28 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-TIR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-TIR.xml @@ -21,8 +21,8 @@ 250160 QPF Grid for TIR (Ohio Basin RFC Wilmington, Ohio) - 36.203 - -91.320 + 36.188 + -91.348 LowerLeft 250 260 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml index 2721a041cb..bd41ec8ca8 100755 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml @@ -21,7 +21,7 @@ 321225001 Extratropical Storm and Tide Operation Forecast System (Hawaii) - 18.067 + 18.073 -161.525 LowerLeft 321 @@ -32,6 +32,6 @@ 6371229.0 6371229.0 20.0 - 23.082 - -153.969 + 23.078 + -153.869 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml index 94cafe010b..0b3c077a4a 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml @@ -26,8 +26,8 @@ UpperLeft 137 102 - 0.50367647058823528 - 0.50495049504950495 + 0.5 + 0.5 degree -0.25 340.25 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid196.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid196.xml index 94a494cb83..d2037a349f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid196.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid196.xml @@ -21,8 +21,8 @@ 196 Grid over - Hawaii (Mercator) - 18.067 - -161.525001 + 18.073 + -161.525 LowerLeft 321 225 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid197-RTMA.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid197-RTMA.xml new file mode 100644 index 0000000000..fef0fcf498 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid197-RTMA.xml @@ -0,0 +1,37 @@ + + + + 197-RTMA + Grid over the contiguous United States - 16X Resolution (5 km) for RTMA + 20.192 + -121.554 + LowerLeft + 1073 + 689 + 5.079 + 5.079 + km + 6371229.0 + 6371229.0 + -95.0 + 25.0 + 25.0 + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ALR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ALR.xml index a7cbdfd9fd..a719c0a410 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ALR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ALR.xml @@ -21,8 +21,8 @@ 240161 HRAP Grid for ALR (Southeast RFC Peachtree, Georgia) - 27.045 - -91.395 + 27.033 + -91.417 LowerLeft 335 412 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240FWR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240FWR.xml index 495933a930..54abf5444b 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240FWR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240FWR.xml @@ -21,8 +21,8 @@ 240162 HRAP Grid for WFR (West Gulf RFC Fort Worth, Texas) - 24.869 - -108.973 + 24.852 + -108.990 LowerLeft 425 390 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240KRF.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240KRF.xml index 261f55028e..f09608207f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240KRF.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240KRF.xml @@ -21,8 +21,8 @@ 240156 HRAP Grid for KRF (Missouri Basin RFC Pleasant Hill, Missouri) - 37.296 - -112.690 + 37.274 + -112.710 LowerLeft 485 325 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240MSR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240MSR.xml index a36a96c94f..92243de718 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240MSR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240MSR.xml @@ -21,8 +21,8 @@ 240157 HRAP Grid for MSR (North Central RFC Chanhassen, Minnesota) - 37.889 - -105.492 + 37.870 + -105.515 LowerLeft 450 350 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ORN.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ORN.xml index 50622aef0c..be65baf669 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ORN.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240ORN.xml @@ -21,8 +21,8 @@ 240154 HRAP Grid for ORN (Lower Mississippi RFC Slidel, Louisiana) - 28.701 - -98.770 + 28.686 + -98.791 LowerLeft 419 419 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240PTR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240PTR.xml index 3099a2a978..df64ee89ca 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240PTR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240PTR.xml @@ -21,8 +21,8 @@ 240159 HRAP Grid for PTR (Northwest RFC Portland, Oregon) - 38.00 - -124.179 + 37.952 + -124.207 LowerLeft 400 378 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RHA.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RHA.xml index 45eba05bf8..8ef5b77e91 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RHA.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RHA.xml @@ -21,8 +21,8 @@ 240155 HRAP Grid for RHA (Middle Atlantic RFC State College, PA) - 38.035 - -83.315 + 38.025 + -83.347 LowerLeft 200 200 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RSA.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RSA.xml index fb2f699e83..74abc1ffe2 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RSA.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240RSA.xml @@ -21,8 +21,8 @@ 240153 HRAP Grid for RSA (California-Nevada RFC Sacramento, California) - 30.931 - -120.858 + 30.910 + -120.872 LowerLeft 235 335 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240STR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240STR.xml index 54a1c186d6..20e06eed4a 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240STR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240STR.xml @@ -21,8 +21,8 @@ 240152 HRAP Grid for STR (Colorado Basin RFC Salt Lake City, Utah) - 30.047 - -114.413 + 30.027 + -114.429 LowerLeft 260 360 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TAR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TAR.xml index 74f436e850..0cf3c455f9 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TAR.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TAR.xml @@ -21,8 +21,8 @@ 240158 HRAP Grid for TAR (Northeast RFC Taunton, Massachusetts) - 42.066 - -79.970 + 42.057 + -80.004 LowerLeft 180 235 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TUA.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TUA.xml index 6ec23b38f8..9a8cb2d792 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TUA.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid240TUA.xml @@ -21,8 +21,8 @@ 240150 HRAP Grid for TUA (Arkansas-Red River RFC Tulsa, Oklahoma) - 33.621 - -106.434 + 33.603 + -106.455 LowerLeft 335 159 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid243.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid243.xml index d9bd61658b..d05f061f48 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid243.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid243.xml @@ -26,8 +26,8 @@ LowerLeft 126 101 - 0.396 - 0.397 + 0.4 + 0.4 degree 50.0 240.0 From 1a294ea510f554867b736a7ef5225b8428505758 Mon Sep 17 00:00:00 2001 From: "Qinglu.Lin" Date: Thu, 7 Jul 2016 11:51:16 -0400 Subject: [PATCH 12/34] ASM #19177 - WarnGen: Misspelling in BASE impactSevereWeatherStatement.vm WarnGen Change-Id: Ia52437a507df31f5e367e433dcad5b87b05d2541 --- .../common_static/base/warngen/impactSevereWeatherStatement.vm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm index ac7683d35d..5de1c386eb 100755 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm @@ -1112,7 +1112,7 @@ This storm is producing large hail. SEEK SHELTER NOW inside a sturdy structure a This is a DANGEROUS SITUATION. These storms are producing widespread wind damage across !** ENTER LOCATION **!. SEEK SHELTER NOW inside a sturdy structure and stay away from windows. #else -This is a DANGEROUS SITUATION. This storm is producing widespread wind damage across !** ENTER LOCATION **!. sSek shelter now inside a sturdy structure and stay away from windows. +This is a DANGEROUS SITUATION. This storm is producing widespread wind damage across !** ENTER LOCATION **!. Seek shelter now inside a sturdy structure and stay away from windows. #end #end From db9a73d70367b3fe4d70a5af46dba61821a5c9d5 Mon Sep 17 00:00:00 2001 From: "Loubna.Bousaidi" Date: Thu, 7 Jul 2016 18:00:59 +0000 Subject: [PATCH 13/34] ASM #19155 MPE and Hydro colormanger fix Change-Id: I2d95794057c62d364d9cece891c652e8d7201ea3 --- .../datamanager/HydroDBDataManager.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/HydroDBDataManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/HydroDBDataManager.java index 5931af560b..2894c950e6 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/HydroDBDataManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/HydroDBDataManager.java @@ -50,6 +50,7 @@ import com.raytheon.viz.hydrocommon.util.DbUtils; * Jan 15, 2016 DCS18180 JingtaoD code improvement based on code review for DR17935 * May 27, 2016 19012 lbousaidi remove the check for apostrophe when there is a call to * ColorDataValue table class + * Jul 07, 2016 19155 lbousaidi Don't check for special Character for ColorMager for MPE and Hydro * * * @author askripsky @@ -106,13 +107,21 @@ public class HydroDBDataManager extends HydroDataManager { @SuppressWarnings("unchecked") T recordToDeleteForQuery = (T) recordToDelete.getClass() .newInstance(); - - DbUtils.escapeSpecialCharforData(recordToDelete, - recordToDeleteForQuery); - - String deleteQuery = (String) recordToDelete.getClass() - .getMethod("getDeleteStatement") - .invoke(recordToDeleteForQuery); + + String deleteQuery=""; + + if (!recordToDelete.getClass().getName().contains(ColorValueData.class.getName())){ + DbUtils.escapeSpecialCharforData(recordToDelete, + recordToDeleteForQuery); + deleteQuery = (String) recordToDelete.getClass() + .getMethod("getDeleteStatement") + .invoke(recordToDeleteForQuery); + } else { + deleteQuery = (String) recordToDelete.getClass() + .getMethod("getDeleteStatement") + .invoke(recordToDelete); + } + runStatement(deleteQuery); } catch (Exception e) { From 4b9bca7a2ec0005a0996ab348d8de9542f88c769 Mon Sep 17 00:00:00 2001 From: Tom Gurney Date: Fri, 8 Jul 2016 09:56:10 -0500 Subject: [PATCH 14/34] Omaha #5733 Fix display of sea level pressure for DAT products Values from metar are in Pa; convert to hPa before storing in fssobs. Change-Id: I39e245a65001fc197737ffa5b6bfe7eca1891219 --- .../DR5733/_update_fssobs_slp_values.py | 35 +++++++++++++++++++ .../16.2.2/DR5733/update_fssobs_slp_values.sh | 22 ++++++++++++ .../plugin/fssobs/FSSObsDataTransform.java | 6 +++- 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100755 deltaScripts/16.2.2/DR5733/_update_fssobs_slp_values.py create mode 100755 deltaScripts/16.2.2/DR5733/update_fssobs_slp_values.sh diff --git a/deltaScripts/16.2.2/DR5733/_update_fssobs_slp_values.py b/deltaScripts/16.2.2/DR5733/_update_fssobs_slp_values.py new file mode 100755 index 0000000000..4ae421499e --- /dev/null +++ b/deltaScripts/16.2.2/DR5733/_update_fssobs_slp_values.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python2 + +# #5733 +# Convert sea level pressure from Pa to hPa in an hdf5 file +# Do nothing if all values are already in hPa +# Author: tom.gurney@raytheon.com + +import sys +import h5py + +def main(): + if len(sys.argv) != 2: + print "usage: {} filename.h5".format(sys.argv[0]) + sys.exit(1) + + didstuff = False + try: + with h5py.File(sys.argv[1], 'r+') as f: + if 'seaLevelPress' in f: + for i, data in enumerate(f['seaLevelPress']): + if data > 10000: + f['seaLevelPress'][i] = data / 100.0 + didstuff = True + except Exception as e: + print "ERROR: " + str(sys.exc_info()[0]) + ": " + str(e) + sys.exit(1) + + if didstuff: + print "INFO: {}: updated".format(sys.argv[1]) + else: + print "INFO: {}: no update needed".format(sys.argv[1]) + + +if __name__ == "__main__": + main() diff --git a/deltaScripts/16.2.2/DR5733/update_fssobs_slp_values.sh b/deltaScripts/16.2.2/DR5733/update_fssobs_slp_values.sh new file mode 100755 index 0000000000..2856274694 --- /dev/null +++ b/deltaScripts/16.2.2/DR5733/update_fssobs_slp_values.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# #5733 +# Convert sea level pressure from Pa to hPa in all fssobs h5 files +# Author: tom.gurney@raytheon.com + +TARGET=/awips2/edex/data/hdf5/fssobs +THIS_LOCATION=$(dirname $0) +success=0 + +for item in $(find $TARGET -type f -name "*.h5"); do + $THIS_LOCATION/_update_fssobs_slp_values.py $item + if [[ $? -ne 0 ]]; then + success=1 + fi +done + +if [[ success -eq 0 ]]; then + echo INFO: No errors reported. +else + echo "ERROR: There was a problem with one or more updates; see above." +fi diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/src/com/raytheon/uf/edex/plugin/fssobs/FSSObsDataTransform.java b/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/src/com/raytheon/uf/edex/plugin/fssobs/FSSObsDataTransform.java index 2ee96fb01f..d7f682f58d 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/src/com/raytheon/uf/edex/plugin/fssobs/FSSObsDataTransform.java +++ b/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/src/com/raytheon/uf/edex/plugin/fssobs/FSSObsDataTransform.java @@ -46,6 +46,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools; * Jul 23, 2014 3410 bclement location changed to floats * Sep 18, 2015 3873 skorolev Fixed assigning timeObs for maritime record. * Dec 02, 2015 3873 dhladky Added missing point data params. + * Jul 08, 2016 5733 tgurney Convert metar sea level pressure to mbar * * * @@ -343,7 +344,10 @@ public class FSSObsDataTransform { fssr.setTimeObs(pdv.getCalendar(TIME_OBS)); fssr.setRefHour(TimeTools.roundToNearestHour(fssr.getTimeObs())); // in mbar - fssr.setSeaLevelPress(pdv.getNumber(SEA_LEVEL_PRESS).floatValue()); + float seaLevelPress = pdv.getNumber(SEA_LEVEL_PRESS).floatValue(); + if (seaLevelPress != MISSING) { + fssr.setSeaLevelPress(seaLevelPress / 100.0f); + } // in mmHg fssr.setPressureAltimeter(pdv.getNumber(ALTIMETER).floatValue()); fssr.setPressChange3Hour(pdv.getNumber(PRESS_CHANGE3_HOUR).floatValue()); From 2cf0b8d5dbbc6f7a50d670231ed0dac9b331d5e0 Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Fri, 8 Jul 2016 14:28:44 -0500 Subject: [PATCH 15/34] Omaha #5748 Fix grib model naming with COVERAGE. --- .../src/com/raytheon/edex/plugin/grib/util/GridModel.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/util/GridModel.java b/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/util/GridModel.java index cc69ff9a34..90d4a9f3dc 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/util/GridModel.java +++ b/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/util/GridModel.java @@ -23,6 +23,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -48,6 +49,7 @@ import com.raytheon.uf.common.gridcoverage.exception.GridCoverageException; * Oct 15, 2013 2473 bsteffen Remove deprecated ISerializableObject. * Dec 16, 2015 5182 tjensen Added fileName and support for meta * characters in the model name. + * Jul 08, 2016 5748 bsteffen Fix COVERAGE names when name is not in DB. * * * @@ -209,11 +211,13 @@ public class GridModel { */ Matcher covMatch = covRegex.matcher(retval); if (covMatch.find()) { - if (GribSpatialCache.getInstance().getGribCoverageNames(gc).size() != 1) { + Set names = GribSpatialCache.getInstance() + .getGribCoverageNames(gc); + if (names.size() != 1) { throw new GridCoverageException( "Unable to determine model name for spatial coverage"); } - retval = covMatch.replaceAll(gc.getName()); + retval = covMatch.replaceAll(names.iterator().next()); } /* From 46bc7721f74e7f5ada1c034713717684ca8e2111 Mon Sep 17 00:00:00 2001 From: David Gillingham Date: Mon, 11 Jul 2016 11:31:14 -0500 Subject: [PATCH 16/34] Omaha #5746 - Do not allow simultaneous access to alertviz LogMessageDAO's Connection. Change-Id: Id8321b36ac4c7c4557c20ec5957dcc2a9f7b152a --- .../viz/alertviz/internal/LogMessageDAO.java | 140 +++++++++--------- 1 file changed, 71 insertions(+), 69 deletions(-) diff --git a/cave/com.raytheon.uf.viz.alertviz/src/com/raytheon/uf/viz/alertviz/internal/LogMessageDAO.java b/cave/com.raytheon.uf.viz.alertviz/src/com/raytheon/uf/viz/alertviz/internal/LogMessageDAO.java index 75248005a7..c1bd078f5a 100644 --- a/cave/com.raytheon.uf.viz.alertviz/src/com/raytheon/uf/viz/alertviz/internal/LogMessageDAO.java +++ b/cave/com.raytheon.uf.viz.alertviz/src/com/raytheon/uf/viz/alertviz/internal/LogMessageDAO.java @@ -54,6 +54,8 @@ import com.raytheon.uf.viz.core.localization.LocalizationManager; * ------------ ---------- ----------- -------------------------- * Sep 11, 2008 1433 chammack Initial creation * Feb 11, 2016 5314 dgilling Add loadByRowOffset. + * Jul 11, 2016 5746 dgilling Better control multi-threaded access to + * Connection. * * * @author chammack @@ -240,83 +242,80 @@ public class LogMessageDAO { oldDir.renameTo(newDir); } - public void save(StatusMessage sm) throws AlertvizException { + public synchronized void save(StatusMessage sm) throws AlertvizException { Container.logInternal(sm); - synchronized (this) { - boolean errorOccurred = false; - ResultSet rs = null; - try { - Connection conn = getConnection(); - if (saveStatement == null) { - saveStatement = conn - .prepareStatement(INSERT_PREPARED_STATEMENT); - } - saveStatement.setTimestamp(1, new Timestamp(sm.getEventTime() - .getTime())); - saveStatement.setString(2, sm.getCategory()); - saveStatement.setInt(3, sm.getPriority().ordinal()); - saveStatement.setString(4, sm.getMessage()); - saveStatement.setString(5, sm.getDetails()); - saveStatement.setString(6, sm.getSourceKey()); - saveStatement.executeUpdate(); + boolean errorOccurred = false; + ResultSet rs = null; + try { + Connection conn = getConnection(); + if (saveStatement == null) { + saveStatement = conn + .prepareStatement(INSERT_PREPARED_STATEMENT); + } - if (getLastStatement == null) { - getLastStatement = conn - .prepareStatement(SELECT_LAST_INSERT_ID); - } + saveStatement.setTimestamp(1, new Timestamp(sm.getEventTime() + .getTime())); + saveStatement.setString(2, sm.getCategory()); + saveStatement.setInt(3, sm.getPriority().ordinal()); + saveStatement.setString(4, sm.getMessage()); + saveStatement.setString(5, sm.getDetails()); + saveStatement.setString(6, sm.getSourceKey()); + saveStatement.executeUpdate(); - rs = getLastStatement.executeQuery(); - if (rs.next()) { - int id = rs.getInt(1); - sm.setPk(id); - } - conn.commit(); - } catch (Exception e) { - errorOccurred = true; - throw new AlertvizException("Save failed", e); - } finally { - if (errorOccurred) { - closeStatement(saveStatement); - saveStatement = null; - closeStatement(getLastStatement); - getLastStatement = null; - closeConnection(); - } + if (getLastStatement == null) { + getLastStatement = conn.prepareStatement(SELECT_LAST_INSERT_ID); + } + + rs = getLastStatement.executeQuery(); + if (rs.next()) { + int id = rs.getInt(1); + sm.setPk(id); + } + conn.commit(); + } catch (Exception e) { + errorOccurred = true; + throw new AlertvizException("Save failed", e); + } finally { + if (errorOccurred) { + closeStatement(saveStatement); + saveStatement = null; + closeStatement(getLastStatement); + getLastStatement = null; + closeConnection(); } } } - public void acknowledge(StatusMessage sm, String username) + public synchronized void acknowledge(StatusMessage sm, String username) throws AlertvizException { PreparedStatement updateStatement = null; - synchronized (this) { - boolean errorOccurred = false; - try { - Connection conn = getConnection(); - updateStatement = conn.prepareStatement(ACKNOWLEDGE); + boolean errorOccurred = false; + try { + Connection conn = getConnection(); + updateStatement = conn.prepareStatement(ACKNOWLEDGE); - long ackTime = System.currentTimeMillis(); - updateStatement.setTimestamp(1, new Timestamp(ackTime)); - updateStatement.setString(2, username); - updateStatement.setInt(3, sm.getPk()); - updateStatement.executeUpdate(); - sm.setAcknowledgedBy(username); - sm.setAcknowledgedAt(new Date(ackTime)); - conn.commit(); - } catch (SQLException e) { - errorOccurred = true; - throw new AlertvizException("Acknowledge Failed", e); - } finally { - closeStatement(updateStatement); - if (errorOccurred) { - closeConnection(); - } + long ackTime = System.currentTimeMillis(); + updateStatement.setTimestamp(1, new Timestamp(ackTime)); + updateStatement.setString(2, username); + updateStatement.setInt(3, sm.getPk()); + updateStatement.executeUpdate(); + sm.setAcknowledgedBy(username); + sm.setAcknowledgedAt(new Date(ackTime)); + conn.commit(); + } catch (SQLException e) { + errorOccurred = true; + throw new AlertvizException("Acknowledge Failed", e); + } finally { + closeStatement(updateStatement); + if (errorOccurred) { + closeConnection(); } + } } - public StatusMessage loadByPk(int pk) throws AlertvizException { + public synchronized StatusMessage loadByPk(int pk) throws AlertvizException { ResultSet rs = null; PreparedStatement statement = null; boolean errorOccurred = false; @@ -355,7 +354,8 @@ public class LogMessageDAO { * If an error occurred retrieving the message from the message * store. */ - public StatusMessage loadByRowOffset(int index) throws AlertvizException { + public synchronized StatusMessage loadByRowOffset(int index) + throws AlertvizException { ResultSet rs = null; PreparedStatement statement = null; boolean errorOccurred = false; @@ -383,7 +383,8 @@ public class LogMessageDAO { } } - public StatusMessage[] load(int count) throws AlertvizException { + public synchronized StatusMessage[] load(int count) + throws AlertvizException { ResultSet rs = null; Statement statement = null; boolean errorOccurred = false; @@ -406,8 +407,8 @@ public class LogMessageDAO { } } - public StatusMessage[] load(int count, Timestamp filter, Order order) - throws AlertvizException { + public synchronized StatusMessage[] load(int count, Timestamp filter, + Order order) throws AlertvizException { ResultSet rs = null; PreparedStatement statement = null; boolean errorOccurred = false; @@ -441,7 +442,7 @@ public class LogMessageDAO { } } - public StatusMessage[] load(int count, Category[] filter) + public synchronized StatusMessage[] load(int count, Category[] filter) throws AlertvizException { ResultSet rs = null; Statement statement = null; @@ -480,7 +481,8 @@ public class LogMessageDAO { } } - public Collection purge(Timestamp filter) throws AlertvizException { + public synchronized Collection purge(Timestamp filter) + throws AlertvizException { boolean errorOccurred = false; Connection conn = getConnection(); @@ -514,7 +516,7 @@ public class LogMessageDAO { * * @return Total number of messages. */ - public int getMessageCount() throws AlertvizException { + public synchronized int getMessageCount() throws AlertvizException { ResultSet rs = null; Statement statement = null; boolean errorOccurred = false; From 7b55826d45549ebbe1d71d32b1a0625e796bf34a Mon Sep 17 00:00:00 2001 From: "Loubna.Bousaidi" Date: Mon, 11 Jul 2016 19:05:01 +0000 Subject: [PATCH 17/34] ASM #19175 fixed font size for hydro map display Change-Id: Ibcc92a053fc4103f6a75f3f9a5d9844e12cd1728 --- .../com/raytheon/viz/hydro/resource/MultiPointResource.java | 3 ++- .../src/com/raytheon/viz/hydrocommon/HydroDisplayManager.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/resource/MultiPointResource.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/resource/MultiPointResource.java index fb9e1bb7a0..88cddc0d47 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/resource/MultiPointResource.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/resource/MultiPointResource.java @@ -138,6 +138,7 @@ import com.vividsolutions.jts.index.strtree.STRtree; * Oct 05, 2015 17978 lbousaidi Enable TimeStep GUI to display multiple values and Parameter Codes for a given lid * Nov 05, 2015 5070 randerso Adjust font sizes for dpi scaling * Dec 05, 2015 18357 xwei Fixed error in opening Timeseries for Timesteps + * Jul 11, 2016 19175 lbousaidi changed the fontSize to 9 to match the default one. * * * @@ -332,7 +333,7 @@ public class MultiPointResource extends container.registerMouseHandler(inputManager); } - fontSize = 8; + fontSize = 9; font = target.initializeFont("Dialog", fontSize, null); font.setSmoothing(false); diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/HydroDisplayManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/HydroDisplayManager.java index 7a599ece76..22fc6145bb 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/HydroDisplayManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/HydroDisplayManager.java @@ -88,6 +88,8 @@ import com.raytheon.viz.ui.editor.AbstractEditor; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Oct 23, 2008 1644 mpduff Initial creation + * Jul 11, 2016 19175 lbousaidi changed the fontSize to 9 to match + * the one in the plugin.xml * * * @author mpduff @@ -111,7 +113,7 @@ public class HydroDisplayManager { private boolean drawStation = false; /** Font size */ - private int fontSize = 10; + private int fontSize = 9; /** List of dam data */ private List damList = null; From d3f797f592443b6f75ae8fbff6f8d85972f08a04 Mon Sep 17 00:00:00 2001 From: "Keith.Steinfeld" Date: Mon, 11 Jul 2016 17:51:41 -0400 Subject: [PATCH 18/34] ASM #19166 - Prevent TS_COLOR_LIST array index exceeding max array size Change-Id: I1cec3f4d6cfd11ab0a4a19afa47cefd6c88fc939 --- .../src/com/raytheon/viz/hydro/util/HydroUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/util/HydroUtils.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/util/HydroUtils.java index ab5f96d17f..d57e99b3e7 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/util/HydroUtils.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/util/HydroUtils.java @@ -40,6 +40,7 @@ import com.raytheon.uf.viz.core.RGBColors; * I ran across a group config file using a color not in * the list which caused errors. * May 08, 2012 14958 wkwock prevent go over the list in getGroupModeColor + * Jul 11, 2016 19166 ksteinfeld Prevent TS_COLOR_LIST array index exceeding max array size * * * @@ -61,7 +62,8 @@ public class HydroUtils { initializeColorList(); } - return TS_COLOR_LIST.get(index); + // make sure the index does not exceed max array size + return TS_COLOR_LIST.get(index % TS_COLOR_LIST.size()); } public static RGB getGroupModeColor(int index) { if (TS_GROUP_COLOR_LIST == null) { From 5ab6c7221240f15ad19bb676720907335e1bcb38 Mon Sep 17 00:00:00 2001 From: David Friedman Date: Mon, 11 Jul 2016 20:58:17 +0000 Subject: [PATCH 19/34] ASM #19174 - EDEX grid decoder stores grids with incorrect name due to bad or mismatched grid definition files (additional checkin for TPCSurge) Change-Id: If7f547205e292919591c1e93ee406050c3e103f6 --- .../utility/edex_static/base/grib/grids/TPCSurge.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/TPCSurge.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/TPCSurge.xml index b0bca31035..89b1904b38 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/TPCSurge.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/TPCSurge.xml @@ -21,7 +21,7 @@ 374 Grid used for TPCSurge data - 20.20 + 20.192 -121.554 LowerLeft 8577 From 64ed3331b83c07008066a88e4d7d700ec3cc33b4 Mon Sep 17 00:00:00 2001 From: "Ying-Lian.Shi" Date: Tue, 12 Jul 2016 13:33:54 +0000 Subject: [PATCH 20/34] ASM #19157 GFE: Add 3 foot option for Inundation Height for TCStormSurgeThreat values Change-Id: Ib7b4fb7ed96192047a8b947da4e41064a85f2d49 --- .../gfe/userPython/procedures/TCStormSurgeThreat.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py index 2499c3c393..8919dadd6c 100644 --- a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py +++ b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/procedures/TCStormSurgeThreat.py @@ -28,8 +28,9 @@ # # April 14, 2016: Lefebvre/Santos: Added multabledb to restore ISC option # -# Last Modified: # 6/20/2016 - Santos: Added code to fix issue of old grid not being deleted when running Manual/Add option. +# Last Modified: +# 7/12/2016 DR19157 lshi: Add 3 foot option for Inundation Height for TCStormSurgeThreat values # ---------------------------------------------------------------------------- # The MenuItems list defines the GFE menu item(s) under which the @@ -675,7 +676,7 @@ class Procedure (SmartScript.SmartScript): timeRange, precision=2) # Make the grid. Start with the existing grid if we have one otherwise zeros - coastalThreat = self.empty() + coastalThreat = self.empty(np.int8) self.createGrid(mutableID, "InundationMax", "SCALAR", surgePctGrid, timeRange, precision=2) From e2844fa3cdf6ba39a6d4e0383623b6cb63346f9f Mon Sep 17 00:00:00 2001 From: David Friedman Date: Tue, 12 Jul 2016 20:09:36 +0000 Subject: [PATCH 21/34] ASM #19186 - WarnGen Templates: Case corrections - Make MPH caps for "windTags" and capitalize sentence starters in SPS Change-Id: Ieda7bcaca5157202c9bf88216c07255dd34e56e9 --- .../base/warngen/impactTornadoWarning.vm | 12 ++++++------ .../base/warngen/significantWeatherAdvisory.vm | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactTornadoWarning.vm b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactTornadoWarning.vm index 749e03fe4a..580fcfb485 100755 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactTornadoWarning.vm +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactTornadoWarning.vm @@ -48,26 +48,26 @@ #set($windImpact = "") #set($extensive = "") #set($windHazard = "") -#set($windTag = "<50mph") +#set($windTag = "<50MPH") #if(${list.contains(${bullets}, "60mphWind")}) #set($windThreat = "damaging winds in excess of 60 mph") #set($windHazard = "60 mph wind gusts") #set($windSpeed = 60) - #set($windTag = "60mph") + #set($windTag = "60MPH") ## #set($windImpact = "large tree limbs broken off partially blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") #end #if(${list.contains(${bullets}, "70mphWind")}) #set($windThreat = "destructive winds in excess of 70 mph") #set($windHazard = "70 mph wind gusts") #set($windSpeed = 70) - #set($windTag = "70mph") + #set($windTag = "70MPH") ## #set($windImpact = "trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") #end #if(${list.contains(${bullets}, "80mphWind")}) #set($windThreat = "destructive winds in excess of 80 mph") #set($windHazard = "80 mph wind gusts") #set($windSpeed = 80) - #set($windTag = "80mph") + #set($windTag = "80MPH") #set($extensive = "extensive ") ## #set($windImpact = "trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") #end @@ -75,7 +75,7 @@ #set($windThreat = "extreme damaging winds in excess of 90 mph") #set($windHazard = "90 mph wind gusts") #set($windSpeed = 90) - #set($windTag = "90mph") + #set($windTag = "90MPH") #set($extensive = "extensive ") ## #set($windImpact ="trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") #end @@ -83,7 +83,7 @@ #set($windThreat = "extreme damaging winds in excess of 100 mph") #set($windHazard = "100 mph wind gusts") #set($windSpeed = 100) - #set($windTag = "100mph") + #set($windTag = "100MPH") #set($extensive = "extensive ") ## #set($windImpact ="trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") #end diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/significantWeatherAdvisory.vm b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/significantWeatherAdvisory.vm index 2996aca320..711ef51966 100755 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/significantWeatherAdvisory.vm +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/significantWeatherAdvisory.vm @@ -20,11 +20,11 @@ #if(${stormType} == "line") #set($report = "strong thunderstorms were reported") #set($reportType1 = "strong thunderstorms") - #set($reportType2 = "these storms were") + #set($reportType2 = "These storms were") #else #set($report = "a strong thunderstorm was reported") #set($reportType1 = "a strong thunderstorm") - #set($reportType2 = "this storm was") + #set($reportType2 = "This storm was") #end #set($windThreat = "") #set($hailThreat = "") From fd4a7b9b619f01b7607f983da86e0fa19cee5ffe Mon Sep 17 00:00:00 2001 From: "Xuezhi.Wei" Date: Wed, 13 Jul 2016 11:10:38 +0000 Subject: [PATCH 22/34] ASM #19182 Issue opening Data Sources in hydro database manager Change-Id: I16d4c8394a883308a990ca370bbcb83b26cc6b77 --- .../viz/hydrocommon/datasources/DataSourcesDlg.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datasources/DataSourcesDlg.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datasources/DataSourcesDlg.java index ac6a42a14b..4e76054876 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datasources/DataSourcesDlg.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datasources/DataSourcesDlg.java @@ -78,6 +78,7 @@ import com.raytheon.viz.ui.dialogs.CaveJFACEDialog; * 07/15/2013 2088 rferrel Make dialog non-blocking * 04/22/2016 5483 dgilling Correct fixed pixel layouts, refactor * based on CaveJFACEDialog. + * 07/12/2016 19182 xwei Fixed issue with opening Data Sources in hydro database manager * * * @@ -1566,7 +1567,10 @@ public class DataSourcesDlg extends CaveJFACEDialog { */ private void updateDialogState(boolean isDataAvailable) { if (fullControls) { - getButton(DELETE_ID).setEnabled(isDataAvailable); + Button aButton = getButton(DELETE_ID); + if (aButton != null){ + aButton.setEnabled(isDataAvailable); + } } } From f6e7dc9ffee8e7f9cd1afd1f6fba8a1e8f9241fa Mon Sep 17 00:00:00 2001 From: David Friedman Date: Wed, 13 Jul 2016 18:10:53 +0000 Subject: [PATCH 23/34] ASM #18863 - D2D: Radar Display Control settings may revert after changing Change-Id: I24e2ec8dab5e10b139b2853e2a24933bc6df9a0e --- .../viz/radar/ui/RadarDisplayManager.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/ui/RadarDisplayManager.java b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/ui/RadarDisplayManager.java index eaf5841ae5..70c35a7765 100644 --- a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/ui/RadarDisplayManager.java +++ b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/ui/RadarDisplayManager.java @@ -47,6 +47,7 @@ import com.raytheon.viz.radar.rsc.image.RadarSRMResource.SRMSource; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * May 13, 2015 4461 bsteffen Add option for sails. + * Jul 13, 2016 ASM #18863 D. Friedman Synchronize getInstance. * * * @@ -120,7 +121,7 @@ public class RadarDisplayManager { private RadarDisplayControls currentValues; - private static RadarDisplayManager manager = null; + private static volatile RadarDisplayManager manager = null; private RadarDisplayManager() { configListeners = new ArrayList(); @@ -142,11 +143,17 @@ public class RadarDisplayManager { * @return */ public static RadarDisplayManager getInstance() { - if (manager == null) { - manager = new RadarDisplayManager(); - manager.retrieveDefaultSettings(); + RadarDisplayManager result = manager; + if (result == null) { + synchronized (RadarDisplayManager.class) { + result = manager; + if (result == null) { + result = manager = new RadarDisplayManager(); + result.retrieveDefaultSettings(); + } + } } - return manager; + return result; } /** From 2f96cf97c25a4a508b1031e645467f373d6f768a Mon Sep 17 00:00:00 2001 From: Melissa Porricel Date: Fri, 15 Jul 2016 12:29:38 -0400 Subject: [PATCH 24/34] ASM #19193 - Baseline grid parameter table file missing units Change-Id: I7502df22fd68669cc5e1af4a1e324b8bee859f73 --- .../base/grib/tables/161/0/4.2.209.12.table | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) mode change 100755 => 100644 edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/161/0/4.2.209.12.table diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/161/0/4.2.209.12.table b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/161/0/4.2.209.12.table old mode 100755 new mode 100644 index 956839cf14..348f0ff12f --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/161/0/4.2.209.12.table +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/161/0/4.2.209.12.table @@ -2,12 +2,12 @@ 0:0:CREST Maximum Unit Streamflow:(m^3)*(s^-1)*(km^-2):CrestMaxUStreamflow 1:1:CREST Maximum Streamflow:(m^3)*(s^-1):CrestMaxStreamflow 2:2:CREST Soil Moisture:%:CrestSoilMoisture -14:14:30 min Precipitation Accumulation Return Period:PRP30min -15:15:1 hour Precipitation Accumulation Return Period:PRP01H -16:16:3 hour Precipitation Accumulation Return Period:PRP03H -17:17:6 hour Precipitation Accumulation Return Period:PRP06H -18:18:12 hour Precipitation Accumulation Return Period:PRP12H -19:19:24 hour Precipitation Accumulation Return Period:PRP24H +14:14:30 min Precipitation Accumulation Return Period:year:PRP30min +15:15:1 hour Precipitation Accumulation Return Period:year:PRP01H +16:16:3 hour Precipitation Accumulation Return Period:year:PRP03H +17:17:6 hour Precipitation Accumulation Return Period:year:PRP06H +18:18:12 hour Precipitation Accumulation Return Period:year:PRP12H +19:19:24 hour Precipitation Accumulation Return Period:year:PRP24H 20:20:Maximum Precipitation Return Period:year:PRPMax 26:26:1 hour QPE-to-FFG Ratio:%:QPEFFG01H 27:27:3 hour QPE-to-FFG Ratio:%:QPEFFG03H From cb8412642e89526e848c595df32925499859b075 Mon Sep 17 00:00:00 2001 From: David Friedman Date: Mon, 18 Jul 2016 18:45:22 +0000 Subject: [PATCH 25/34] ASM #19174 - EDEX grid decoder stores grids with incorrect name due to bad or mismatched grid definition files (additional check in for MSR QPE) Change-Id: I22006cc3e8333cf7564c7d66b2b5687eb880168b --- .../base/grib/grids/MRMS-1km-CONUS.xml | 4 +-- .../edex_static/base/grib/grids/QPE-MSR.xml | 36 +++++++++++++++++++ .../base/grib/models/gribModels_RFC-9.xml | 2 +- 3 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-MSR.xml diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/MRMS-1km-CONUS.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/MRMS-1km-CONUS.xml index 78165cc470..864fe31d5f 100755 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/MRMS-1km-CONUS.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/MRMS-1km-CONUS.xml @@ -2,8 +2,8 @@ 10000 CONUS domain for MRMS 1km products - 55 - 230 + 54.995 + 230.005 UpperLeft 7000 3500 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-MSR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-MSR.xml new file mode 100644 index 0000000000..19f87a1aa1 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/QPE-MSR.xml @@ -0,0 +1,36 @@ + + + + 250157 + QPF Grid for MSR (North Central RFC Chanhassen, Minnesota) + 37.889 + -105.492 + LowerLeft + 450 + 350 + 4.7625 + 4.7625 + km + 6371229.0 + 6371229.0 + -105.0 + 60 + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml index 9186a97899..b06e3ce7f9 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml @@ -810,7 +810,7 @@ QPE-MSR
9
157 - 240157 + 250157 152 From 97389888c71288c825f531255d64ce67e4f1a1e7 Mon Sep 17 00:00:00 2001 From: Ron Anderson Date: Wed, 27 Jul 2016 16:08:07 -0500 Subject: [PATCH 26/34] Omaha #5769 Fix mixed case issues in a few formatter. Improve reliablity of VTEC auto tests. Change-Id: I31d24922fc5b760d268156ecba8b7fe46b04acba --- cave/com.raytheon.viz.gfe/build.properties | 4 +- .../localization/gfe/itool/TextProductTest.py | 80 ++++++++++++++++--- .../python/autotest/CreateGrids.py | 2 +- .../autotest/RoutineLevel1_SRF_TestScript.py | 4 +- .../autotest/VTEC_GHG_Complex1_TestScript.py | 1 + .../viz/gfe/procedures/ProcedureUtil.java | 6 +- .../templates/product/ESF_Local.py | 9 ++- .../templates/product/PNS_Local.py | 3 +- .../templates/product/RFD_Local.py | 9 ++- .../uf/common/activetable/ActiveTableMode.py | 3 +- 10 files changed, 91 insertions(+), 30 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/build.properties b/cave/com.raytheon.viz.gfe/build.properties index 2b1e50dd68..1e6eb5d3cf 100644 --- a/cave/com.raytheon.viz.gfe/build.properties +++ b/cave/com.raytheon.viz.gfe/build.properties @@ -1,8 +1,6 @@ output.com.raytheon.viz.gfe.jar = bin/ bin.includes = META-INF/,\ plugin.xml,\ - T.bin,\ - Td.bin,\ icons/,\ localization/,\ images/,\ @@ -10,6 +8,6 @@ bin.includes = META-INF/,\ res/,\ python/,\ scriptTemplates/,\ - testdata/\ + testdata/,\ com.raytheon.viz.gfe.jar source.com.raytheon.viz.gfe.jar = src/ diff --git a/cave/com.raytheon.viz.gfe/localization/gfe/itool/TextProductTest.py b/cave/com.raytheon.viz.gfe/localization/gfe/itool/TextProductTest.py index b6f27f7142..4365bb8375 100644 --- a/cave/com.raytheon.viz.gfe/localization/gfe/itool/TextProductTest.py +++ b/cave/com.raytheon.viz.gfe/localization/gfe/itool/TextProductTest.py @@ -188,6 +188,7 @@ import sys, time, os, types, copy, inspect, errno import LogStream import AbsTime, TimeRange import numpy, cPickle +import threading OUTPUT_DIR = "/tmp/products/autoTest" @@ -298,6 +299,49 @@ class ProcessInfo: def script(self): return self.__script +import dynamicserialize + +class NotifyTopicListener(threading.Thread): + + def __init__(self, hostname="localhost", portNumber=5672, callBack=None): + self.hostname = hostname + self.portNumber = portNumber + self.callBack = callBack + self.topicName = 'edex.alerts.vtec' + self.qs = None + threading.Thread.__init__(self) + + def run(self): + from ufpy import QpidSubscriber + + if self.qs is not None: + return + + self.qs = QpidSubscriber.QpidSubscriber(self.hostname, self.portNumber) + self.qs.topicSubscribe(self.topicName, self.receivedMessage) + + def receivedMessage(self, msg): + try: + obj = dynamicserialize.deserialize(msg) + if type(obj) is list: + msgList = obj + else: + msgList = [obj] + + for notification in msgList: + if self.callBack is not None: + self.callBack(notification) + + except: + import traceback + traceback.print_exc() + + def stop(self): + if self.qs is not None: + self.qs.close() + self.qs = None + + class ITool (ISmartScript.ISmartScript): def __init__(self, dbss): ISmartScript.ISmartScript.__init__(self, dbss) @@ -354,6 +398,10 @@ class ITool (ISmartScript.ISmartScript): if success is None: return + # Start NotifyTopicListener + self._notifyListener = NotifyTopicListener(callBack=self.__processNotification) + self._notifyListener.start() + # Run the test scripts for index in range(len(self._testScript)): self._runTestScript(index) @@ -361,6 +409,7 @@ class ITool (ISmartScript.ISmartScript): break time.sleep(2) # avoid some race conditions with fileChanges + self._notifyListener.stop() self._finished() @@ -840,18 +889,14 @@ class ITool (ISmartScript.ISmartScript): if success and entry.get("decodeVTEC", 0): self.__runVTECDecoder(fcst, drtTime) + # wait until table has been modified or 5 seconds -# count = 0 t1 = time.time(); -# time.sleep(0.1); - time.sleep(1) -# while count < 50: -# modTime1 = self._dataMgr.ifpClient().vtecTableModTime( -# "PRACTICE") -# if modTime1 != modTime: -# break -# time.sleep(0.1) -# count = count + 1 + while not self.__vtecDecoderFinished: + time.sleep(0.1) + if time.time() - t1 > 20: + self.output("Vtec Decoder timed out!", self._outFile) + break t2 = time.time(); if self._reportingMode in ["Verbose", "Moderate"]: self.output("Vtec Decoder wait time: " + "%6.2f" % (t2-t1), @@ -1033,10 +1078,23 @@ class ITool (ISmartScript.ISmartScript): file.write(fcst) url = urlparse.urlparse(VizApp.getHttpServer()) - commandString = "VTECDecoder -f " + file.name + " -d -a practice -h " + url.hostname + commandString = "VTECDecoder -f " + file.name + " -d -g -a practice -h " + url.hostname if drtString is not None: commandString += " -z " + drtString + + # start notify listener to listen for vtec change + self.__vtecDecoderFinished = False + self.__expectedPil = fcst.split("\n",2)[1] os.system(commandString) + + def __processNotification(self, notification): + from dynamicserialize.dstypes.com.raytheon.uf.common.activetable import VTECTableChangeNotification + if type(notification) is VTECTableChangeNotification and str(notification.getMode()) == 'PRACTICE': + for change in notification.getChanges(): + pil = change.getPil() + change.getXxxid() + if pil == self.__expectedPil: + self.__vtecDecoderFinished = True + break def main(): os.environ["TZ"] = 'EST5EDT' diff --git a/cave/com.raytheon.viz.gfe/python/autotest/CreateGrids.py b/cave/com.raytheon.viz.gfe/python/autotest/CreateGrids.py index 1aef47de16..d19408b592 100644 --- a/cave/com.raytheon.viz.gfe/python/autotest/CreateGrids.py +++ b/cave/com.raytheon.viz.gfe/python/autotest/CreateGrids.py @@ -131,7 +131,7 @@ Public_createGrids = [ ("Fcst", "IceAccum", "SCALAR", 12, 24, 0, "all"), ("Fcst", "IceAccum", "SCALAR", 24, 36, 3, "all"), ("Fcst", "IceAccum", "SCALAR", 36, 48, 5, "all"), - ("Fcst", "IceAccum", "SCALAR", 48, 60, 10, "all"), + ("Fcst", "IceAccum", "SCALAR", 48, 60, 5, "all"), ("Fcst", "IceAccum", "SCALAR", 60, 72, 0, "all"), ("Fcst", "IceAccum", "SCALAR", 72, 84, 2, "all"), ("Fcst", "IceAccum", "SCALAR", 84, 96, 4, "all"), diff --git a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py index 2b322de687..ce335a29de 100644 --- a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py +++ b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py @@ -252,10 +252,10 @@ scripts = [ ".SATURDAY...", "Strong winds.", "Mostly clear.", - "Frequent light rain.","Widespread light freezing rain.","Lows in the upper 60s.", + "Frequent light rain.","Widespread light freezing rain.","Lows around 60.", "Highs in the upper 70s.","West winds 45 to 55 mph.", ".SUNDAY...","Strong winds.","Mostly cloudy."," Widespread light freezing rain.", - "Very light snow likely.","Widespread very light sleet.","Lows in the mid 60s.", + "Very light snow likely.","Widespread very light sleet.","Lows in the upper 60s.", "Highs in the upper 70s.","South winds 55 to 60 mph.", ".MONDAY...","Strong winds.","Mostly cloudy.","Widespread very light sleet.", "Areas of blowing snow.","Patchy fog.","Lows in the mid 60s.","Highs around 80.", diff --git a/cave/com.raytheon.viz.gfe/python/autotest/VTEC_GHG_Complex1_TestScript.py b/cave/com.raytheon.viz.gfe/python/autotest/VTEC_GHG_Complex1_TestScript.py index 1243e233da..192fe325d5 100644 --- a/cave/com.raytheon.viz.gfe/python/autotest/VTEC_GHG_Complex1_TestScript.py +++ b/cave/com.raytheon.viz.gfe/python/autotest/VTEC_GHG_Complex1_TestScript.py @@ -281,6 +281,7 @@ scripts = [ "name": "GHG_Complex1_6", "productType": "Hazard_WSW_Local", "deleteGrids": [], + "decodeVTEC": 0, "checkStrings": [ "WWUS42 KTBW 010000", "WSWTBW", diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureUtil.java index 34c9a1c36d..e801ff08cd 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureUtil.java @@ -86,10 +86,10 @@ public class ProcedureUtil { req.setPreview(pi); req.setRefSet(pi.getEditAction().getRefSet()); req.setTimeRange(pi.getEditAction().getTimeRange()); + req.setVarDict(varDict); final int[] returnCode = new int[1]; - if (varDict != null) { - req.setVarDict(varDict); + if (varDict != null && (!varDict.isEmpty())) { returnCode[0] = IDialogConstants.OK_ID; } else { VizApp.runSync(new Runnable() { @@ -97,7 +97,7 @@ public class ProcedureUtil { public void run() { List varList = dm.getProcedureInterface() .getVarDictWidgets(procName); - if ((varList != null) && (varList.size() > 0)) { + if ((varList != null) && (!varList.isEmpty())) { /* * The SelectionDlg changes based on the procedure. * Since it is non-modal several dialogs may be diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/ESF_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/ESF_Local.py index 90ad308dfa..f21add3ff1 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/ESF_Local.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/ESF_Local.py @@ -33,6 +33,7 @@ # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # Oct 20, 2014 #3685 randerso Changed to support mixed case +# Jul 27, 2016 #5769 randerso Fixed case of MND header # ## @@ -105,9 +106,9 @@ class TextProduct(GenericReport.TextProduct): # # First, generate WMO lines # - - fcst = self._wmoID + " " + self._fullStationID + " " + \ - self._ddhhmmTime + "\n" + self._pil + "\n" + s = self._wmoID + " " + self._fullStationID + " " + \ + self._ddhhmmTime + "\n" + self._pil + "\n" + fcst = s.upper() # # Next, add the non-segmented UGC data @@ -131,7 +132,7 @@ class TextProduct(GenericReport.TextProduct): s = productName + "\n" + \ "National Weather Service " + self._wfoCityState + \ "\n" + issuedByString + self._timeLabel + "\n\n" - fcst = fcst + s.upper() + fcst = fcst + s return fcst def _makeProduct(self, fcst, editArea, areaLabel, argDict): diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/PNS_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/PNS_Local.py index 6c3cfc6cc6..1edc9be5f3 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/PNS_Local.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/PNS_Local.py @@ -33,6 +33,7 @@ # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # Oct 20, 2014 #3685 randerso Changed to support mixed case +# Jul 27, 2016 #5769 randerso Changed headline to all caps # ## @@ -123,7 +124,7 @@ class TextProduct(GenericReport.TextProduct): return fcst def _makeProduct(self, fcst, editArea, areaLabel, argDict): - fcst = fcst + "...Public Information Statement...\n\n" + fcst = fcst + "...PUBLIC INFORMATION STATEMENT...\n\n" fcst = fcst + "|* Information goes here *|\n\n" return fcst diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/RFD_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/RFD_Local.py index 892d0905fa..8826157edf 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/RFD_Local.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/RFD_Local.py @@ -33,6 +33,7 @@ # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # Oct 20, 2014 #3685 randerso Changed to support mixed case +# Jul 27, 2016 #5769 randerso Fixed case of MND header # ## @@ -97,9 +98,9 @@ class TextProduct(GenericReport.TextProduct): # # First, generate WMO lines # - - fcst = self._wmoID + " " + self._fullStationID + " " + \ - self._ddhhmmTime + "\n" + self._pil + "\n" + s = self._wmoID + " " + self._fullStationID + " " + \ + self._ddhhmmTime + "\n" + self._pil + "\n" + fcst = s.upper() # # Next, add the non-segmented UGC data @@ -123,7 +124,7 @@ class TextProduct(GenericReport.TextProduct): s = productName + "\n" + \ "National Weather Service " + self._wfoCityState + \ "\n" + issuedByString + self._timeLabel + "\n\n" - fcst = fcst + s.upper() + fcst = fcst + s return fcst def _makeProduct(self, fcst, editArea, areaLabel, argDict): diff --git a/pythonPackages/dynamicserialize/dstypes/com/raytheon/uf/common/activetable/ActiveTableMode.py b/pythonPackages/dynamicserialize/dstypes/com/raytheon/uf/common/activetable/ActiveTableMode.py index 068ebf788f..e35a83feda 100644 --- a/pythonPackages/dynamicserialize/dstypes/com/raytheon/uf/common/activetable/ActiveTableMode.py +++ b/pythonPackages/dynamicserialize/dstypes/com/raytheon/uf/common/activetable/ActiveTableMode.py @@ -19,10 +19,11 @@ ## # File generated against equivalent DynamicSerialize Java class +# Jul 27, 2016 #5769 randerso Fixed __str__ method class ActiveTableMode(object): def __init__(self): self.value = None def __str__(self): - return repr(self.value) \ No newline at end of file + return str(self.value) \ No newline at end of file From 1b7841814932eff3727772e05912b63d4875f3af Mon Sep 17 00:00:00 2001 From: Ron Anderson Date: Thu, 28 Jul 2016 16:35:59 -0500 Subject: [PATCH 27/34] Omaha #5769 Mixed case fixes for SRF, SFT, FWF. Change-Id: I908bd8256989d4e9a3964ba71b8c1645f60a0190 --- .../textUtilities/regular/ConfigVariables.py | 2 +- .../textUtilities/regular/FirePhrases.py | 2 +- .../autotest/RoutineLevel1_FWF_TestScript.py | 26 +++++++++---------- .../autotest/RoutineLevel1_SFT_TestScript.py | 24 ++++++++--------- .../autotest/RoutineLevel1_SRF_TestScript.py | 10 +++---- .../textproducts/templates/product/SFT.py | 4 +-- .../textproducts/templates/product/SRF.py | 4 +-- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/ConfigVariables.py b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/ConfigVariables.py index e8abc04831..56564203a8 100644 --- a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/ConfigVariables.py +++ b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/ConfigVariables.py @@ -121,7 +121,7 @@ class ConfigVariables(TextUtils.TextUtils): "up to": "up to", # Fire Weather labels "Sky/weather.........":"Sky/weather.........", - " 24 HR TREND......":" 24 HR TREND......", + " 24 hr trend......":" 24 hr trend......", "unchanged":"unchanged", "missing":"MISSING", "MinT":"lows", diff --git a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/FirePhrases.py b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/FirePhrases.py index 3aae28b903..a37bd2aae4 100644 --- a/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/FirePhrases.py +++ b/cave/com.raytheon.viz.gfe/localization/gfe/userPython/textUtilities/regular/FirePhrases.py @@ -145,7 +145,7 @@ class FirePhrases(ScalarPhrases.ScalarPhrases, VectorRelatedPhrases.VectorRelate node.set("trendElement", trendElement) node.set("descriptor", "") if indent == 1: - node.set("indentLabel", " 24 HR TREND......") + node.set("indentLabel", " 24 hr trend......") return self.DONE() def trend_DayOrNight_words(self, tree, node): diff --git a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_FWF_TestScript.py b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_FWF_TestScript.py index 61ed38165c..edc203dbe6 100644 --- a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_FWF_TestScript.py +++ b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_FWF_TestScript.py @@ -233,7 +233,7 @@ scripts = [ ], "notCheckStrings": [ - "24 HR TREND......", + "24 hr trend......", ], "createGrids": [ ("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]), @@ -364,14 +364,14 @@ scripts = [ "200 PM EST Fri Jan 1 2010", ".REST OF TODAY...", "Max temperature.....Around 78.", - "24 HR TREND......18 degrees warmer.", + "24 hr trend......18 degrees warmer.", "Min humidity........65 percent.", - "24 HR TREND......25 percent wetter.", + "24 hr trend......25 percent wetter.", ".TONIGHT...", "Min temperature.....Around 60.", - "24 HR TREND......20 degrees warmer.", + "24 hr trend......20 degrees warmer.", "Max humidity........78 percent.", - "24 HR TREND......18 percent wetter.", + "24 hr trend......18 percent wetter.", ], "createGrids": CreateGrids.Public_createGrids + CreateGrids.Fire_createGrids, "drtHour": 14, @@ -390,9 +390,9 @@ scripts = [ "1000 PM EST Fri Jan 1 2010", ".REST OF TONIGHT...", "Min temperature.....Around 60.", - "24 HR TREND......20 degrees warmer.", + "24 hr trend......20 degrees warmer.", "Max humidity........78 percent.", - "24 HR TREND......18 percent wetter.", + "24 hr trend......18 percent wetter.", ], "createGrids": CreateGrids.Public_createGrids + CreateGrids.Fire_createGrids, "drtHour": 22, @@ -411,14 +411,14 @@ scripts = [ "200 PM EST Fri Jan 1 2010", ".REST OF TODAY...", "Max temperature.....Around 70...except around 30 above timberline.", - "24 HR TREND......10 degrees warmer...except 30 degrees cooler above timberline.", + "24 hr trend......10 degrees warmer...except 30 degrees cooler above timberline.", "Min humidity........50 percent...except 20 percent above timberline.", - "24 HR TREND......10 percent wetter...except 20 percent drier above timberline.", + "24 hr trend......10 percent wetter...except 20 percent drier above timberline.", ".TONIGHT...", "Min temperature.....Around 50...except around 20 above timberline.", - "24 HR TREND......10 degrees warmer...except 20 degrees cooler above timberline.", + "24 hr trend......10 degrees warmer...except 20 degrees cooler above timberline.", "Max humidity........70 percent...except 30 percent above timberline.", - "24 HR TREND......10 percent wetter...except 30 percent drier above timberline.", + "24 hr trend......10 percent wetter...except 30 percent drier above timberline.", ], "createGrids": [ ("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]), @@ -449,9 +449,9 @@ scripts = [ "1000 PM EST Fri Jan 1 2010", ".REST OF TONIGHT...", "Min temperature.....Around 50...except around 20 above timberline.", - "24 HR TREND......10 degrees warmer...except 20 degrees cooler above timberline.", + "24 hr trend......10 degrees warmer...except 20 degrees cooler above timberline.", "Max humidity........70 percent...except 30 percent above timberline.", - "24 HR TREND......10 percent wetter...except 30 percent drier above timberline.", + "24 hr trend......10 percent wetter...except 30 percent drier above timberline.", ], "createGrids": [ ("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]), diff --git a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SFT_TestScript.py b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SFT_TestScript.py index 3ba2a82095..6d67c9c26d 100644 --- a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SFT_TestScript.py +++ b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SFT_TestScript.py @@ -237,7 +237,7 @@ scripts = [ "Tabular State Forecast for Florida", "National Weather Service Tampa Bay Ruskin FL", "600 AM EST Fri Jan 1 2010", - "Rows include...", + "ROWS INCLUDE...", " Daily predominant daytime weather 6AM-6PM", " Forecast temperatures...early morning low/daytime high", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", @@ -246,7 +246,7 @@ scripts = [ " FCST FCST FCST FCST FCST FCST FCST", " Today Sat Sun Mon Tue Wed Thu", " Jan 01 Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07", - "...Region1...", + "...REGION1...", " City1", " RNSNOW TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET", " /70 43/73 45/75 47/77 47/79 49/81 49/81", @@ -255,7 +255,7 @@ scripts = [ " BLZZRD RAIN FZDRZL SNOW WINDY DRZL WINDY", " /80 47/81 48/82 50/85 50/86 51/60 53/80", " /50 40/60 70/60 90/100 80/50 80/60 30/90", - "...Region2...", + "...REGION2...", " City3", " TSTRMS FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY", " /90 49/92 50/95 52/96 52/100 54/103 55/96", @@ -281,7 +281,7 @@ scripts = [ "Tabular State Forecast for Florida", "National Weather Service Tampa Bay Ruskin FL", "600 AM EST Fri Jan 1 2010", - "Rows include...", + "ROWS INCLUDE...", " Daily predominant daytime weather 6AM-6PM", " Forecast temperatures...early morning low/daytime high", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", @@ -290,7 +290,7 @@ scripts = [ " FCST FCST FCST FCST FCST FCST FCST", " Sat Sun Mon Tue Wed Thu Fri", " Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08", - "...Region1...", + "...REGION1...", " City1", " TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN", " 43/73 45/75 47/77 47/79 49/81 49/81 49/83", @@ -299,7 +299,7 @@ scripts = [ " RAIN FZDRZL SNOW WINDY DRZL WINDY TSTRMS", " 47/81 48/82 50/85 50/86 51/60 53/80 50/85", " 40/60 70/60 90/100 80/50 80/60 30/90 00/60", - "...Region2...", + "...REGION2...", " City3", " FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY FZDRZL", " 49/92 50/95 52/96 52/100 54/103 55/96 55/100", @@ -326,7 +326,7 @@ scripts = [ "Tabular State Forecast for Florida", "National Weather Service Tampa Bay Ruskin FL", "600 AM EST Fri Jan 1 2010", - "Rows include...", + "ROWS INCLUDE...", " Daily predominant daytime weather 6AM-6PM", " Forecast temperatures...early morning low/daytime high", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", @@ -335,7 +335,7 @@ scripts = [ " FCST FCST FCST FCST FCST FCST FCST", " Sat Sun Mon Tue Wed Thu Fri", " Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08", - "...Region1...", + "...REGION1...", " City1", " TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN", " 43/73 45/75 47/77 47/79 49/81 49/81 49/83", @@ -344,7 +344,7 @@ scripts = [ " RAIN FZDRZL SNOW FOGGY DRZL HAZE TSTRMS", " 47/81 48/82 50/85 50/86 51/60 53/80 50/85", " 40/60 70/60 90/100 80/50 80/60 30/90 00/60", - "...Region2...", + "...REGION2...", " City3", " FZRAIN SNOSHWR BLGSNO RAIN DUST SMOKE FZDRZL", " 49/92 50/95 52/96 52/100 54/103 55/96 55/100", @@ -380,7 +380,7 @@ scripts = [ "Tabular State Forecast for Florida", "National Weather Service Tampa Bay Ruskin FL", "600 AM EST Fri Jan 1 2010", - "Rows include...", + "ROWS INCLUDE...", " Daily predominant daytime weather 6AM-6PM", " Forecast temperatures...early morning low/daytime high", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", @@ -389,7 +389,7 @@ scripts = [ " FCST FCST FCST FCST FCST FCST FCST", " Sat Sun Mon Tue Wed Thu Fri", " Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08", - "...Region1...", + "...REGION1...", " City1", " CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY", " 43/73 45/75 47/77 47/79 49/81 49/81 49/83", @@ -398,7 +398,7 @@ scripts = [ " CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY", " 47/81 48/82 50/85 50/86 51/60 53/80 50/85", " 40/60 70/60 90/100 80/50 80/60 30/90 00/60", - "...Region2...", + "...REGION2...", " City3", " CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY", " 49/92 50/95 52/96 52/100 54/103 55/96 55/100", diff --git a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py index ce335a29de..9e86c7f5a6 100644 --- a/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py +++ b/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SRF_TestScript.py @@ -261,9 +261,9 @@ scripts = [ "Areas of blowing snow.","Patchy fog.","Lows in the mid 60s.","Highs around 80.", "Southwest winds around 65 mph.", - "Tide Information...", + "TIDE INFORMATION...", - "At Venice Inlet...", + "AT VENICE INLET...", "High tide at 2:34 AM", "Low tide at 10:18 AM", @@ -298,16 +298,16 @@ scripts = [ "Rip current risk....Moderate. A moderate risk of rip currents means wind and or wave conditions support stronger or more frequent rip currents. Always have a flotation device with you in the water.", "Waterspout threat...Very slight chance of waterspouts.", ".OUTLOOK...", - "Tide Information...", + "TIDE INFORMATION...", - "At Cedar Key...", + "AT CEDAR KEY...", "High tide 3.1 feet at 4:27 AM", "Low tide 0.0 feet at 11:15 AM", "High tide 3.0 feet at 5:42 PM", "Low tide 0.9 feet at 11:42 PM", - "At Venice Inlet...", + "AT VENICE INLET...", "High tide 1.6 feet at 2:34 AM", "Low tide -0.1 feet at 10:18 AM", diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SFT.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SFT.py index 761a2df898..a6c5998c6e 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SFT.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SFT.py @@ -379,7 +379,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis): # region has changed, need to output it if self._lastRegion is None or region != self._lastRegion: - fcst = fcst + "..." + region + "...\n " + area + "\n" + fcst = fcst + "..." + region.upper() + "...\n " + area + "\n" self._lastRegion = region return fcst else: @@ -600,7 +600,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis): ident = " " # s is the built-up string containing the description - s = "Rows include...\n" + s = "ROWS INCLUDE...\n" # Weather diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SRF.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SRF.py index 7dbf50885a..574d396b0f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SRF.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/textproducts/templates/product/SRF.py @@ -1589,7 +1589,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis): if labels == []: return fcst - fcst = fcst + "\nTide Information...\n" + fcst = fcst + "\nTIDE INFORMATION...\n" # Get day/month/year creationTime = time.localtime(argDict["creationTime"]) currentDate = time.strftime("%m/%d/%Y", creationTime) @@ -1600,7 +1600,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis): # Add error message to fcst fcst = fcst + tideTable continue - fcst = fcst + "\nAt " + label + "...\n\n" + fcst = fcst + "\nAT " + label.upper() + "...\n\n" for line in tideTable: if line.find(currentDate) == 0: # Get the tide info From ddb5a15a3c326887b3e20290596c58faadd99768 Mon Sep 17 00:00:00 2001 From: Tom Gurney Date: Thu, 4 Aug 2016 10:57:24 -0500 Subject: [PATCH 28/34] Omaha #5783 Add missing forecastTime unique constraint For these tables: bufrsigwx cwa tcg tcs Change-Id: I1a37cd265d78f62d5b10d881ad6072fc97b7a560 --- .../16.2.2/DR5254/alter_cwa_drop_datauri.sh | 6 ++++-- .../16.2.2/DR5285/alter_tcs_drop_datauri.sh | 6 ++++-- .../16.2.2/DR5286/alter_tcg_drop_datauri.sh | 6 ++++-- .../16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh | 6 ++++-- .../uf/common/dataplugin/bufrsigwx/SigWxData.java | 14 +++----------- .../uf/common/dataplugin/cwa/CWARecord.java | 12 ++---------- .../dataplugin/tcg/TropicalCycloneGuidance.java | 14 +++----------- .../dataplugin/tcs/TropicalCycloneSummary.java | 13 +++---------- 8 files changed, 27 insertions(+), 50 deletions(-) diff --git a/deltaScripts/16.2.2/DR5254/alter_cwa_drop_datauri.sh b/deltaScripts/16.2.2/DR5254/alter_cwa_drop_datauri.sh index c538b24982..821c7ac35e 100755 --- a/deltaScripts/16.2.2/DR5254/alter_cwa_drop_datauri.sh +++ b/deltaScripts/16.2.2/DR5254/alter_cwa_drop_datauri.sh @@ -3,16 +3,18 @@ # multi-column unique constraint PSQL="/awips2/psql/bin/psql" +DBUSER=awips echo "INFO: Altering table cwa" -${PSQL} -U awips -d metadata << EOF +${PSQL} -U ${DBUSER} -d metadata << EOF begin transaction; delete from cwa where eventid is null; alter table cwa drop constraint if exists uk_cwa_datauri_fields, drop column if exists datauri, alter eventid set not null, - add constraint uk_cwa_datauri_fields unique (reftime, eventid); + add constraint uk_cwa_datauri_fields unique (reftime, forecasttime, eventid); +drop index if exists cwa_refTimeIndex; commit transaction; EOF diff --git a/deltaScripts/16.2.2/DR5285/alter_tcs_drop_datauri.sh b/deltaScripts/16.2.2/DR5285/alter_tcs_drop_datauri.sh index edb78befe5..eb605b7380 100755 --- a/deltaScripts/16.2.2/DR5285/alter_tcs_drop_datauri.sh +++ b/deltaScripts/16.2.2/DR5285/alter_tcs_drop_datauri.sh @@ -3,15 +3,17 @@ # multi-column unique constraint PSQL="/awips2/psql/bin/psql" +DBUSER=awips echo "INFO: Altering table tcs" -${PSQL} -U awips -d metadata << EOF +${PSQL} -U ${DBUSER} -d metadata << EOF begin transaction; alter table tcs drop constraint if exists uk_tcs_datauri_fields, drop column if exists datauri, add constraint uk_tcs_datauri_fields unique - (reftime, producttype, latitude, longitude, stationid); + (reftime, forecasttime, producttype, latitude, longitude, stationid); +drop index if exists tcs_refTimeIndex; commit transaction; EOF diff --git a/deltaScripts/16.2.2/DR5286/alter_tcg_drop_datauri.sh b/deltaScripts/16.2.2/DR5286/alter_tcg_drop_datauri.sh index 20d62c8477..ff70425a44 100755 --- a/deltaScripts/16.2.2/DR5286/alter_tcg_drop_datauri.sh +++ b/deltaScripts/16.2.2/DR5286/alter_tcg_drop_datauri.sh @@ -3,17 +3,19 @@ # multi-column unique constraint TABLE=tcg +DBUSER=awips PSQL="/awips2/psql/bin/psql" echo "INFO: Altering table ${TABLE}" -${PSQL} -U awips -d metadata << EOF +${PSQL} -U ${DBUSER} -d metadata << EOF begin transaction; alter table ${TABLE} drop constraint if exists uk_${TABLE}_datauri_fields, drop column if exists datauri, add constraint uk_${TABLE}_datauri_fields unique - (reftime, producttype, modelname, latitude, longitude, stationid); + (reftime, forecasttime, producttype, modelname, latitude, longitude, stationid); +drop index if exists tcg_refTimeIndex; commit transaction; EOF diff --git a/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh b/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh index 73117a61dd..1713d3dcae 100755 --- a/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh +++ b/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh @@ -3,12 +3,13 @@ # new multi-column unique constraint TABLE=bufrsigwx +DBUSER=awips PSQL="/awips2/psql/bin/psql" echo "INFO: Altering table ${TABLE}" -${PSQL} -U awips -d metadata << EOF +${PSQL} -U ${DBUSER} -d metadata << EOF begin transaction; delete from ${TABLE} where wxLayer is null @@ -21,6 +22,7 @@ alter table ${TABLE} alter wxType set not null, alter key set not null, add constraint uk_${TABLE}_datauri_fields unique - (reftime, wxLayer, wxType, key); + (reftime, forecasttime, wxLayer, wxType, key); +drop index if exists bufrsigwx_refTimeIndex; commit transaction; EOF diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.bufrsigwx/src/com/raytheon/uf/common/dataplugin/bufrsigwx/SigWxData.java b/edexOsgi/com.raytheon.uf.common.dataplugin.bufrsigwx/src/com/raytheon/uf/common/dataplugin/bufrsigwx/SigWxData.java index 04d851541a..c9d720fa17 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.bufrsigwx/src/com/raytheon/uf/common/dataplugin/bufrsigwx/SigWxData.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.bufrsigwx/src/com/raytheon/uf/common/dataplugin/bufrsigwx/SigWxData.java @@ -27,8 +27,6 @@ import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; -import org.hibernate.annotations.Index; - import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.bufrsigwx.common.SigWxLayer; @@ -58,23 +56,17 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; * Aug 30, 2013 2298 rjpeter Make getPluginName abstract * Oct 14, 2013 2361 njensen Removed XML annotations and IDecoderGettable * Jul 23, 2015 2360 rferrel Add name to unique constraint. - * Feb 04, 2015 5309 tgurney Drop dataURI column and update unique constraint. + * Feb 04, 2016 5309 tgurney Drop dataURI column and update unique constraint. + * Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint * * * * @author jkorman - * @version 1.0 */ @Entity @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "bufrsigwxseq") @Table(name = "bufrsigwx", uniqueConstraints = { @UniqueConstraint(name = "uk_bufrsigwx_datauri_fields", columnNames = { - "refTime", "wxLayer", "wxType", "key" }) }) -/* - * Both refTime and forecastTime are included in the refTimeIndex since - * forecastTime is unlikely to be used. - */ -@org.hibernate.annotations.Table(appliesTo = "bufrsigwx", indexes = { @Index(name = "bufrswigwx_refTimeIndex", columnNames = { - "refTime", "forecastTime" }) }) + "refTime", "forecastTime", "wxLayer", "wxType", "key" }) }) @DynamicSerialize public class SigWxData extends PersistablePluginDataObject implements IPointData, IPersistable { diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.cwa/src/com/raytheon/uf/common/dataplugin/cwa/CWARecord.java b/edexOsgi/com.raytheon.uf.common.dataplugin.cwa/src/com/raytheon/uf/common/dataplugin/cwa/CWARecord.java index 6d90e6a124..f629912266 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.cwa/src/com/raytheon/uf/common/dataplugin/cwa/CWARecord.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.cwa/src/com/raytheon/uf/common/dataplugin/cwa/CWARecord.java @@ -29,8 +29,6 @@ import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; -import org.hibernate.annotations.Index; - import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.persist.IPersistable; @@ -61,22 +59,16 @@ import com.vividsolutions.jts.geom.Coordinate; * Jul 23, 2015 2360 rferrel Add name to unique constraint. * Jan 25, 2016 5254 tgurney Remove dataURI column and update unique * constraint. + * Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint * * * * @author jsanchez - * @version 1.0 */ @Entity @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "cwaseq") @Table(name = "cwa", uniqueConstraints = { @UniqueConstraint(name = "uk_cwa_datauri_fields", columnNames = { - "refTime", "eventId" }) }) -/* - * Both refTime and forecastTime are included in the refTimeIndex since - * forecastTime is unlikely to be used. - */ -@org.hibernate.annotations.Table(appliesTo = "cwa", indexes = { @Index(name = "cwa_refTimeIndex", columnNames = { - "refTime", "forecastTime" }) }) + "refTime", "forecastTime", "eventId" }) }) @DynamicSerialize public class CWARecord extends PersistablePluginDataObject implements IPointData, IPersistable { diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.tcg/src/com/raytheon/uf/common/dataplugin/tcg/TropicalCycloneGuidance.java b/edexOsgi/com.raytheon.uf.common.dataplugin.tcg/src/com/raytheon/uf/common/dataplugin/tcg/TropicalCycloneGuidance.java index 48efdb8f6d..1a23c0f952 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.tcg/src/com/raytheon/uf/common/dataplugin/tcg/TropicalCycloneGuidance.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.tcg/src/com/raytheon/uf/common/dataplugin/tcg/TropicalCycloneGuidance.java @@ -29,8 +29,6 @@ import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; -import org.hibernate.annotations.Index; - import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.NullString; @@ -61,23 +59,17 @@ import com.vividsolutions.jts.geom.Geometry; * Oct 15, 2013 2361 njensen Removed XML annotations * Jul 28, 2015 4360 rferrel Named unique constraint. Made productType and modelName non-nullable. * Jan 28, 2016 5286 tgurney Drop dataURI column and update unique constraint. + * Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint * * * * @author jsanchez - * @version 1.0 */ @Entity @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcgseq") @Table(name = "tcg", uniqueConstraints = { @UniqueConstraint(name = "uk_tcg_datauri_fields", columnNames = { - "refTime", "productType", "modelName", "latitude", "longitude", - "stationId" }) }) -/* - * Both refTime and forecastTime are included in the refTimeIndex since - * forecastTime is unlikely to be used. - */ -@org.hibernate.annotations.Table(appliesTo = "tcg", indexes = { @Index(name = "tcg_refTimeIndex", columnNames = { - "refTime", "forecastTime" }) }) + "refTime", "forecastTime", "productType", "modelName", "latitude", + "longitude", "stationId" }) }) @DynamicSerialize public class TropicalCycloneGuidance extends PersistablePluginDataObject implements ISpatialEnabled, IPointData { diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.tcs/src/com/raytheon/uf/common/dataplugin/tcs/TropicalCycloneSummary.java b/edexOsgi/com.raytheon.uf.common.dataplugin.tcs/src/com/raytheon/uf/common/dataplugin/tcs/TropicalCycloneSummary.java index bad0bcdf7f..9e1012f8dd 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.tcs/src/com/raytheon/uf/common/dataplugin/tcs/TropicalCycloneSummary.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.tcs/src/com/raytheon/uf/common/dataplugin/tcs/TropicalCycloneSummary.java @@ -30,8 +30,6 @@ import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; -import org.hibernate.annotations.Index; - import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.NullString; @@ -63,22 +61,17 @@ import com.vividsolutions.jts.geom.Geometry; * Jul 23, 2014 3410 bclement location changed to floats * Jul 28, 2015 4360 rferrel Named unique constraint. Made productType non-nullable. * Jan 27, 2016 5285 tgurney Remove dataURI column and update unique constraint. + * Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint * * * * @author jsanchez - * @version 1.0 */ @Entity @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcsseq") @Table(name = "tcs", uniqueConstraints = { @UniqueConstraint(name = "uk_tcs_datauri_fields", columnNames = { - "refTime", "productType", "latitude", "longitude", "stationId" }) }) -/* - * Both refTime and forecastTime are included in the refTimeIndex since - * forecastTime is unlikely to be used. - */ -@org.hibernate.annotations.Table(appliesTo = "tcs", indexes = { @Index(name = "tcs_refTimeIndex", columnNames = { - "refTime", "forecastTime" }) }) + "refTime", "forecastTime", "productType", "latitude", "longitude", + "stationId" }) }) @DynamicSerialize public class TropicalCycloneSummary extends PersistablePluginDataObject implements ISpatialEnabled, IPointData { From b26367fa4eba2bdc51fee35301280f27d39c6496 Mon Sep 17 00:00:00 2001 From: Tom Gurney Date: Fri, 5 Aug 2016 08:55:57 -0500 Subject: [PATCH 29/34] Omaha #5783 Typo in delta script Change-Id: I1143a445b8080bdc668e4557859e13f06b3ddbd2 --- deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh b/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh index 1713d3dcae..e3c4715dfe 100755 --- a/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh +++ b/deltaScripts/16.2.2/DR5309/alter_bufrsigwx_drop_datauri.sh @@ -23,6 +23,7 @@ alter table ${TABLE} alter key set not null, add constraint uk_${TABLE}_datauri_fields unique (reftime, forecasttime, wxLayer, wxType, key); -drop index if exists bufrsigwx_refTimeIndex; +-- "bufrswigwx" not a typo. name was misspelled when the index was created. +drop index if exists bufrswigwx_refTimeIndex; commit transaction; EOF From 09205aafd50e3535cbefb65714dc9ffcb554bb36 Mon Sep 17 00:00:00 2001 From: Ron Anderson Date: Wed, 10 Aug 2016 13:29:49 -0500 Subject: [PATCH 30/34] Omaha #5828 Fix combinations file temporary dead lock Change-Id: Ief4dd0a424c3a3beddc6a43e862cff17b1d16737 --- .../textformatter/CombinationsFileUtil.java | 61 +++++++++---------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java index cc7c492569..21ab1e2962 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java @@ -42,8 +42,6 @@ import jep.JepException; import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException; import com.raytheon.uf.common.dataplugin.gfe.python.GfePyIncludeUtil; -import com.raytheon.uf.common.dataplugin.gfe.server.message.ServerResponse; -import com.raytheon.uf.common.gfe.ifpclient.IFPClient; import com.raytheon.uf.common.localization.IPathManager; import com.raytheon.uf.common.localization.LocalizationContext; import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel; @@ -54,7 +52,6 @@ import com.raytheon.uf.common.localization.PathManagerFactory; import com.raytheon.uf.common.localization.SaveableOutputStream; import com.raytheon.uf.common.localization.exception.LocalizationException; import com.raytheon.uf.common.python.PyUtil; -import com.raytheon.uf.common.python.PythonIncludePathUtil; import com.raytheon.uf.common.python.PythonScript; import com.raytheon.uf.common.serialization.SerializationException; import com.raytheon.uf.common.serialization.SingleTypeJAXBManager; @@ -70,23 +67,31 @@ import com.raytheon.viz.gfe.textformatter.CombinationsFileUtil.ComboData.Entry; * *
  * SOFTWARE HISTORY
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Jul 25, 2008            mnash       Initial creation
- * Aug 07, 2013       1561 njensen     Use pm.listFiles() instead of pm.listStaticFiles()
- * Sep 05, 2013     #2329  randerso    Moved genereateAutoCombinationsFile here
- *                                     Cleaned up error handling
- * Sep 30, 2013      2361  njensen     Use JAXBManager for XML
- * Feb 05, 2014     #2591  randerso    Forced retrieval of combinations file
- *                                     Implemented retry on error
- * Aug 27, 2014     #3561  randerso    Yet another attempt to fix combinations file updating
- * Sep 08, 2014     #3592  randerso    Changed to use only list site level files as all 
- *                                     combo files are saved to the site level
- * Oct 07, 2015     #4695  dgilling    Code cleanup to remove compile warnings.
- * Nov 12, 2015      4834  njensen     Changed LocalizationOpFailedException to LocalizationException
- * Nov 18, 2015     #5129  dgilling    Support new IFPClient.
- * Feb 05, 2016      5242  dgilling    Remove calls to deprecated Localization APIs.
- * Apr 25, 2016  #5605     randerso    Switched back to writing combinations file using Localization
+ * 
+ * Date          Ticket#  Engineer  Description
+ * ------------- -------- --------- --------------------------------------------
+ * Jul 25, 2008           mnash     Initial creation
+ * Aug 07, 2013  1561     njensen   Use pm.listFiles() instead of
+ *                                  pm.listStaticFiles()
+ * Sep 05, 2013  2329     randerso  Moved genereateAutoCombinationsFile here
+ *                                  Cleaned up error handling
+ * Sep 30, 2013  2361     njensen   Use JAXBManager for XML
+ * Feb 05, 2014  2591     randerso  Forced retrieval of combinations file
+ *                                  Implemented retry on error
+ * Aug 27, 2014  3561     randerso  Yet another attempt to fix combinations file
+ *                                  updating
+ * Sep 08, 2014  3592     randerso  Changed to use only list site level files as
+ *                                  all combo files are saved to the site level
+ * Oct 07, 2015  4695     dgilling  Code cleanup to remove compile warnings.
+ * Nov 12, 2015  4834     njensen   Changed LocalizationOpFailedException to
+ *                                  LocalizationException
+ * Nov 18, 2015  5129     dgilling  Support new IFPClient.
+ * Feb 05, 2016  5242     dgilling  Remove calls to deprecated Localization
+ *                                  APIs.
+ * Apr 25, 2016  5605     randerso  Switched back to writing combinations file
+ *                                  using Localization
+ * Aug 10, 2016  5828     randerso  Fix file dead lock when loading updated
+ *                                  combinations file
  * 
  * 
* @@ -244,15 +249,6 @@ public class CombinationsFileUtil { File pyFile = null; if (lf != null) { try { - // get the local .py file - pyFile = lf.getFile(false); - - // delete both the local .py and .pyc files to force retrieval - // and regeneration - pyFile.delete(); - File pycFile = new File(pyFile.getPath() + "c"); - pycFile.delete(); - // retrieve the .py file pyFile = lf.getFile(true); } catch (LocalizationException e) { @@ -276,8 +272,7 @@ public class CombinationsFileUtil { HashMap map = new HashMap<>(); map.put("comboName", comboName); for (int retryCount = 0; retryCount < MAX_TRIES; retryCount++) { - try (PythonScript python = new PythonScript( - scriptPath, + try (PythonScript python = new PythonScript(scriptPath, PyUtil.buildJepIncludePath( GfePyIncludeUtil.getCombinationsIncludePath(), GfePyIncludeUtil.getCommonPythonIncludePath()), @@ -328,6 +323,10 @@ public class CombinationsFileUtil { + ".py"; LocalizationFile lf = pm.getLocalizationFile(localization, fileName); + // delete the local .pyc file to force regeneration + File pycFile = new File(lf.getFile(false).getPath() + "c"); + pycFile.delete(); + try (SaveableOutputStream stream = lf.openOutputStream(); Writer outWriter = new OutputStreamWriter(stream)) { From 155b7ce7ec401f5452e19a47aa0a24d7fa40aa3f Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 30 Aug 2016 14:39:29 -0500 Subject: [PATCH 31/34] Regional Mercator for localized site; remove States scale --- .../Installer.localization/component.spec | 57 +++-- .../cave_static/bundles/scales/Regional.xml | 219 +++++++----------- .../cave_static/bundles/scales/States.xml | 117 ---------- 3 files changed, 127 insertions(+), 266 deletions(-) delete mode 100644 rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/States.xml diff --git a/rpms/awips2.core/Installer.localization/component.spec b/rpms/awips2.core/Installer.localization/component.spec index c03ebfa6e0..a5b8b1eee4 100644 --- a/rpms/awips2.core/Installer.localization/component.spec +++ b/rpms/awips2.core/Installer.localization/component.spec @@ -41,41 +41,60 @@ if [ -d ${RPM_BUILD_ROOT} ]; then fi %build -# Build all WFO site localization Map Scales (Regional.xml, States.xml, WFO.xml) +# Build all WFO site localization Map Scales (Regional.xml and WFO.xml) BUILD_DIR=%{_baseline_workspace}/rpms/awips2.core/Installer.localization/ UTIL=%{_baseline_workspace}/localization/utility #file=$BUILD_DIR/wfo.dat file=$BUILD_DIR/coords.dat +regional=$BUILD_DIR/coords_regional.dat # for site in $(cat $file |cut -c -3) do - lat=$(cat $file |grep $site | cut -d"," -f2) - lon=$(cat $file |grep $site | cut -d"," -f3) + lat=$(cat $file |grep $site | cut -d"," -f2 | tr -d '[[:space:]]') + lon=$(cat $file |grep $site | cut -d"," -f3 | tr -d '[[:space:]]') # - lowx=$(cat $file |grep $site | cut -d"," -f4) - highx=$(cat $file |grep $site | cut -d"," -f5) - lowy=$(cat $file |grep $site | cut -d"," -f6) - highy=$(cat $file |grep $site | cut -d"," -f7) - minx=$(cat $file |grep $site | cut -d"," -f8) - maxx=$(cat $file |grep $site | cut -d"," -f9) - miny=$(cat $file |grep $site | cut -d"," -f10) - maxy=$(cat $file |grep $site | cut -d"," -f11) + lowx=$(cat $file |grep $site | cut -d"," -f4 | tr -d '[[:space:]]') + highx=$(cat $file |grep $site | cut -d"," -f5 | tr -d '[[:space:]]') + lowy=$(cat $file |grep $site | cut -d"," -f6 | tr -d '[[:space:]]') + highy=$(cat $file |grep $site | cut -d"," -f7 | tr -d '[[:space:]]') + minx=$(cat $file |grep $site | cut -d"," -f8 | tr -d '[[:space:]]') + maxx=$(cat $file |grep $site | cut -d"," -f9 | tr -d '[[:space:]]') + miny=$(cat $file |grep $site | cut -d"," -f10 | tr -d '[[:space:]]') + maxy=$(cat $file |grep $site | cut -d"," -f11 | tr -d '[[:space:]]') # CAVE CAVE_DIR=$UTIL/cave_static/site/$site mkdir -p $CAVE_DIR cp -R $BUILD_DIR/utility/cave_static/* $CAVE_DIR - grep -rl 'LOWX' $CAVE_DIR | xargs sed -i 's/LOWX/'$lowx'/g' - grep -rl 'HIGHX' $CAVE_DIR | xargs sed -i 's/HIGHX/'$highx'/g' - grep -rl 'LOWY' $CAVE_DIR | xargs sed -i 's/LOWY/'$lowy'/g' - grep -rl 'HIGHY' $CAVE_DIR | xargs sed -i 's/HIGHY/'$highy'/g' - grep -rl 'MINX' $CAVE_DIR | xargs sed -i 's/MINX/'$minx'/g' - grep -rl 'MAXX' $CAVE_DIR | xargs sed -i 's/MAXX/'$maxx'/g' - grep -rl 'MINY' $CAVE_DIR | xargs sed -i 's/MINY/'$miny'/g' - grep -rl 'MAXY' $CAVE_DIR | xargs sed -i 's/MAXY/'$maxy'/g' + grep -rl 'LOWX' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/LOWX/'$lowx'/g' + grep -rl 'HIGHX' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/HIGHX/'$highx'/g' + grep -rl 'LOWY' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/LOWY/'$lowy'/g' + grep -rl 'HIGHY' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/HIGHY/'$highy'/g' + grep -rl 'MINX' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/MINX/'$minx'/g' + grep -rl 'MAXX' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/MAXX/'$maxx'/g' + grep -rl 'MINY' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/MINY/'$miny'/g' + grep -rl 'MAXY' $CAVE_DIR/bundles/scales/WFO.xml | xargs sed -i 's/MAXY/'$maxy'/g' + + lowx=$(cat $regional |grep $site | cut -d"," -f4 | tr -d '[[:space:]]') + highx=$(cat $regional |grep $site | cut -d"," -f5 | tr -d '[[:space:]]') + lowy=$(cat $regional |grep $site | cut -d"," -f6 | tr -d '[[:space:]]') + highy=$(cat $regional |grep $site | cut -d"," -f7 | tr -d '[[:space:]]') + minx=$(cat $regional |grep $site | cut -d"," -f8 | tr -d '[[:space:]]') + maxx=$(cat $regional |grep $site | cut -d"," -f9 | tr -d '[[:space:]]') + miny=$(cat $regional |grep $site | cut -d"," -f10 | tr -d '[[:space:]]') + maxy=$(cat $regional |grep $site | cut -d"," -f11 | tr -d '[[:space:]]') + + grep -rl 'LOWX' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/LOWX/'$lowx'/g' + grep -rl 'HIGHX' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/HIGHX/'$highx'/g' + grep -rl 'LOWY' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/LOWY/'$lowy'/g' + grep -rl 'HIGHY' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/HIGHY/'$highy'/g' + grep -rl 'MINX' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/MINX/'$minx'/g' + grep -rl 'MAXX' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/MAXX/'$maxx'/g' + grep -rl 'MINY' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/MINY/'$miny'/g' + grep -rl 'MAXY' $CAVE_DIR/bundles/scales/Regional.xml | xargs sed -i 's/MAXY/'$maxy'/g' grep -rl 'XXX' $CAVE_DIR | xargs sed -i 's/XXX/'$site'/g' grep -rl 'LATITUDE' $CAVE_DIR | xargs sed -i 's/LATITUDE/'$lat'/g' diff --git a/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/Regional.xml b/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/Regional.xml index cd88b473ca..865c6168f0 100644 --- a/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/Regional.xml +++ b/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/Regional.xml @@ -1,131 +1,87 @@ - - - - - - - - - - - - PLAN_VIEW - - - - - + + + + - - - - PLAN_VIEW + + + + - - + + - - World - mapdata.world
- the_geom - name not in ('CANADA', 'MEXICO', 'UNITED STATES') + + + + PLAN_VIEW + + + + + + + + + + + + + World + mapdata.world
+ name not in ('UNITED STATES') + the_geom +
+
+ + + PLAN_VIEW + + + + + + + + + + + + + County Boundaries + mapdata.county
+ the_geom +
+
+ + + PLAN_VIEW + + + + + + + + + + + + + State Boundaries + mapdata.states
+ the_geom +
+
+ State/County Boundaries
- - - - - - - PLAN_VIEW - - - - - - State Boundaries - mapdata.states
- the_geom -
-
- - - - - - - PLAN_VIEW - - - - - - Canada - mapdata.canada
- the_geom -
-
- - - - - - - PLAN_VIEW - - - - - - Mexico - mapdata.mexico
- the_geom -
-
- - - - - - - PLAN_VIEW - - - - - - County Boundaries - mapdata.county
-
-
- State/County Boundaries -
-
- - 12 - - PROJCS["Lambert_Conformal_Conic_1SP", + 2147483647 + + PROJCS["Mercator_1SP", GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], @@ -133,18 +89,21 @@ UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH]], - PROJECTION["Lambert_Conformal_Conic_1SP"], - PARAMETER["semi_major", 6371200.0], - PARAMETER["semi_minor", 6371200.0], - PARAMETER["central_meridian", LONGITUDE], - PARAMETER["latitude_of_origin", LATITUDE], + PROJECTION["Mercator_1SP"], + PARAMETER["semi_major", 6371229.0], + PARAMETER["semi_minor", 6371229.0], + PARAMETER["latitude_of_origin", 0.0], + PARAMETER["central_meridian", 0.0], + PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] - -
-
-
-
+
+ 12 + + + + + diff --git a/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/States.xml b/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/States.xml deleted file mode 100644 index 925731d47f..0000000000 --- a/rpms/awips2.core/Installer.localization/utility/cave_static/bundles/scales/States.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - PLAN_VIEW - - - - - - - - - - - - PLAN_VIEW - - - - - - State Boundaries Zoom - mapdata.states
- the_geom -
-
- - - - - - - PLAN_VIEW - - - - - - State Boundaries - mapdata.states
- the_geom -
-
- - - - - - - - PLAN_VIEW - - - - - - County Boundaries - mapdata.county
-
-
- State/County Boundaries -
-
- - 12 - - - PROJCS["Lambert_Conformal_Conic_1SP", - GEOGCS["WGS84(DD)", - DATUM["WGS84", - SPHEROID["WGS84", 6378137.0, 298.257223563]], - PRIMEM["Greenwich", 0.0], - UNIT["degree", 0.017453292519943295], - AXIS["Geodetic longitude", EAST], - AXIS["Geodetic latitude", NORTH]], - PROJECTION["Lambert_Conformal_Conic_1SP"], - PARAMETER["semi_major", 6371200.0], - PARAMETER["semi_minor", 6371200.0], - PARAMETER["central_meridian", LONGITUDE], - PARAMETER["latitude_of_origin", LATITUDE], - PARAMETER["false_easting", 0.0], - PARAMETER["false_northing", 0.0], - UNIT["m", 1.0], - AXIS["Easting", EAST], - AXIS["Northing", NORTH]] - -
-
-
-
From f927903fb13e69c4aba22bf437457935e18fab1d Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 30 Aug 2016 14:40:44 -0500 Subject: [PATCH 32/34] with gempak installed by yum groups awips cron will run nex2gini on daa and dta and ingest to edex --- rpms/awips2.upc/Installer.ldm/patch/bin/gini | 36 +++++++++++++++++++ .../awips2.upc/Installer.ldm/patch/cron/awips | 5 ++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100755 rpms/awips2.upc/Installer.ldm/patch/bin/gini diff --git a/rpms/awips2.upc/Installer.ldm/patch/bin/gini b/rpms/awips2.upc/Installer.ldm/patch/bin/gini new file mode 100755 index 0000000000..c3df499de7 --- /dev/null +++ b/rpms/awips2.upc/Installer.ldm/patch/bin/gini @@ -0,0 +1,36 @@ +#!/bin/bash -f +# +# usage: gini DAA +# this will create and ingest an uncompressed GINI file in EDEX +# + +if [[ ! -e /home/gempak/GEMPAK7/Gemenviron.profile ]]; then + exit +fi +. /home/gempak/GEMPAK7/Gemenviron.profile +RAD=/awips2/data_store/radar ; export RAD +if [[ ! -e $OS_BIN/nex2gini ]]; then + exit +fi +nex2gini << EOF +GRDAREA = 23;-120;47.2634;-63.5664 +PROJ = lcc/40;-100;40 +KXKY = 2368;1500 +CPYFIL = +GFUNC = ${1} +RADTIM = current +RADDUR = 30 +RADFRQ = 0 +STNFIL = nexrad.tbl +RADMODE = +SATFIL = nexrcomp_${1}_YYYYMMDD_HHNN +COMPRESS= no +r + +e +EOF + +files=$(ls | grep ${1}) +mv $files /awips2/edex/data/manual/ + +exit diff --git a/rpms/awips2.upc/Installer.ldm/patch/cron/awips b/rpms/awips2.upc/Installer.ldm/patch/cron/awips index 98e5f5840f..2f63a563c0 100644 --- a/rpms/awips2.upc/Installer.ldm/patch/cron/awips +++ b/rpms/awips2.upc/Installer.ldm/patch/cron/awips @@ -1,3 +1,6 @@ -0 * * * * /awips2/ldm/bin/ldmadmin scour >> /awips2/ldm/logs/scour.log 2>&1 +#0 * * * * /awips2/ldm/bin/ldmadmin scour >> /awips2/ldm/logs/scour.log 2>&1 # rotate logs 0 17 * * * /awips2/ldm/bin/ldmadmin newlog +# nex2gini for daa and dta (lower case) +0,5,10,15,17,20,25,30,35,40,45,50,55 * * * * /awips2/tools/bin/gini daa >& /dev/null 2>&1 +0,5,10,15,17,20,25,30,35,40,45,50,55 * * * * /awips2/tools/bin/gini dta >& /dev/null 2>&1 From fe1db531af10408fcb22737172f0d6e3d9adb107 Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 30 Aug 2016 14:41:12 -0500 Subject: [PATCH 33/34] regional scales coordinates and grid geometries for localization build --- .../coords_regional.dat | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 rpms/awips2.core/Installer.localization/coords_regional.dat diff --git a/rpms/awips2.core/Installer.localization/coords_regional.dat b/rpms/awips2.core/Installer.localization/coords_regional.dat new file mode 100644 index 0000000000..1d7c15b8b1 --- /dev/null +++ b/rpms/awips2.core/Installer.localization/coords_regional.dat @@ -0,0 +1,165 @@ +PBZ, 40.53195, -80.21805999999998, 0, 12856, 0, 9999, -1.0270161913130851E7, -7570161.913130851, 3888193.3722891333, 5988193.372289133 +BOX, 41.95556, -71.13472, 0, 12856, 0, 9999, -9260104.283813741, -6560104.28381374, 4098742.3505118852, 6198742.350511885 +EAX, 38.81, -94.26389, 0, 12856, 0, 9999, -1.1832043088072142E7, -9132043.088072142, 3639407.643327768, 5739407.643327768 +SLC, 40.77195, -111.955, 0, 12856, 0, 9999, -1.3799275474681946E7, -1.1099275474681946E7, 3923369.937995336, 6023369.937995336 +TSA, 36.14861, -95.86111, 0, 12856, 0, 9999, -1.2009652232582627E7, -9309652.232582627, 3266409.1300783334, 5366409.130078333 +TOP, 39.07223, -95.63056, 0, 12856, 0, 9999, -1.1984015320781566E7, -9284015.320781566, 3676898.0522424914, 5776898.052242491 +ICT, 37.655, -97.44305, 0, 12856, 0, 9999, -1.218556225754282E7, -9485562.25754282, 3475895.6733279685, 5575895.673327968 +DDC, 37.76056, -99.96861, 0, 12856, 0, 9999, -1.246640181064753E7, -9766401.81064753, 3490732.6866962407, 5590732.686696241 +GLD, 39.36611, -101.70083, 0, 12856, 0, 9999, -1.2659022809823569E7, -9959022.809823569, 3719079.3249641983, 5819079.324964198 +MPX, 44.84916, -93.56528, 0, 12856, 0, 9999, -1.1754358408161752E7, -9054358.408161752, 4541743.148552933, 6641743.148552933 +DLH, 46.83694000000001, -92.21028, 0, 12856, 0, 9999, -1.1603683866888972E7, -8903683.866888972, 4859092.097372879, 6959092.097372879 +BIS, 46.77195, -100.75944, 0, 12856, 0, 9999, -1.2554341255278343E7, -9854341.255278343, 4848534.144023035, 6948534.144023035 +GID, 40.6475, -98.38444, 0, 12856, 0, 9999, -1.2290243812088048E7, -9590243.812088048, 3905113.630413384, 6005113.630413384 +FWD, 32.83416, -97.29805, 0, 12856, 0, 9999, -1.2169438413642783E7, -9469438.413642783, 2819117.021733404, 4919117.021733404 +OUN, 35.23694, -97.46083, 0, 12856, 0, 9999, -1.2187539374401737E7, -9487539.374401737, 3141582.4244286334, 5241582.424428633 +LIX, 30.33722, -89.82528000000002, 0, 12856, 0, 9999, -1.1338474434464194E7, -8638474.434464194, 2493128.761097869, 4593128.761097869 +CTP, 40.79139, -77.86360999999998, 0, 12856, 0, 9999, -1.0008349607817423E7, -7308349.607817423, 3926224.792077845, 6026224.792077845 +PHI, 40.01333, -74.8175, 0, 12856, 0, 9999, -9669625.455111574, -6969625.455111575, 3812607.269811037, 5912607.269811037 +OKX, 40.86556, -72.86499999999998, 0, 12856, 0, 9999, -9452509.557078287, -6752509.557078288, 3937124.6865510233, 6037124.686551023 +BOI, 43.56723, -116.21139, 0, 12856, 0, 9999, -1.4272581460459098E7, -1.1572581460459098E7, 4342865.257692845, 6442865.257692845 +ILN, 39.42111, -83.82223, 0, 12856, 0, 9999, -1.0670941737056399E7, -7970941.737056399, 3726993.2831063718, 5826993.283106372 +IND, 39.70639, -86.28084, 0, 12856, 0, 9999, -1.0944336522236228E7, -8244336.522236228, 3768142.8907820405, 5868142.890782041 +JKL, 37.59389, -83.31723000000002, 0, 12856, 0, 9999, -1.0614786280714886E7, -7914786.280714886, 3467315.981517056, 5567315.981517056 +LMK, 38.11472, -85.645, 0, 12856, 0, 9999, -1.0873631798750704E7, -8173631.798750704, 3540667.173945117, 5640667.173945117 +PAH, 37.06834, -88.77195, 0, 12856, 0, 9999, -1.1221345272428136E7, -8521345.272428136, 3393818.5808709115, 5493818.5808709115 +HGX, 29.47195, -95.07945, 0, 12856, 0, 9999, -1.1922732482079837E7, -9222732.482079837, 2382131.6441921024, 4482131.644192102 +FFC, 33.36333, -84.56583000000002, 0, 12856, 0, 9999, -1.075362925653274E7, -8053629.25653274, 2889358.5954624, 4989358.5954624005 +MLB, 28.11361, -80.655, 0, 12856, 0, 9999, -1.0318749170742461E7, -7618749.170742461, 2209770.5732198837, 4309770.573219884 +AMA, 35.23305999999999, -101.70889, 0, 12856, 0, 9999, -1.2659919073146565E7, -9959919.073146565, 3141054.197543656, 5241054.197543656 +TFX, 47.45972, -111.38472, 0, 12856, 0, 9999, -1.3735860952617709E7, -1.1035860952617709E7, 4960920.243834289, 7060920.243834289 +MSO, 46.92473, -114.09027, 0, 12856, 0, 9999, -1.4036715199953921E7, -1.1336715199953921E7, 4873374.321196115, 6973374.321196115 +SEW, 47.68722, -122.25528, 0, 12856, 0, 9999, -1.494465552190053E7, -1.224465552190053E7, 4998418.246105983, 7098418.246105983 +OTX, 47.68084, -117.62778, 0, 12856, 0, 9999, -1.4430082503642388E7, -1.1730082503642388E7, 4997364.429282707, 7097364.429282707 +PDT, 45.69083, -118.85222, 0, 12856, 0, 9999, -1.4566238913469726E7, -1.1866238913469726E7, 4674735.141138894, 6774735.141138894 +DTX, 42.68694, -83.47166999999997, 0, 12856, 0, 9999, -1.0631959842452275E7, -7931959.842452275, 4208739.887192545, 6308739.887192545 +GRR, 42.89389, -85.54472, 0, 12856, 0, 9999, -1.0862480770707285E7, -8162480.770707285, 4240098.958434695, 6340098.958434695 +MQT, 46.53139, -87.54861, 0, 12856, 0, 9999, -1.1085311181416592E7, -8385311.181416592, 4809564.403609848, 6909564.403609848 +APX, 44.9075, -84.71889, 0, 12856, 0, 9999, -1.0770649363755774E7, -8070649.363755774, 4550898.220767758, 6650898.220767758 +MFL, 25.75417, -80.38389000000002, 0, 12856, 0, 9999, -1.028860203060633E7, -7588602.030606329, 1915450.2781647672, 4015450.278164767 +CRP, 27.77917, -97.50611, 0, 12856, 0, 9999, -1.2192574461655486E7, -9492574.461655486, 2167671.8413163647, 4267671.841316365 +EWX, 29.70417, -98.02861, 0, 12856, 0, 9999, -1.2250675899157353E7, -9550675.899157353, 2411826.569545166, 4511826.569545167 +BRO, 25.91583, -97.41861, 0, 12856, 0, 9999, -1.218284455585374E7, -9482844.55585374, 1935422.9153296305, 4035422.9153296305 +CLE, 41.41222, -81.86028, 0, 12856, 0, 9999, -1.0452775009196525E7, -7752775.009196525, 4017840.676719376, 6117840.676719376 +STO, 38.60917, -121.38722, 0, 12856, 0, 9999, -1.4848128184411788E7, -1.2148128184411788E7, 3610788.6922145095, 5710788.6922145095 +MTR, 36.59277, -121.85556, 0, 12856, 0, 9999, -1.4900207088219678E7, -1.2200207088219678E7, 3327748.5982804066, 5427748.598280407 +MFR, 42.37695, -122.88056, 0, 12856, 0, 9999, -1.5014185984754441E7, -1.2314185984754441E7, 4161961.977902378, 6261961.977902378 +AFC, 61.15611, -149.98389, 0, 12856, 0, 9999, -1.8028047102625113E7, -1.5328047102625113E7, 7602375.474508852, 9702375.474508852 +AFG, 64.85972, -147.83472, 0, 12856, 0, 9999, -1.7789061712317202E7, -1.5089061712317202E7, 8511151.105478805, 1.0611151105478805E7 +AJK, 58.37834, -134.59861, 0, 12856, 0, 9999, -1.6317220529670674E7, -1.3617220529670674E7, 6988502.719640497, 9088502.719640497 +GUA, 13.55, 144.83333, 0, 12856, 0, 9999, 1.4755310375467971E7, 1.745531037546797E7, 470990.0463046187, 2570990.046304619 +HFO, 21.30278, -157.81945, 0, 12856, 0, 9999, -1.88993529392416E7, -1.61993529392416E7, 1375388.9781386214, 3475388.9781386214 +ILX, 40.15167, -89.33833, 0, 12856, 0, 9999, -1.1284326118690921E7, -8584326.118690921, 3832713.013051357, 5932713.013051357 +LOT, 41.60417, -88.08471999999998, 0, 12856, 0, 9999, -1.114492603626659E7, -8444926.03626659, 4046343.5106479404, 6146343.51064794 +SGF, 37.235, -93.40139, 0, 12856, 0, 9999, -1.1736134016597774E7, -9036134.016597774, 3417070.155880917, 5517070.155880917 +LSX, 38.69889000000001, -90.68278, 0, 12856, 0, 9999, -1.143382751132132E7, -8733827.51132132, 3623564.1607798915, 5723564.160779892 +IWX, 41.35889, -85.7, 0, 12856, 0, 9999, -1.0879747739540376E7, -8179747.739540376, 4009936.6185646886, 6109936.618564689 +EPZ, 31.87306, -106.69805, 0, 12856, 0, 9999, -1.3214708294059113E7, -1.0514708294059113E7, 2692601.376864247, 4792601.376864247 +LUB, 33.52834, -101.87584, 0, 12856, 0, 9999, -1.26784837334163E7, -9978483.7334163, 2911348.9925191603, 5011348.992519161 +MAF, 31.9425, -102.18889, 0, 12856, 0, 9999, -1.2713294556401867E7, -1.0013294556401867E7, 2701697.447975006, 4801697.447975006 +SJT, 31.37111, -100.49277, 0, 12856, 0, 9999, -1.252468783836232E7, -9824687.83836232, 2627052.367504474, 4727052.367504474 +MHX, 34.77667, -76.87694999999998, 0, 12856, 0, 9999, -9898634.078007681, -7198634.078007681, 3079095.7851539436, 5179095.785153944 +RAH, 35.77111, -78.68111, 0, 12856, 0, 9999, -1.0099254727736613E7, -7399254.727736613, 3214548.162594973, 5314548.162594973 +ILM, 34.27639, -77.91278, 0, 12856, 0, 9999, -1.0013817258883389E7, -7313817.258883389, 3011571.348302476, 5111571.348302476 +FGZ, 35.23, -111.82139, 0, 12856, 0, 9999, -1.3784418186519986E7, -1.1084418186519986E7, 3140637.624056891, 5240637.624056891 +PSR, 33.43639, -112.02389, 0, 12856, 0, 9999, -1.3806935968518315E7, -1.1106935968518315E7, 2899089.9269352136, 4999089.926935214 +TWC, 32.22806, -110.95528, 0, 12856, 0, 9999, -1.3688107686931964E7, -1.0988107686931964E7, 2739176.0054829414, 4839176.005482942 +BOU, 39.77445, -104.87973, 0, 12856, 0, 9999, -1.3012513067574153E7, -1.0312513067574153E7, 3777985.159095061, 5877985.159095061 +LBF, 41.13278, -100.7, 0, 12856, 0, 9999, -1.2547731591268562E7, -9847731.591268562, 3976496.480090039, 6076496.480090039 +ABQ, 35.03694, -106.62167, 0, 12856, 0, 9999, -1.3206214920286112E7, -1.0506214920286112E7, 3114387.0429617814, 5214387.042961782 +SJU, 18.43472, -66.00417, 0, 12856, 0, 9999, -8689592.647114804, -5989592.647114804, 1036233.0720236544, 3136233.0720236544 +LCH, 30.12528, -93.21639, 0, 12856, 0, 9999, -1.1715562215759791E7, -9015562.215759791, 2465851.546158637, 4565851.546158637 +SHV, 32.45139, -93.84139, 0, 12856, 0, 9999, -1.1785061542915132E7, -9085061.542915132, 2768569.2403426007, 4868569.2403426 +LWX, 38.97555999999999, -77.47723000000002, 0, 12856, 0, 9999, -9965384.567775378, -7265384.567775378, 3663061.2237645034, 5763061.223764503 +RNK, 37.20417, -80.41417, 0, 12856, 0, 9999, -1.0291969134008348E7, -7591969.134008348, 3412765.0409801407, 5512765.040980141 +AKQ, 36.98361, -77.00721999999998, 0, 12856, 0, 9999, -9913119.961765323, -7213119.961765323, 3382017.06778486, 5482017.06778486 +EKA, 40.81, -124.15972, 0, 12856, 0, 9999, -1.5156427199672882E7, -1.2456427199672882E7, 3928958.5399939837, 6028958.539993984 +VEF, 36.04666, -115.18444, 0, 12856, 0, 9999, -1.4158385726023614E7, -1.1458385726023614E7, 3252378.766153478, 5352378.766153478 +REV, 39.56834, -119.79666, 0, 12856, 0, 9999, -1.467125962473147E7, -1.197125962473147E7, 3748209.0221129814, 5848209.022112981 +DMX, 41.73611, -93.72334, 0, 12856, 0, 9999, -1.1771934510002028E7, -9071934.510002028, 4065984.599652903, 6165984.599652903 +DVN, 41.61167, -90.58916, 0, 12856, 0, 9999, -1.1423417068108069E7, -8723417.068108069, 4047458.911063318, 6147458.911063318 +FSD, 43.5875, -96.72945, 0, 12856, 0, 9999, -1.210621070576994E7, -9406210.70576994, 4345976.611304762, 6445976.611304762 +MRX, 36.16861, -83.40167, 0, 12856, 0, 9999, -1.0624175917810878E7, -7924175.917810878, 3269163.6693269555, 5369163.669326955 +LZK, 34.83472, -92.25944, 0, 12856, 0, 9999, -1.1609150405965706E7, -8909150.405965706, 3086957.382015361, 5186957.3820153605 +MEG, 35.13084, -89.80056, 0, 12856, 0, 9999, -1.1335725597076545E7, -8635725.597076545, 3127146.9553055568, 5227146.955305557 +OHX, 36.24722, -86.5625, 0, 12856, 0, 9999, -1.0975656811014745E7, -8275656.811014745, 3279997.204298065, 5379997.204298065 +CHS, 32.895, -80.0275, 0, 12856, 0, 9999, -1.02489718462785E7, -7548971.8462785, 2827171.4283645474, 4927171.428364547 +CAE, 33.94555, -81.1225, 0, 12856, 0, 9999, -1.0370734667454658E7, -7670734.667454658, 2967137.484526972, 5067137.484526971 +GSP, 34.9, -82.21666999999998, 0, 12856, 0, 9999, -1.049240519352435E7, -7792405.1935243495, 3095804.7482160297, 5195804.748216029 +GYX, 43.8925, -70.255, 0, 12856, 0, 9999, -9162280.366877586, -6462280.366877585, 4392919.872141641, 6492919.872141641 +LOX, 34.20722, -119.13777, 0, 12856, 0, 9999, -1.4597991766060457E7, -1.1897991766060457E7, 3002266.9968494778, 5102266.996849477 +SGX, 32.91806, -117.06361, 0, 12856, 0, 9999, -1.436734740700042E7, -1.166734740700042E7, 2830225.7109139115, 4930225.710913911 +HNX, 36.31389, -119.63223, 0, 12856, 0, 9999, -1.4652975185748825E7, -1.1952975185748825E7, 3289193.78659413, 5389193.78659413 +GRB, 44.49861, -88.11166999999998, 0, 12856, 0, 9999, -1.1147922847253527E7, -8447922.847253527, 4486926.855728445, 6586926.855728445 +ARX, 43.82278, -91.19194, 0, 12856, 0, 9999, -1.1490445555184381E7, -8790445.555184381, 4382167.990174984, 6482167.990174984 +MKX, 42.96805999999999, -88.54916, 0, 12856, 0, 9999, -1.1196571264273034E7, -8496571.264273034, 4251363.516996943, 6351363.516996943 +BMX, 33.17889, -86.78223, 0, 12856, 0, 9999, -1.1000090550464094E7, -8300090.550464094, 2864828.1131183156, 4964828.113118315 +JAN, 32.31889, -90.08028, 0, 12856, 0, 9999, -1.1366830159943571E7, -8666830.159943571, 2751121.7076351773, 4851121.707635177 +MOB, 30.67945, -88.23971999999998, 0, 12856, 0, 9999, -1.1162161869401112E7, -8462161.869401112, 2537299.6954862475, 4637299.695486248 +ALY, 42.74805, -73.80333, 0, 12856, 0, 9999, -9556850.842917763, -6856850.842917764, 4217988.965491492, 6317988.965491492 +BGM, 42.21167, -75.98611, 0, 12856, 0, 9999, -9799573.62904278, -7099573.62904278, 4137115.3826906756, 6237115.382690676 +BUF, 42.94139000000001, -78.71916999999998, 0, 12856, 0, 9999, -1.0103486958763061E7, -7403486.958763061, 4247311.452219581, 6347311.452219581 +BTV, 44.46917, -73.15555999999998, 0, 12856, 0, 9999, -9484819.516275497, -6784819.516275497, 4482338.296060415, 6582338.296060415 +LKN, 40.86, -115.7425, 0, 12856, 0, 9999, -1.4220441397243312E7, -1.1520441397243312E7, 3936307.1756696412, 6036307.175669641 +CYS, 41.15194, -104.805, 0, 12856, 0, 9999, -1.3004203172024844E7, -1.0304203172024844E7, 3979325.6342189275, 6079325.6342189275 +GJT, 39.12, -108.52445, 0, 12856, 0, 9999, -1.3417802007845536E7, -1.0717802007845536E7, 3683742.5916883955, 5783742.5916883955 +PUB, 38.27973, -104.52084, 0, 12856, 0, 9999, -1.2972604885937704E7, -1.0272604885937704E7, 3564015.2535089497, 5664015.25350895 +RIW, 43.06667, -108.47667, 0, 12856, 0, 9999, -1.3412488923283163E7, -1.0712488923283163E7, 4266360.952526259, 6366360.952526259 +JAX, 30.48472, -81.70166999999998, 0, 12856, 0, 9999, -1.0435137747948349E7, -7735137.7479483485, 2512147.2327800957, 4612147.232780095 +TAE, 30.39389, -84.34444000000002, 0, 12856, 0, 9999, -1.0729010926870467E7, -8029010.926870467, 2500432.3238385716, 4600432.323838571 +BYZ, 45.75083, -108.57056, 0, 12856, 0, 9999, -1.3422929390205748E7, -1.0722929390205748E7, 4684291.666404969, 6784291.666404969 +GGW, 48.20667, -106.62473, 0, 12856, 0, 9999, -1.3206555188991865E7, -1.0506555188991865E7, 5084654.992741944, 7184654.992741944 +PIH, 42.90444, -112.58972, 0, 12856, 0, 9999, -1.3869855655373206E7, -1.1169855655373206E7, 4241700.4110756, 6341700.4110756 +ABR, 45.45583, -98.41278, 0, 12856, 0, 9999, -1.229339518957858E7, -9593395.18957858, 4637403.771325843, 6737403.771325843 +FGF, 47.92195, -97.09805, 0, 12856, 0, 9999, -1.2147198628953073E7, -9447198.628953073, 5037279.776103232, 7137279.776103232 +UNR, 44.07278, -103.21111, 0, 12856, 0, 9999, -1.282696431992944E7, -1.012696431992944E7, 4420780.283332199, 6520780.283332199 +PQR, 45.56056, -122.53694, 0, 12856, 0, 9999, -1.497597581067905E7, -1.227597581067905E7, 4654021.562282554, 6754021.562282554 +RLX, 38.31306, -81.71861, 0, 12856, 0, 9999, -1.043702145771157E7, -7737021.45771157, 3568737.714869391, 5668737.714869391 +EYW, 24.55, -81.75, 0, 12856, 0, 9999, -1.044051199191862E7, -7740511.99191862, 1767517.7741523045, 3867517.7741523045 +CAR, 46.8667, -68.0167, 0, 12856, 0, 9999, -8913383.816522704, -6213383.816522704, 4863931.021847511, 6963931.021847511 +HUN, 34.7244, -86.4786, 0, 12856, 0, 9999, -1.0966327221337413E7, -8266327.221337413, 3072021.6934645926, 5172021.693464592 +Processing World request: 7 +Processing Canada request: 8 +Completed Canada request: 8 +INFO 2016-08-30 13:34:41,051 [Worker-2] PerformanceLogger: MapQueryJob: Loading map Canada took 3 ms +Processing State Boundaries request: 9 +Completed World request: 7 +INFO 2016-08-30 13:34:41,059 [Worker-4] PerformanceLogger: MapQueryJob: Loading map World took 14 ms +Completed State Boundaries request: 9 +INFO 2016-08-30 13:34:41,128 [Worker-7] PerformanceLogger: MapQueryJob: Loading map State Boundaries took 77 ms +Processing Canada request: 10 +Processing State Boundaries request: 11 +Completed Canada request: 10 +INFO 2016-08-30 13:34:50,868 [Worker-4] PerformanceLogger: MapQueryJob: Loading map Canada took 59 ms +Processing Canada request: 12 +Completed Canada request: 12 +INFO 2016-08-30 13:34:50,921 [Worker-2] PerformanceLogger: MapQueryJob: Loading map Canada took 2 ms +Completed State Boundaries request: 11 +INFO 2016-08-30 13:34:50,987 [Worker-7] PerformanceLogger: MapQueryJob: Loading map State Boundaries took 173 ms +Processing State Boundaries request: 13 +Completed State Boundaries request: 13 +INFO 2016-08-30 13:34:51,019 [Worker-7] PerformanceLogger: MapQueryJob: Loading map State Boundaries took 96 ms +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Last minute sent 2 messages +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Total sent 7 messages +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Network Traffic Stats for 'GetServersRequest' : 1 messages +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Network Traffic Stats for 'GetPluginRecordMapRequest' : 1 messages +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Network Traffic Stats for 'MenuCreationRequest' : 1 messages +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Network Traffic Stats for 'UtilityRequestMessage' : 2 messages +INFO 2016-08-30 13:34:56,737 [Worker-0] PerformanceLogger: StatsJob: Network Traffic Stats for 'QlServerRequest' : 2 messages +MenuTimeRefreshTask : Tue Aug 30 13:38:56 CDT 2016 : running +DataRefreshTask : Tue Aug 30 13:38:56 CDT 2016 : running +MenuTimeRefreshTask : Tue Aug 30 13:38:56 CDT 2016 : Scheduled in 5 minutes +DataRefreshTask : Tue Aug 30 13:38:56 CDT 2016 : Scheduled in 5 minutes +MenuTimeRefreshTask : Tue Aug 30 13:43:56 CDT 2016 : running +DataRefreshTask : Tue Aug 30 13:43:56 CDT 2016 : running +MenuTimeRefreshTask : Tue Aug 30 13:43:56 CDT 2016 : Scheduled in 5 minutes +DataRefreshTask : Tue Aug 30 13:43:56 CDT 2016 : Scheduled in 5 minutes +VizWorkbenchAdvisor: User exiting CAVE, shutdown initiated +In SummedHourlyMpeAction.isEnabled() +Stopping queryJob +Stopping queryJob +Stopping queryJob +Stopping queryJob +Stopping queryJob +Time to store thin client caches: 2779ms +Stopping com.raytheon.uf.viz.core plugin From 3f773555fd6d38200f675195dc6151474a6beb2d Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 30 Aug 2016 14:43:47 -0500 Subject: [PATCH 34/34] DAA and DTA style rules --- .../base/styleRules/satelliteImageryStyleRules.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/utility/common_static/base/styleRules/satelliteImageryStyleRules.xml b/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/utility/common_static/base/styleRules/satelliteImageryStyleRules.xml index c513fe29eb..432bc81ed5 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/utility/common_static/base/styleRules/satelliteImageryStyleRules.xml +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/utility/common_static/base/styleRules/satelliteImageryStyleRules.xml @@ -440,6 +440,7 @@ N1P + DAA in @@ -470,6 +471,7 @@ NTP + DTA in @@ -536,4 +538,4 @@ - \ No newline at end of file +