Merge branch 'unidata_16.2.2' of github.com:Unidata/awips2 into unidata_16.2.2

Conflicts:
	rpms/awips2.upc/Installer.ldm/patch/etc/ldmd.conf
This commit is contained in:
mjames-upc 2016-08-31 08:33:25 -06:00
commit 718b692ec9
91 changed files with 1312 additions and 835 deletions

3
.gitignore vendored
View file

@ -1,10 +1,11 @@
bin/
.metadata/ .metadata/
.gitignore
ldm/Debug ldm/Debug
test-bin/ test-bin/
testbin/ testbin/
testBin/ testBin/
bin-test/ bin-test/
bin
*.class *.class
*.pyo *.pyo
*.pyc *.pyc

View file

@ -54,6 +54,8 @@ import com.raytheon.uf.viz.core.localization.LocalizationManager;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 11, 2008 1433 chammack Initial creation * Sep 11, 2008 1433 chammack Initial creation
* Feb 11, 2016 5314 dgilling Add loadByRowOffset. * Feb 11, 2016 5314 dgilling Add loadByRowOffset.
* Jul 11, 2016 5746 dgilling Better control multi-threaded access to
* Connection.
* </pre> * </pre>
* *
* @author chammack * @author chammack
@ -240,83 +242,80 @@ public class LogMessageDAO {
oldDir.renameTo(newDir); oldDir.renameTo(newDir);
} }
public void save(StatusMessage sm) throws AlertvizException { public synchronized void save(StatusMessage sm) throws AlertvizException {
Container.logInternal(sm); 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() boolean errorOccurred = false;
.getTime())); ResultSet rs = null;
saveStatement.setString(2, sm.getCategory()); try {
saveStatement.setInt(3, sm.getPriority().ordinal()); Connection conn = getConnection();
saveStatement.setString(4, sm.getMessage()); if (saveStatement == null) {
saveStatement.setString(5, sm.getDetails()); saveStatement = conn
saveStatement.setString(6, sm.getSourceKey()); .prepareStatement(INSERT_PREPARED_STATEMENT);
saveStatement.executeUpdate(); }
if (getLastStatement == null) { saveStatement.setTimestamp(1, new Timestamp(sm.getEventTime()
getLastStatement = conn .getTime()));
.prepareStatement(SELECT_LAST_INSERT_ID); 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 (getLastStatement == null) {
if (rs.next()) { getLastStatement = conn.prepareStatement(SELECT_LAST_INSERT_ID);
int id = rs.getInt(1); }
sm.setPk(id);
} rs = getLastStatement.executeQuery();
conn.commit(); if (rs.next()) {
} catch (Exception e) { int id = rs.getInt(1);
errorOccurred = true; sm.setPk(id);
throw new AlertvizException("Save failed", e); }
} finally { conn.commit();
if (errorOccurred) { } catch (Exception e) {
closeStatement(saveStatement); errorOccurred = true;
saveStatement = null; throw new AlertvizException("Save failed", e);
closeStatement(getLastStatement); } finally {
getLastStatement = null; if (errorOccurred) {
closeConnection(); 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 { throws AlertvizException {
PreparedStatement updateStatement = null; PreparedStatement updateStatement = null;
synchronized (this) { boolean errorOccurred = false;
boolean errorOccurred = false; try {
try { Connection conn = getConnection();
Connection conn = getConnection(); updateStatement = conn.prepareStatement(ACKNOWLEDGE);
updateStatement = conn.prepareStatement(ACKNOWLEDGE);
long ackTime = System.currentTimeMillis(); long ackTime = System.currentTimeMillis();
updateStatement.setTimestamp(1, new Timestamp(ackTime)); updateStatement.setTimestamp(1, new Timestamp(ackTime));
updateStatement.setString(2, username); updateStatement.setString(2, username);
updateStatement.setInt(3, sm.getPk()); updateStatement.setInt(3, sm.getPk());
updateStatement.executeUpdate(); updateStatement.executeUpdate();
sm.setAcknowledgedBy(username); sm.setAcknowledgedBy(username);
sm.setAcknowledgedAt(new Date(ackTime)); sm.setAcknowledgedAt(new Date(ackTime));
conn.commit(); conn.commit();
} catch (SQLException e) { } catch (SQLException e) {
errorOccurred = true; errorOccurred = true;
throw new AlertvizException("Acknowledge Failed", e); throw new AlertvizException("Acknowledge Failed", e);
} finally { } finally {
closeStatement(updateStatement); closeStatement(updateStatement);
if (errorOccurred) { if (errorOccurred) {
closeConnection(); closeConnection();
}
} }
} }
} }
public StatusMessage loadByPk(int pk) throws AlertvizException { public synchronized StatusMessage loadByPk(int pk) throws AlertvizException {
ResultSet rs = null; ResultSet rs = null;
PreparedStatement statement = null; PreparedStatement statement = null;
boolean errorOccurred = false; boolean errorOccurred = false;
@ -355,7 +354,8 @@ public class LogMessageDAO {
* If an error occurred retrieving the message from the message * If an error occurred retrieving the message from the message
* store. * store.
*/ */
public StatusMessage loadByRowOffset(int index) throws AlertvizException { public synchronized StatusMessage loadByRowOffset(int index)
throws AlertvizException {
ResultSet rs = null; ResultSet rs = null;
PreparedStatement statement = null; PreparedStatement statement = null;
boolean errorOccurred = false; 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; ResultSet rs = null;
Statement statement = null; Statement statement = null;
boolean errorOccurred = false; boolean errorOccurred = false;
@ -406,8 +407,8 @@ public class LogMessageDAO {
} }
} }
public StatusMessage[] load(int count, Timestamp filter, Order order) public synchronized StatusMessage[] load(int count, Timestamp filter,
throws AlertvizException { Order order) throws AlertvizException {
ResultSet rs = null; ResultSet rs = null;
PreparedStatement statement = null; PreparedStatement statement = null;
boolean errorOccurred = false; 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 { throws AlertvizException {
ResultSet rs = null; ResultSet rs = null;
Statement statement = null; Statement statement = null;
@ -480,7 +481,8 @@ public class LogMessageDAO {
} }
} }
public Collection<Integer> purge(Timestamp filter) throws AlertvizException { public synchronized Collection<Integer> purge(Timestamp filter)
throws AlertvizException {
boolean errorOccurred = false; boolean errorOccurred = false;
Connection conn = getConnection(); Connection conn = getConnection();
@ -514,7 +516,7 @@ public class LogMessageDAO {
* *
* @return Total number of messages. * @return Total number of messages.
*/ */
public int getMessageCount() throws AlertvizException { public synchronized int getMessageCount() throws AlertvizException {
ResultSet rs = null; ResultSet rs = null;
Statement statement = null; Statement statement = null;
boolean errorOccurred = false; boolean errorOccurred = false;

View file

@ -436,20 +436,6 @@
</menuContribution> </menuContribution>
<menuContribution <menuContribution
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions"> locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
<toolbar id="d2d-1">
<command
commandId="com.raytheon.uf.viz.d2d.ui.actions.loadmodebutton"
id="com.raytheon.uf.viz.d2d.ui.actions.loadmode"
label="Load Mode"
style="pulldown"
tooltip="Load Mode">
<visibleWhen>
<reference
definitionId="com.raytheon.uf.viz.d2d.ui.inD2DActionSet">
</reference>
</visibleWhen>
</command>
</toolbar>
<toolbar <toolbar
id="mapControls"> id="mapControls">
<command <command
@ -486,6 +472,21 @@
</visibleWhen> </visibleWhen>
</command> </command>
</toolbar> </toolbar>
<toolbar
id="d2d-1">
<command
commandId="com.raytheon.uf.viz.d2d.ui.actions.loadmodebutton"
id="com.raytheon.uf.viz.d2d.ui.actions.loadmode"
label="Load Mode"
style="pulldown"
tooltip="Load Mode">
<visibleWhen>
<reference
definitionId="com.raytheon.uf.viz.d2d.ui.inD2DActionSet">
</reference>
</visibleWhen>
</command>
</toolbar>
<toolbar <toolbar
id="loopControls"> id="loopControls">
<command <command

View file

@ -1,8 +1,6 @@
output.com.raytheon.viz.gfe.jar = bin/ output.com.raytheon.viz.gfe.jar = bin/
bin.includes = META-INF/,\ bin.includes = META-INF/,\
plugin.xml,\ plugin.xml,\
T.bin,\
Td.bin,\
icons/,\ icons/,\
localization/,\ localization/,\
images/,\ images/,\
@ -10,6 +8,6 @@ bin.includes = META-INF/,\
res/,\ res/,\
python/,\ python/,\
scriptTemplates/,\ scriptTemplates/,\
testdata/\ testdata/,\
com.raytheon.viz.gfe.jar com.raytheon.viz.gfe.jar
source.com.raytheon.viz.gfe.jar = src/ source.com.raytheon.viz.gfe.jar = src/

View file

@ -188,6 +188,7 @@ import sys, time, os, types, copy, inspect, errno
import LogStream import LogStream
import AbsTime, TimeRange import AbsTime, TimeRange
import numpy, cPickle import numpy, cPickle
import threading
OUTPUT_DIR = "/tmp/products/autoTest" OUTPUT_DIR = "/tmp/products/autoTest"
@ -298,6 +299,49 @@ class ProcessInfo:
def script(self): def script(self):
return self.__script 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): class ITool (ISmartScript.ISmartScript):
def __init__(self, dbss): def __init__(self, dbss):
ISmartScript.ISmartScript.__init__(self, dbss) ISmartScript.ISmartScript.__init__(self, dbss)
@ -354,6 +398,10 @@ class ITool (ISmartScript.ISmartScript):
if success is None: if success is None:
return return
# Start NotifyTopicListener
self._notifyListener = NotifyTopicListener(callBack=self.__processNotification)
self._notifyListener.start()
# Run the test scripts # Run the test scripts
for index in range(len(self._testScript)): for index in range(len(self._testScript)):
self._runTestScript(index) self._runTestScript(index)
@ -361,6 +409,7 @@ class ITool (ISmartScript.ISmartScript):
break break
time.sleep(2) # avoid some race conditions with fileChanges time.sleep(2) # avoid some race conditions with fileChanges
self._notifyListener.stop()
self._finished() self._finished()
@ -840,18 +889,14 @@ class ITool (ISmartScript.ISmartScript):
if success and entry.get("decodeVTEC", 0): if success and entry.get("decodeVTEC", 0):
self.__runVTECDecoder(fcst, drtTime) self.__runVTECDecoder(fcst, drtTime)
# wait until table has been modified or 5 seconds # wait until table has been modified or 5 seconds
# count = 0
t1 = time.time(); t1 = time.time();
# time.sleep(0.1); while not self.__vtecDecoderFinished:
time.sleep(1) time.sleep(0.1)
# while count < 50: if time.time() - t1 > 20:
# modTime1 = self._dataMgr.ifpClient().vtecTableModTime( self.output("Vtec Decoder timed out!", self._outFile)
# "PRACTICE") break
# if modTime1 != modTime:
# break
# time.sleep(0.1)
# count = count + 1
t2 = time.time(); t2 = time.time();
if self._reportingMode in ["Verbose", "Moderate"]: if self._reportingMode in ["Verbose", "Moderate"]:
self.output("Vtec Decoder wait time: " + "%6.2f" % (t2-t1), self.output("Vtec Decoder wait time: " + "%6.2f" % (t2-t1),
@ -1033,10 +1078,23 @@ class ITool (ISmartScript.ISmartScript):
file.write(fcst) file.write(fcst)
url = urlparse.urlparse(VizApp.getHttpServer()) 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: if drtString is not None:
commandString += " -z " + drtString commandString += " -z " + drtString
# start notify listener to listen for vtec change
self.__vtecDecoderFinished = False
self.__expectedPil = fcst.split("\n",2)[1]
os.system(commandString) 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(): def main():
os.environ["TZ"] = 'EST5EDT' os.environ["TZ"] = 'EST5EDT'

View file

@ -19,13 +19,19 @@
# Sept 18, 2014: Added code to pull grids from NHC via ISC if PHISH not # 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 # Available on time. Left inactive (commented out) for the moment until that can be fully tested later
# in 2014 or in 2015. # in 2014 or in 2015.
# # LeFebvre/Santos, July 27, 2015: Expanded Manual options to include Replace and Add options.
# Last Modified: 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. # This allows sites to specify manually different threat levels across different edit areas and time ranges.
# See 2015HTIUserGuide for details. # See 2015HTIUserGuide for details.
# #
# Feb 11, 2016 LeFebvre (16.1.2): Added code to create zero grids and manual grids when # 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. # PSURGE not available. Added checks for current guidance for PHISH and ISC options.
#
# April 14, 2016: Lefebvre/Santos: Added multabledb to restore ISC option
#
# 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 # The MenuItems list defines the GFE menu item(s) under which the
# Procedure is to appear. # Procedure is to appear.
@ -51,7 +57,7 @@ VariableList = [("DEFAULT: Typical. Should only be changed in coordination with
("Grid Smoothing?", "Yes", "radio", ["Yes","No"]), ("Grid Smoothing?", "Yes", "radio", ["Yes","No"]),
("Make grids from \nPHISH, ISC, or Manually?", "PHISH", "radio", ["PHISH", "ISC", "Manually Replace", "Manually Add"]), ("Make grids from \nPHISH, ISC, or Manually?", "PHISH", "radio", ["PHISH", "ISC", "Manually Replace", "Manually Add"]),
("Manual Inundation settings:", "", "label"), ("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), ("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), ("End Hour for Inundation Timing", 6, "scale", [0.0, 78.0], 6.0),
] ]
@ -193,7 +199,7 @@ class Procedure (SmartScript.SmartScript):
for tr in trList: for tr in trList:
start = tr.startTime().unixTime() - 6*3600 start = tr.startTime().unixTime() - 6*3600
if n == 1: if n == 1:
starttimeghls = tr.startTime().unixTime() - 3*3600 starttimeghls = tr.startTime().unixTime() - 48*3600
trdelete = TimeRange.TimeRange(AbsTime.AbsTime(starttimeghls - 100*3600), trdelete = TimeRange.TimeRange(AbsTime.AbsTime(starttimeghls - 100*3600),
AbsTime.AbsTime(starttimeghls + 100*3600)) AbsTime.AbsTime(starttimeghls + 100*3600))
self.deleteCmd(['InundationTiming'], trdelete) self.deleteCmd(['InundationTiming'], trdelete)
@ -411,7 +417,7 @@ class Procedure (SmartScript.SmartScript):
# Copies the specified weather elements in elementList into the Fcst database. # 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 # Initialize all the grids we plan to return
@ -510,6 +516,8 @@ class Procedure (SmartScript.SmartScript):
# extract the percent value from this string # extract the percent value from this string
pctPos = confidenceStr.find("%") pctPos = confidenceStr.find("%")
pctStr = confidenceStr[pctPos - 2:pctPos] pctStr = confidenceStr[pctPos - 2:pctPos]
threatWEName = "StormSurgeThreat"
#print "pctStr is: ", pctStr #print "pctStr is: ", pctStr
@ -556,7 +564,7 @@ class Procedure (SmartScript.SmartScript):
elementList = ["InundationMax","InundationTiming", "SurgeHtPlusTideMSL","SurgeHtPlusTideMLLW", elementList = ["InundationMax","InundationTiming", "SurgeHtPlusTideMSL","SurgeHtPlusTideMLLW",
"SurgeHtPlusTideNAVD","SurgeHtPlusTideMHHW"] "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 \ if surgePctGrid is None or surgePctGridMSL is None or surgePctGridMLLW is None or \
surgePctGridMHHW is None or surgePctGridNAVD is None: surgePctGridMHHW is None or surgePctGridNAVD is None:
return return
@ -581,40 +589,39 @@ class Procedure (SmartScript.SmartScript):
self.statusBarMsg("Please define the end hour after the start hour.", "S") self.statusBarMsg("Please define the end hour after the start hour.", "S")
return return
print "Making timing grids"
surgePctGrid = self.empty() surgePctGrid = self.empty()
# make the InundationMax grid # Fetch the old grids if we're adding
surgePctGrid[modifyMask] = inundationHeight 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 # Make the timing grids
baseTime = self.baseGuidanceTime() baseTime = self.baseGuidanceTime()
# trList = self.makeTimingTRs(baseTime) # trList = self.makeTimingTRs(baseTime)
trList, timingGrids = self.getTimingGrids() trList, timingGrids = self.getTimingGrids()
# print "TRLIST IS: ", trList # print "TRLIST IS: ", trList
if makeOption != "Manually Add":
timeRange = TimeRange.allTimes()
self.deleteCmd(["InundationTiming"], timeRange)
for i in range(len(trList)): for i in range(len(trList)):
# only modify grid in the specified time range # only modify grid in the specified time range
start = trList[i].startTime().unixTime() start = trList[i].startTime().unixTime()
end = trList[i].endTime().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]
if (start - baseTime) / 3600 >= inunStartHour and (end - baseTime) / 3600 <= inunEndHour: 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]) self.createGrid(mutableID, "InundationTiming", "SCALAR", timingGrids[i], trList[i])
threatWEName = "StormSurgeThreat" #threatWEName = "StormSurgeThreat"
threatKeys = self.getDiscreteKeys(threatWEName) threatKeys = self.getDiscreteKeys(threatWEName)
@ -651,19 +658,13 @@ class Procedure (SmartScript.SmartScript):
# Remove old guidance grids and replace them with the new grids # Remove old guidance grids and replace them with the new grids
# Delete the old grids first # Delete the old grids first
cTime = int(self._gmtime().unixTime()/ 3600) * 3600 cTime = int(self._gmtime().unixTime()/ 3600) * 3600
startTime = AbsTime.AbsTime(cTime - 24*3600) startTime = AbsTime.AbsTime(cTime - 48*3600)
endTime = startTime + 240*3600 endTime = startTime + 240*3600
deleteTimeRange = TimeRange.TimeRange(startTime, endTime) 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: for elem in elementList:
self.deleteCmd([elem], deleteTimeRange) self.deleteCmd([elem], deleteTimeRange)
if makeOption != "Manually Replace" and makeOption != "Manually Add": if makeOption != "Manually Replace" and makeOption != "Manually Add":
self.createGrid(mutableID, "SurgeHtPlusTideMSL", "SCALAR", surgePctGridMSL, self.createGrid(mutableID, "SurgeHtPlusTideMSL", "SCALAR", surgePctGridMSL,
timeRange, precision=2) timeRange, precision=2)
@ -675,25 +676,9 @@ class Procedure (SmartScript.SmartScript):
timeRange, precision=2) timeRange, precision=2)
# Make the grid. Start with the existing grid if we have one otherwise zeros # Make the grid. Start with the existing grid if we have one otherwise zeros
coastalThreat = self.empty() coastalThreat = self.empty(np.int8)
# 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 # Yet another list to define the order in which we set grid values
# This order must be ranked lowest to highest # This order must be ranked lowest to highest

View file

@ -121,7 +121,7 @@ class ConfigVariables(TextUtils.TextUtils):
"up to": "up to", "up to": "up to",
# Fire Weather labels # Fire Weather labels
"Sky/weather.........":"Sky/weather.........", "Sky/weather.........":"Sky/weather.........",
" 24 HR TREND......":" 24 HR TREND......", " 24 hr trend......":" 24 hr trend......",
"unchanged":"unchanged", "unchanged":"unchanged",
"missing":"MISSING", "missing":"MISSING",
"MinT":"lows", "MinT":"lows",

View file

@ -145,7 +145,7 @@ class FirePhrases(ScalarPhrases.ScalarPhrases, VectorRelatedPhrases.VectorRelate
node.set("trendElement", trendElement) node.set("trendElement", trendElement)
node.set("descriptor", "") node.set("descriptor", "")
if indent == 1: if indent == 1:
node.set("indentLabel", " 24 HR TREND......") node.set("indentLabel", " 24 hr trend......")
return self.DONE() return self.DONE()
def trend_DayOrNight_words(self, tree, node): def trend_DayOrNight_words(self, tree, node):

View file

@ -131,7 +131,7 @@ Public_createGrids = [
("Fcst", "IceAccum", "SCALAR", 12, 24, 0, "all"), ("Fcst", "IceAccum", "SCALAR", 12, 24, 0, "all"),
("Fcst", "IceAccum", "SCALAR", 24, 36, 3, "all"), ("Fcst", "IceAccum", "SCALAR", 24, 36, 3, "all"),
("Fcst", "IceAccum", "SCALAR", 36, 48, 5, "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", 60, 72, 0, "all"),
("Fcst", "IceAccum", "SCALAR", 72, 84, 2, "all"), ("Fcst", "IceAccum", "SCALAR", 72, 84, 2, "all"),
("Fcst", "IceAccum", "SCALAR", 84, 96, 4, "all"), ("Fcst", "IceAccum", "SCALAR", 84, 96, 4, "all"),

View file

@ -233,7 +233,7 @@ scripts = [
], ],
"notCheckStrings": [ "notCheckStrings": [
"24 HR TREND......", "24 hr trend......",
], ],
"createGrids": [ "createGrids": [
("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]), ("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]),
@ -364,14 +364,14 @@ scripts = [
"200 PM EST Fri Jan 1 2010", "200 PM EST Fri Jan 1 2010",
".REST OF TODAY...", ".REST OF TODAY...",
"Max temperature.....Around 78.", "Max temperature.....Around 78.",
"24 HR TREND......18 degrees warmer.", "24 hr trend......18 degrees warmer.",
"Min humidity........65 percent.", "Min humidity........65 percent.",
"24 HR TREND......25 percent wetter.", "24 hr trend......25 percent wetter.",
".TONIGHT...", ".TONIGHT...",
"Min temperature.....Around 60.", "Min temperature.....Around 60.",
"24 HR TREND......20 degrees warmer.", "24 hr trend......20 degrees warmer.",
"Max humidity........78 percent.", "Max humidity........78 percent.",
"24 HR TREND......18 percent wetter.", "24 hr trend......18 percent wetter.",
], ],
"createGrids": CreateGrids.Public_createGrids + CreateGrids.Fire_createGrids, "createGrids": CreateGrids.Public_createGrids + CreateGrids.Fire_createGrids,
"drtHour": 14, "drtHour": 14,
@ -390,9 +390,9 @@ scripts = [
"1000 PM EST Fri Jan 1 2010", "1000 PM EST Fri Jan 1 2010",
".REST OF TONIGHT...", ".REST OF TONIGHT...",
"Min temperature.....Around 60.", "Min temperature.....Around 60.",
"24 HR TREND......20 degrees warmer.", "24 hr trend......20 degrees warmer.",
"Max humidity........78 percent.", "Max humidity........78 percent.",
"24 HR TREND......18 percent wetter.", "24 hr trend......18 percent wetter.",
], ],
"createGrids": CreateGrids.Public_createGrids + CreateGrids.Fire_createGrids, "createGrids": CreateGrids.Public_createGrids + CreateGrids.Fire_createGrids,
"drtHour": 22, "drtHour": 22,
@ -411,14 +411,14 @@ scripts = [
"200 PM EST Fri Jan 1 2010", "200 PM EST Fri Jan 1 2010",
".REST OF TODAY...", ".REST OF TODAY...",
"Max temperature.....Around 70...except around 30 above timberline.", "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.", "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...", ".TONIGHT...",
"Min temperature.....Around 50...except around 20 above timberline.", "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.", "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": [ "createGrids": [
("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]), ("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]),
@ -449,9 +449,9 @@ scripts = [
"1000 PM EST Fri Jan 1 2010", "1000 PM EST Fri Jan 1 2010",
".REST OF TONIGHT...", ".REST OF TONIGHT...",
"Min temperature.....Around 50...except around 20 above timberline.", "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.", "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": [ "createGrids": [
("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]), ("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 30, ["AboveElev"]),

View file

@ -237,7 +237,7 @@ scripts = [
"Tabular State Forecast for Florida", "Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL", "National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010", "600 AM EST Fri Jan 1 2010",
"Rows include...", "ROWS INCLUDE...",
" Daily predominant daytime weather 6AM-6PM", " Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high", " Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
@ -246,7 +246,7 @@ scripts = [
" FCST FCST FCST FCST FCST FCST FCST", " FCST FCST FCST FCST FCST FCST FCST",
" Today Sat Sun Mon Tue Wed Thu", " Today Sat Sun Mon Tue Wed Thu",
" Jan 01 Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07", " Jan 01 Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07",
"...Region1...", "...REGION1...",
" City1", " City1",
" RNSNOW TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET", " RNSNOW TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET",
" /70 43/73 45/75 47/77 47/79 49/81 49/81", " /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", " BLZZRD RAIN FZDRZL SNOW WINDY DRZL WINDY",
" /80 47/81 48/82 50/85 50/86 51/60 53/80", " /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", " /50 40/60 70/60 90/100 80/50 80/60 30/90",
"...Region2...", "...REGION2...",
" City3", " City3",
" TSTRMS FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY", " TSTRMS FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY",
" /90 49/92 50/95 52/96 52/100 54/103 55/96", " /90 49/92 50/95 52/96 52/100 54/103 55/96",
@ -281,7 +281,7 @@ scripts = [
"Tabular State Forecast for Florida", "Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL", "National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010", "600 AM EST Fri Jan 1 2010",
"Rows include...", "ROWS INCLUDE...",
" Daily predominant daytime weather 6AM-6PM", " Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high", " Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
@ -290,7 +290,7 @@ scripts = [
" FCST FCST FCST FCST FCST FCST FCST", " FCST FCST FCST FCST FCST FCST FCST",
" Sat Sun Mon Tue Wed Thu Fri", " Sat Sun Mon Tue Wed Thu Fri",
" Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08", " Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08",
"...Region1...", "...REGION1...",
" City1", " City1",
" TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN", " TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN",
" 43/73 45/75 47/77 47/79 49/81 49/81 49/83", " 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", " RAIN FZDRZL SNOW WINDY DRZL WINDY TSTRMS",
" 47/81 48/82 50/85 50/86 51/60 53/80 50/85", " 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", " 40/60 70/60 90/100 80/50 80/60 30/90 00/60",
"...Region2...", "...REGION2...",
" City3", " City3",
" FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY FZDRZL", " FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY FZDRZL",
" 49/92 50/95 52/96 52/100 54/103 55/96 55/100", " 49/92 50/95 52/96 52/100 54/103 55/96 55/100",
@ -326,7 +326,7 @@ scripts = [
"Tabular State Forecast for Florida", "Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL", "National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010", "600 AM EST Fri Jan 1 2010",
"Rows include...", "ROWS INCLUDE...",
" Daily predominant daytime weather 6AM-6PM", " Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high", " Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
@ -335,7 +335,7 @@ scripts = [
" FCST FCST FCST FCST FCST FCST FCST", " FCST FCST FCST FCST FCST FCST FCST",
" Sat Sun Mon Tue Wed Thu Fri", " Sat Sun Mon Tue Wed Thu Fri",
" Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08", " Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08",
"...Region1...", "...REGION1...",
" City1", " City1",
" TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN", " TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN",
" 43/73 45/75 47/77 47/79 49/81 49/81 49/83", " 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", " RAIN FZDRZL SNOW FOGGY DRZL HAZE TSTRMS",
" 47/81 48/82 50/85 50/86 51/60 53/80 50/85", " 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", " 40/60 70/60 90/100 80/50 80/60 30/90 00/60",
"...Region2...", "...REGION2...",
" City3", " City3",
" FZRAIN SNOSHWR BLGSNO RAIN DUST SMOKE FZDRZL", " FZRAIN SNOSHWR BLGSNO RAIN DUST SMOKE FZDRZL",
" 49/92 50/95 52/96 52/100 54/103 55/96 55/100", " 49/92 50/95 52/96 52/100 54/103 55/96 55/100",
@ -380,7 +380,7 @@ scripts = [
"Tabular State Forecast for Florida", "Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL", "National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010", "600 AM EST Fri Jan 1 2010",
"Rows include...", "ROWS INCLUDE...",
" Daily predominant daytime weather 6AM-6PM", " Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high", " Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM", " Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
@ -389,7 +389,7 @@ scripts = [
" FCST FCST FCST FCST FCST FCST FCST", " FCST FCST FCST FCST FCST FCST FCST",
" Sat Sun Mon Tue Wed Thu Fri", " Sat Sun Mon Tue Wed Thu Fri",
" Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08", " Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08",
"...Region1...", "...REGION1...",
" City1", " City1",
" CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY", " CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY",
" 43/73 45/75 47/77 47/79 49/81 49/81 49/83", " 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", " CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY",
" 47/81 48/82 50/85 50/86 51/60 53/80 50/85", " 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", " 40/60 70/60 90/100 80/50 80/60 30/90 00/60",
"...Region2...", "...REGION2...",
" City3", " City3",
" CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY", " CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY",
" 49/92 50/95 52/96 52/100 54/103 55/96 55/100", " 49/92 50/95 52/96 52/100 54/103 55/96 55/100",

View file

@ -252,18 +252,18 @@ scripts = [
".SATURDAY...", ".SATURDAY...",
"Strong winds.", "Strong winds.",
"Mostly clear.", "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.", "Highs in the upper 70s.","West winds 45 to 55 mph.",
".SUNDAY...","Strong winds.","Mostly cloudy."," Widespread light freezing rain.", ".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.", "Highs in the upper 70s.","South winds 55 to 60 mph.",
".MONDAY...","Strong winds.","Mostly cloudy.","Widespread very light sleet.", ".MONDAY...","Strong winds.","Mostly cloudy.","Widespread very light sleet.",
"Areas of blowing snow.","Patchy fog.","Lows in the mid 60s.","Highs around 80.", "Areas of blowing snow.","Patchy fog.","Lows in the mid 60s.","Highs around 80.",
"Southwest winds around 65 mph.", "Southwest winds around 65 mph.",
"Tide Information...", "TIDE INFORMATION...",
"At Venice Inlet...", "AT VENICE INLET...",
"High tide at 2:34 AM", "High tide at 2:34 AM",
"Low tide at 10:18 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.", "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.", "Waterspout threat...Very slight chance of waterspouts.",
".OUTLOOK...", ".OUTLOOK...",
"Tide Information...", "TIDE INFORMATION...",
"At Cedar Key...", "AT CEDAR KEY...",
"High tide 3.1 feet at 4:27 AM", "High tide 3.1 feet at 4:27 AM",
"Low tide 0.0 feet at 11:15 AM", "Low tide 0.0 feet at 11:15 AM",
"High tide 3.0 feet at 5:42 PM", "High tide 3.0 feet at 5:42 PM",
"Low tide 0.9 feet at 11: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", "High tide 1.6 feet at 2:34 AM",
"Low tide -0.1 feet at 10:18 AM", "Low tide -0.1 feet at 10:18 AM",

View file

@ -281,6 +281,7 @@ scripts = [
"name": "GHG_Complex1_6", "name": "GHG_Complex1_6",
"productType": "Hazard_WSW_Local", "productType": "Hazard_WSW_Local",
"deleteGrids": [], "deleteGrids": [],
"decodeVTEC": 0,
"checkStrings": [ "checkStrings": [
"WWUS42 KTBW 010000", "WWUS42 KTBW 010000",
"WSWTBW", "WSWTBW",

View file

@ -116,6 +116,8 @@ import com.vividsolutions.jts.geom.Envelope;
* Nov 18, 2015 5129 dgilling Use new IFPClient for get/save/delete * Nov 18, 2015 5129 dgilling Use new IFPClient for get/save/delete
* of reference data. * of reference data.
* Dec 14, 2015 4816 dgilling Support refactored PythonJobCoordinator API. * Dec 14, 2015 4816 dgilling Support refactored PythonJobCoordinator API.
* Jun 30, 2016 #5723 dgilling Move safety check from saveRefSet to
* IFPClient.saveReferenceData.
* *
* </pre> * </pre>
* *
@ -835,13 +837,6 @@ public class ReferenceSetManager implements IReferenceSetManager,
"SaveRefSet id=" + orefData.getId()); "SaveRefSet id=" + orefData.getId());
ReferenceData refData = new ReferenceData(orefData); ReferenceData refData = new ReferenceData(orefData);
if (!refData.isQuery()) {
refData.getPolygons(CoordinateType.LATLON);
} else {
refData.setPolygons(null, CoordinateType.LATLON);
}
ServerResponse<?> sr = dataManager.getClient().saveReferenceData( ServerResponse<?> sr = dataManager.getClient().saveReferenceData(
Arrays.asList(refData)); Arrays.asList(refData));
if (!sr.isOkay()) { if (!sr.isOkay()) {

View file

@ -86,10 +86,10 @@ public class ProcedureUtil {
req.setPreview(pi); req.setPreview(pi);
req.setRefSet(pi.getEditAction().getRefSet()); req.setRefSet(pi.getEditAction().getRefSet());
req.setTimeRange(pi.getEditAction().getTimeRange()); req.setTimeRange(pi.getEditAction().getTimeRange());
req.setVarDict(varDict);
final int[] returnCode = new int[1]; final int[] returnCode = new int[1];
if (varDict != null) { if (varDict != null && (!varDict.isEmpty())) {
req.setVarDict(varDict);
returnCode[0] = IDialogConstants.OK_ID; returnCode[0] = IDialogConstants.OK_ID;
} else { } else {
VizApp.runSync(new Runnable() { VizApp.runSync(new Runnable() {
@ -97,7 +97,7 @@ public class ProcedureUtil {
public void run() { public void run() {
List<FieldDefinition> varList = dm.getProcedureInterface() List<FieldDefinition> varList = dm.getProcedureInterface()
.getVarDictWidgets(procName); .getVarDictWidgets(procName);
if ((varList != null) && (varList.size() > 0)) { if ((varList != null) && (!varList.isEmpty())) {
/* /*
* The SelectionDlg changes based on the procedure. * The SelectionDlg changes based on the procedure.
* Since it is non-modal several dialogs may be * Since it is non-modal several dialogs may be

View file

@ -42,8 +42,6 @@ import jep.JepException;
import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException; 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.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.IPathManager;
import com.raytheon.uf.common.localization.LocalizationContext; import com.raytheon.uf.common.localization.LocalizationContext;
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel; 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.SaveableOutputStream;
import com.raytheon.uf.common.localization.exception.LocalizationException; import com.raytheon.uf.common.localization.exception.LocalizationException;
import com.raytheon.uf.common.python.PyUtil; 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.python.PythonScript;
import com.raytheon.uf.common.serialization.SerializationException; import com.raytheon.uf.common.serialization.SerializationException;
import com.raytheon.uf.common.serialization.SingleTypeJAXBManager; import com.raytheon.uf.common.serialization.SingleTypeJAXBManager;
@ -70,23 +67,31 @@ import com.raytheon.viz.gfe.textformatter.CombinationsFileUtil.ComboData.Entry;
* *
* <pre> * <pre>
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description *
* ------------ ---------- ----------- -------------------------- * Date Ticket# Engineer Description
* Jul 25, 2008 mnash Initial creation * ------------- -------- --------- --------------------------------------------
* Aug 07, 2013 1561 njensen Use pm.listFiles() instead of pm.listStaticFiles() * Jul 25, 2008 mnash Initial creation
* Sep 05, 2013 #2329 randerso Moved genereateAutoCombinationsFile here * Aug 07, 2013 1561 njensen Use pm.listFiles() instead of
* Cleaned up error handling * pm.listStaticFiles()
* Sep 30, 2013 2361 njensen Use JAXBManager for XML * Sep 05, 2013 2329 randerso Moved genereateAutoCombinationsFile here
* Feb 05, 2014 #2591 randerso Forced retrieval of combinations file * Cleaned up error handling
* Implemented retry on error * Sep 30, 2013 2361 njensen Use JAXBManager for XML
* Aug 27, 2014 #3561 randerso Yet another attempt to fix combinations file updating * Feb 05, 2014 2591 randerso Forced retrieval of combinations file
* Sep 08, 2014 #3592 randerso Changed to use only list site level files as all * Implemented retry on error
* combo files are saved to the site level * Aug 27, 2014 3561 randerso Yet another attempt to fix combinations file
* Oct 07, 2015 #4695 dgilling Code cleanup to remove compile warnings. * updating
* Nov 12, 2015 4834 njensen Changed LocalizationOpFailedException to LocalizationException * Sep 08, 2014 3592 randerso Changed to use only list site level files as
* Nov 18, 2015 #5129 dgilling Support new IFPClient. * all combo files are saved to the site level
* Feb 05, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * Oct 07, 2015 4695 dgilling Code cleanup to remove compile warnings.
* Apr 25, 2016 #5605 randerso Switched back to writing combinations file using Localization * 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
* *
* </pre> * </pre>
* *
@ -244,15 +249,6 @@ public class CombinationsFileUtil {
File pyFile = null; File pyFile = null;
if (lf != null) { if (lf != null) {
try { 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 // retrieve the .py file
pyFile = lf.getFile(true); pyFile = lf.getFile(true);
} catch (LocalizationException e) { } catch (LocalizationException e) {
@ -276,8 +272,7 @@ public class CombinationsFileUtil {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("comboName", comboName); map.put("comboName", comboName);
for (int retryCount = 0; retryCount < MAX_TRIES; retryCount++) { for (int retryCount = 0; retryCount < MAX_TRIES; retryCount++) {
try (PythonScript python = new PythonScript( try (PythonScript python = new PythonScript(scriptPath,
scriptPath,
PyUtil.buildJepIncludePath( PyUtil.buildJepIncludePath(
GfePyIncludeUtil.getCombinationsIncludePath(), GfePyIncludeUtil.getCombinationsIncludePath(),
GfePyIncludeUtil.getCommonPythonIncludePath()), GfePyIncludeUtil.getCommonPythonIncludePath()),
@ -328,6 +323,10 @@ public class CombinationsFileUtil {
+ ".py"; + ".py";
LocalizationFile lf = pm.getLocalizationFile(localization, fileName); 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(); try (SaveableOutputStream stream = lf.openOutputStream();
Writer outWriter = new OutputStreamWriter(stream)) { Writer outWriter = new OutputStreamWriter(stream)) {

View file

@ -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 * 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 * Nov 05, 2015 5070 randerso Adjust font sizes for dpi scaling
* Dec 05, 2015 18357 xwei Fixed error in opening Timeseries for Timesteps * 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.
* *
* </pre> * </pre>
* *
@ -332,7 +333,7 @@ public class MultiPointResource extends
container.registerMouseHandler(inputManager); container.registerMouseHandler(inputManager);
} }
fontSize = 8; fontSize = 9;
font = target.initializeFont("Dialog", fontSize, null); font = target.initializeFont("Dialog", fontSize, null);
font.setSmoothing(false); font.setSmoothing(false);

View file

@ -40,6 +40,7 @@ import com.raytheon.uf.viz.core.RGBColors;
* I ran across a group config file using a color not in * I ran across a group config file using a color not in
* the list which caused errors. * the list which caused errors.
* May 08, 2012 14958 wkwock prevent go over the list in getGroupModeColor * 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
* *
* </pre> * </pre>
* *
@ -61,7 +62,8 @@ public class HydroUtils {
initializeColorList(); 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) { public static RGB getGroupModeColor(int index) {
if (TS_GROUP_COLOR_LIST == null) { if (TS_GROUP_COLOR_LIST == null) {

View file

@ -88,6 +88,8 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Oct 23, 2008 1644 mpduff Initial creation * 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
* </pre> * </pre>
* *
* @author mpduff * @author mpduff
@ -111,7 +113,7 @@ public class HydroDisplayManager {
private boolean drawStation = false; private boolean drawStation = false;
/** Font size */ /** Font size */
private int fontSize = 10; private int fontSize = 9;
/** List of dam data */ /** List of dam data */
private List<DamMaster> damList = null; private List<DamMaster> damList = null;

View file

@ -33,6 +33,7 @@ import com.raytheon.viz.hydrocommon.HydroConstants;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Dec 12, 2008 1787 askripsky Initial creation * Dec 12, 2008 1787 askripsky Initial creation
* Aug 07, 2015 4500 rjpeter Fix type case. * Aug 07, 2015 4500 rjpeter Fix type case.
* JUN 29, 2016 19149 amoore Fix PK statement based on table joining.
* </pre> * </pre>
* *
* @author askripsky * @author askripsky
@ -241,9 +242,9 @@ public class DataIngestFilterData extends HydroDBData implements IHydroDBData {
@Override @Override
public String getPKStatement() { public String getPKStatement() {
return "lid='" + getLid() + "' AND pe='" + getPe() + "' AND dur=" return "ingestfilter.lid='" + getLid() + "' AND pe='" + getPe()
+ getDBString(getDuration()) + " AND ts='" + getTypeSource() + "' AND dur=" + getDBString(getDuration()) + " AND ts='"
+ "' AND extremum='" + getExtremum() + "'"; + getTypeSource() + "' AND extremum='" + getExtremum() + "'";
} }
@Override @Override

View file

@ -50,6 +50,7 @@ import com.raytheon.viz.hydrocommon.util.DbUtils;
* Jan 15, 2016 DCS18180 JingtaoD code improvement based on code review for DR17935 * 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 * May 27, 2016 19012 lbousaidi remove the check for apostrophe when there is a call to
* ColorDataValue table class * ColorDataValue table class
* Jul 07, 2016 19155 lbousaidi Don't check for special Character for ColorMager for MPE and Hydro
* </pre> * </pre>
* *
* @author askripsky * @author askripsky
@ -106,13 +107,21 @@ public class HydroDBDataManager extends HydroDataManager {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
T recordToDeleteForQuery = (T) recordToDelete.getClass() T recordToDeleteForQuery = (T) recordToDelete.getClass()
.newInstance(); .newInstance();
DbUtils.escapeSpecialCharforData(recordToDelete, String deleteQuery="";
recordToDeleteForQuery);
if (!recordToDelete.getClass().getName().contains(ColorValueData.class.getName())){
String deleteQuery = (String) recordToDelete.getClass() DbUtils.escapeSpecialCharforData(recordToDelete,
.getMethod("getDeleteStatement") recordToDeleteForQuery);
.invoke(recordToDeleteForQuery); deleteQuery = (String) recordToDelete.getClass()
.getMethod("getDeleteStatement")
.invoke(recordToDeleteForQuery);
} else {
deleteQuery = (String) recordToDelete.getClass()
.getMethod("getDeleteStatement")
.invoke(recordToDelete);
}
runStatement(deleteQuery); runStatement(deleteQuery);
} catch (Exception e) { } catch (Exception e) {

View file

@ -78,6 +78,7 @@ import com.raytheon.viz.ui.dialogs.CaveJFACEDialog;
* 07/15/2013 2088 rferrel Make dialog non-blocking * 07/15/2013 2088 rferrel Make dialog non-blocking
* 04/22/2016 5483 dgilling Correct fixed pixel layouts, refactor * 04/22/2016 5483 dgilling Correct fixed pixel layouts, refactor
* based on CaveJFACEDialog. * based on CaveJFACEDialog.
* 07/12/2016 19182 xwei Fixed issue with opening Data Sources in hydro database manager
* *
* </pre> * </pre>
* *
@ -1566,7 +1567,10 @@ public class DataSourcesDlg extends CaveJFACEDialog {
*/ */
private void updateDialogState(boolean isDataAvailable) { private void updateDialogState(boolean isDataAvailable) {
if (fullControls) { if (fullControls) {
getButton(DELETE_ID).setEnabled(isDataAvailable); Button aButton = getButton(DELETE_ID);
if (aButton != null){
aButton.setEnabled(isDataAvailable);
}
} }
} }

View file

@ -47,6 +47,7 @@ import com.raytheon.viz.radar.rsc.image.RadarSRMResource.SRMSource;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 13, 2015 4461 bsteffen Add option for sails. * May 13, 2015 4461 bsteffen Add option for sails.
* Jul 13, 2016 ASM #18863 D. Friedman Synchronize getInstance.
* *
* </pre> * </pre>
* *
@ -120,7 +121,7 @@ public class RadarDisplayManager {
private RadarDisplayControls currentValues; private RadarDisplayControls currentValues;
private static RadarDisplayManager manager = null; private static volatile RadarDisplayManager manager = null;
private RadarDisplayManager() { private RadarDisplayManager() {
configListeners = new ArrayList<IRadarConfigListener>(); configListeners = new ArrayList<IRadarConfigListener>();
@ -142,11 +143,17 @@ public class RadarDisplayManager {
* @return * @return
*/ */
public static RadarDisplayManager getInstance() { public static RadarDisplayManager getInstance() {
if (manager == null) { RadarDisplayManager result = manager;
manager = new RadarDisplayManager(); if (result == null) {
manager.retrieveDefaultSettings(); synchronized (RadarDisplayManager.class) {
result = manager;
if (result == null) {
result = manager = new RadarDisplayManager();
result.retrieveDefaultSettings();
}
}
} }
return manager; return result;
} }
/** /**

View file

@ -16,7 +16,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Alaska National"/> <substitute key="sector" value="Alaska National"/>
<substitute key="entity" value="GOES-15(P)" /> <substitute key="entity" value="GOES-15(P)" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Alaska National Visible" id="visible"> menuText="Alaska National Visible" id="visible">
@ -46,7 +46,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Alaska Regional"/> <substitute key="sector" value="Alaska Regional"/>
<substitute key="entity" value="GOES-15(P)" /> <substitute key="entity" value="GOES-15(P)" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Alaska Regional Visible" id="visible"> menuText="Alaska Regional Visible" id="visible">
@ -69,7 +69,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Hawaii National"/> <substitute key="sector" value="Hawaii National"/>
<substitute key="entity" value="GOES-15(P)" /> <substitute key="entity" value="GOES-15(P)" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Hawaii National Visible" id="visible"> menuText="Hawaii National Visible" id="visible">
@ -99,7 +99,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Hawaii Regional"/> <substitute key="sector" value="Hawaii Regional"/>
<substitute key="entity" value="GOES-15(P)" /> <substitute key="entity" value="GOES-15(P)" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Hawaii Regional Visible" id="visible"> menuText="Hawaii Regional Visible" id="visible">
@ -122,7 +122,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Puerto Rico National"/> <substitute key="sector" value="Puerto Rico National"/>
<substitute key="entity" value="GOES-13(N)" /> <substitute key="entity" value="GOES-13(N)" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Puerto Rico National Visible" id="visible"> menuText="Puerto Rico National Visible" id="visible">
@ -155,11 +155,11 @@
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Puerto Rico Regional 6.7-6.5 micron WV" id="irWindow"> menuText="Puerto Rico Regional 6.7-6.5 micron IR (WV)" id="irWindow">
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Puerto Rico Regional"/> <substitute key="sector" value="Puerto Rico Regional"/>
<substitute key="entity" value="GOES-13(N)" /> <substitute key="entity" value="GOES-13(N)" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Puerto Rico Regional Visible" id="visible"> menuText="Puerto Rico Regional Visible" id="visible">
@ -196,7 +196,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Arctic"/> <substitute key="sector" value="Arctic"/>
<substitute key="entity" value="COMP" /> <substitute key="entity" value="COMP" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml" <contribute xsi:type="bundleItem" file="bundles/DefaultSatellite.xml"
menuText="Arctic Visible" id="visible"> menuText="Arctic Visible" id="visible">
@ -226,7 +226,7 @@
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/> <substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="sector" value="Antarctica" /> <substitute key="sector" value="Antarctica" />
<substitute key="entity" value="COMP" /> <substitute key="entity" value="COMP" />
<substitute key="colormap" value="Sat/WV/GEMPAK WV"/> <substitute key="colormap" value="Sat/WV/RAMSDIS WV"/>
</contribute> </contribute>
</contribute> </contribute>
</menuTemplate> </menuTemplate>

View file

@ -3,16 +3,18 @@
# multi-column unique constraint # multi-column unique constraint
PSQL="/awips2/psql/bin/psql" PSQL="/awips2/psql/bin/psql"
DBUSER=awips
echo "INFO: Altering table cwa" echo "INFO: Altering table cwa"
${PSQL} -U awips -d metadata << EOF ${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction; begin transaction;
delete from cwa where eventid is null; delete from cwa where eventid is null;
alter table cwa alter table cwa
drop constraint if exists uk_cwa_datauri_fields, drop constraint if exists uk_cwa_datauri_fields,
drop column if exists datauri, drop column if exists datauri,
alter eventid set not null, 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; commit transaction;
EOF EOF

View file

@ -3,15 +3,17 @@
# multi-column unique constraint # multi-column unique constraint
PSQL="/awips2/psql/bin/psql" PSQL="/awips2/psql/bin/psql"
DBUSER=awips
echo "INFO: Altering table tcs" echo "INFO: Altering table tcs"
${PSQL} -U awips -d metadata << EOF ${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction; begin transaction;
alter table tcs alter table tcs
drop constraint if exists uk_tcs_datauri_fields, drop constraint if exists uk_tcs_datauri_fields,
drop column if exists datauri, drop column if exists datauri,
add constraint uk_tcs_datauri_fields unique 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; commit transaction;
EOF EOF

View file

@ -3,17 +3,19 @@
# multi-column unique constraint # multi-column unique constraint
TABLE=tcg TABLE=tcg
DBUSER=awips
PSQL="/awips2/psql/bin/psql" PSQL="/awips2/psql/bin/psql"
echo "INFO: Altering table ${TABLE}" echo "INFO: Altering table ${TABLE}"
${PSQL} -U awips -d metadata << EOF ${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction; begin transaction;
alter table ${TABLE} alter table ${TABLE}
drop constraint if exists uk_${TABLE}_datauri_fields, drop constraint if exists uk_${TABLE}_datauri_fields,
drop column if exists datauri, drop column if exists datauri,
add constraint uk_${TABLE}_datauri_fields unique 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; commit transaction;
EOF EOF

View file

@ -3,12 +3,13 @@
# new multi-column unique constraint # new multi-column unique constraint
TABLE=bufrsigwx TABLE=bufrsigwx
DBUSER=awips
PSQL="/awips2/psql/bin/psql" PSQL="/awips2/psql/bin/psql"
echo "INFO: Altering table ${TABLE}" echo "INFO: Altering table ${TABLE}"
${PSQL} -U awips -d metadata << EOF ${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction; begin transaction;
delete from ${TABLE} delete from ${TABLE}
where wxLayer is null where wxLayer is null
@ -21,6 +22,8 @@ alter table ${TABLE}
alter wxType set not null, alter wxType set not null,
alter key set not null, alter key set not null,
add constraint uk_${TABLE}_datauri_fields unique add constraint uk_${TABLE}_datauri_fields unique
(reftime, wxLayer, wxType, key); (reftime, forecasttime, wxLayer, wxType, key);
-- "bufrswigwx" not a typo. name was misspelled when the index was created.
drop index if exists bufrswigwx_refTimeIndex;
commit transaction; commit transaction;
EOF EOF

View file

@ -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()

View file

@ -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

View file

@ -95,26 +95,26 @@
<param name="feature" <param name="feature"
value="com.raytheon.uf.edex.ost.feature" /> value="com.raytheon.uf.edex.ost.feature" />
</antcall> </antcall>
<antcall target="build"> <antcall target="build">
<param name="feature" <param name="feature"
value="com.raytheon.uf.edex.npp.feature" /> value="com.raytheon.uf.edex.npp.feature" />
</antcall> </antcall>
<antcall target="build"> <antcall target="build">
<param name="feature" <param name="feature"
value="com.raytheon.uf.edex.registry.request.feature" /> value="com.raytheon.uf.edex.registry.request.feature" />
</antcall> </antcall>
<antcall target="build"> <antcall target="build">
<param name="feature" <param name="feature"
value="com.raytheon.uf.edex.registry.client.feature" /> value="com.raytheon.uf.edex.registry.client.feature" />
</antcall> </antcall>
<antcall target="build"> <antcall target="build">
<param name="feature" <param name="feature"
value="com.raytheon.uf.edex.registry.feature" /> value="com.raytheon.uf.edex.registry.feature" />
</antcall> </antcall>
<antcall target="build"> <antcall target="build">
<param name="feature" <param name="feature"
value="com.raytheon.uf.edex.remote.script.feature" /> value="com.raytheon.uf.edex.remote.script.feature" />
</antcall> </antcall>
<antcall target="build"> <antcall target="build">
<param name="feature" <param name="feature"
value="edu.wisc.ssec.cimss.edex.convectprob.feature" /> value="edu.wisc.ssec.cimss.edex.convectprob.feature" />
@ -127,6 +127,14 @@
<param name="feature" <param name="feature"
value="gov.nasa.msfc.sport.edex.sportlma.feature" /> value="gov.nasa.msfc.sport.edex.sportlma.feature" />
</antcall> </antcall>
<antcall target="build">
<param name="feature"
value="gov.nasa.msfc.sport.edex.glmdecoder.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.goesr.feature" />
</antcall>
</target> </target>
<!-- <!--

View file

@ -33,6 +33,7 @@
# Date Ticket# Engineer Description # Date Ticket# Engineer Description
# ------------ ---------- ----------- -------------------------- # ------------ ---------- ----------- --------------------------
# Oct 20, 2014 #3685 randerso Changed to support mixed case # 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 # First, generate WMO lines
# #
s = self._wmoID + " " + self._fullStationID + " " + \
fcst = self._wmoID + " " + self._fullStationID + " " + \ self._ddhhmmTime + "\n" + self._pil + "\n"
self._ddhhmmTime + "\n" + self._pil + "\n" fcst = s.upper()
# #
# Next, add the non-segmented UGC data # Next, add the non-segmented UGC data
@ -131,7 +132,7 @@ class TextProduct(GenericReport.TextProduct):
s = productName + "\n" + \ s = productName + "\n" + \
"National Weather Service " + self._wfoCityState + \ "National Weather Service " + self._wfoCityState + \
"\n" + issuedByString + self._timeLabel + "\n\n" "\n" + issuedByString + self._timeLabel + "\n\n"
fcst = fcst + s.upper() fcst = fcst + s
return fcst return fcst
def _makeProduct(self, fcst, editArea, areaLabel, argDict): def _makeProduct(self, fcst, editArea, areaLabel, argDict):

View file

@ -33,6 +33,7 @@
# Date Ticket# Engineer Description # Date Ticket# Engineer Description
# ------------ ---------- ----------- -------------------------- # ------------ ---------- ----------- --------------------------
# Oct 20, 2014 #3685 randerso Changed to support mixed case # 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 return fcst
def _makeProduct(self, fcst, editArea, areaLabel, argDict): 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" fcst = fcst + "|* Information goes here *|\n\n"
return fcst return fcst

View file

@ -33,6 +33,7 @@
# Date Ticket# Engineer Description # Date Ticket# Engineer Description
# ------------ ---------- ----------- -------------------------- # ------------ ---------- ----------- --------------------------
# Oct 20, 2014 #3685 randerso Changed to support mixed case # 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 # First, generate WMO lines
# #
s = self._wmoID + " " + self._fullStationID + " " + \
fcst = self._wmoID + " " + self._fullStationID + " " + \ self._ddhhmmTime + "\n" + self._pil + "\n"
self._ddhhmmTime + "\n" + self._pil + "\n" fcst = s.upper()
# #
# Next, add the non-segmented UGC data # Next, add the non-segmented UGC data
@ -123,7 +124,7 @@ class TextProduct(GenericReport.TextProduct):
s = productName + "\n" + \ s = productName + "\n" + \
"National Weather Service " + self._wfoCityState + \ "National Weather Service " + self._wfoCityState + \
"\n" + issuedByString + self._timeLabel + "\n\n" "\n" + issuedByString + self._timeLabel + "\n\n"
fcst = fcst + s.upper() fcst = fcst + s
return fcst return fcst
def _makeProduct(self, fcst, editArea, areaLabel, argDict): def _makeProduct(self, fcst, editArea, areaLabel, argDict):

View file

@ -379,7 +379,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis):
# region has changed, need to output it # region has changed, need to output it
if self._lastRegion is None or region != self._lastRegion: 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 self._lastRegion = region
return fcst return fcst
else: else:
@ -600,7 +600,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis):
ident = " " ident = " "
# s is the built-up string containing the description # s is the built-up string containing the description
s = "Rows include...\n" s = "ROWS INCLUDE...\n"
# Weather # Weather

View file

@ -1589,7 +1589,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis):
if labels == []: if labels == []:
return fcst return fcst
fcst = fcst + "\nTide Information...\n" fcst = fcst + "\nTIDE INFORMATION...\n"
# Get day/month/year # Get day/month/year
creationTime = time.localtime(argDict["creationTime"]) creationTime = time.localtime(argDict["creationTime"])
currentDate = time.strftime("%m/%d/%Y", creationTime) currentDate = time.strftime("%m/%d/%Y", creationTime)
@ -1600,7 +1600,7 @@ class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis):
# Add error message to fcst # Add error message to fcst
fcst = fcst + tideTable fcst = fcst + tideTable
continue continue
fcst = fcst + "\nAt " + label + "...\n\n" fcst = fcst + "\nAT " + label.upper() + "...\n\n"
for line in tideTable: for line in tideTable:
if line.find(currentDate) == 0: if line.find(currentDate) == 0:
# Get the tide info # Get the tide info

View file

@ -23,6 +23,7 @@ import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; 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. * Oct 15, 2013 2473 bsteffen Remove deprecated ISerializableObject.
* Dec 16, 2015 5182 tjensen Added fileName and support for meta * Dec 16, 2015 5182 tjensen Added fileName and support for meta
* characters in the model name. * characters in the model name.
* Jul 08, 2016 5748 bsteffen Fix COVERAGE names when name is not in DB.
* *
* </pre> * </pre>
* *
@ -209,11 +211,13 @@ public class GridModel {
*/ */
Matcher covMatch = covRegex.matcher(retval); Matcher covMatch = covRegex.matcher(retval);
if (covMatch.find()) { if (covMatch.find()) {
if (GribSpatialCache.getInstance().getGribCoverageNames(gc).size() != 1) { Set<String> names = GribSpatialCache.getInstance()
.getGribCoverageNames(gc);
if (names.size() != 1) {
throw new GridCoverageException( throw new GridCoverageException(
"Unable to determine model name for spatial coverage"); "Unable to determine model name for spatial coverage");
} }
retval = covMatch.replaceAll(gc.getName()); retval = covMatch.replaceAll(names.iterator().next());
} }
/* /*

View file

@ -2,8 +2,8 @@
<latLonGridCoverage> <latLonGridCoverage>
<name>10000</name> <name>10000</name>
<description>CONUS domain for MRMS 1km products</description> <description>CONUS domain for MRMS 1km products</description>
<la1>55</la1> <la1>54.995</la1>
<lo1>230</lo1> <lo1>230.005</lo1>
<firstGridPointCorner>UpperLeft</firstGridPointCorner> <firstGridPointCorner>UpperLeft</firstGridPointCorner>
<nx>7000</nx> <nx>7000</nx>
<ny>3500</ny> <ny>3500</ny>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<polarStereoGridCoverage>
<name>250157</name>
<description>QPF Grid for MSR (North Central RFC Chanhassen, Minnesota)</description>
<la1>37.889</la1>
<lo1>-105.492</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>450</nx>
<ny>350</ny>
<dx>4.7625</dx>
<dy>4.7625</dy>
<spacingUnit>km</spacingUnit>
<minorAxis>6371229.0</minorAxis>
<majorAxis>6371229.0</majorAxis>
<lov>-105.0</lov>
<lad>60</lad>
</polarStereoGridCoverage>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>250160</name> <name>250160</name>
<description>QPF Grid for TIR (Ohio Basin RFC Wilmington, Ohio)</description> <description>QPF Grid for TIR (Ohio Basin RFC Wilmington, Ohio)</description>
<la1>36.203</la1> <la1>36.188</la1>
<lo1>-91.320</lo1> <lo1>-91.348</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>250</nx> <nx>250</nx>
<ny>260</ny> <ny>260</ny>

View file

@ -21,7 +21,7 @@
<lambertConformalGridCoverage> <lambertConformalGridCoverage>
<name>374</name> <name>374</name>
<description>Grid used for TPCSurge data</description> <description>Grid used for TPCSurge data</description>
<la1>20.20</la1> <la1>20.192</la1>
<lo1>-121.554</lo1> <lo1>-121.554</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>8577</nx> <nx>8577</nx>

View file

@ -21,7 +21,7 @@
<mercatorGridCoverage> <mercatorGridCoverage>
<name>321225001</name> <name>321225001</name>
<description>Extratropical Storm and Tide Operation Forecast System (Hawaii)</description> <description>Extratropical Storm and Tide Operation Forecast System (Hawaii)</description>
<la1>18.067</la1> <la1>18.073</la1>
<lo1>-161.525</lo1> <lo1>-161.525</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>321</nx> <nx>321</nx>
@ -32,6 +32,6 @@
<minorAxis>6371229.0</minorAxis> <minorAxis>6371229.0</minorAxis>
<majorAxis>6371229.0</majorAxis> <majorAxis>6371229.0</majorAxis>
<latin>20.0</latin> <latin>20.0</latin>
<la2>23.082</la2> <la2>23.078</la2>
<lo2>-153.969</lo2> <lo2>-153.869</lo2>
</mercatorGridCoverage> </mercatorGridCoverage>

View file

@ -26,8 +26,8 @@
<firstGridPointCorner>UpperLeft</firstGridPointCorner> <firstGridPointCorner>UpperLeft</firstGridPointCorner>
<nx>137</nx> <nx>137</nx>
<ny>102</ny> <ny>102</ny>
<dx>0.50367647058823528</dx> <dx>0.5</dx>
<dy>0.50495049504950495</dy> <dy>0.5</dy>
<spacingUnit>degree</spacingUnit> <spacingUnit>degree</spacingUnit>
<la2>-0.25</la2> <la2>-0.25</la2>
<lo2>340.25</lo2> <lo2>340.25</lo2>

View file

@ -21,8 +21,8 @@
<mercatorGridCoverage> <mercatorGridCoverage>
<name>196</name> <name>196</name>
<description>Grid over - Hawaii (Mercator)</description> <description>Grid over - Hawaii (Mercator)</description>
<la1>18.067</la1> <la1>18.073</la1>
<lo1>-161.525001</lo1> <lo1>-161.525</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>321</nx> <nx>321</nx>
<ny>225</ny> <ny>225</ny>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<lambertConformalGridCoverage>
<name>197-RTMA</name>
<description> Grid over the contiguous United States - 16X Resolution (5 km) for RTMA</description>
<la1>20.192</la1>
<lo1>-121.554</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1073</nx>
<ny>689</ny>
<dx>5.079</dx>
<dy>5.079</dy>
<spacingUnit>km</spacingUnit>
<minorAxis>6371229.0</minorAxis>
<majorAxis>6371229.0</majorAxis>
<lov>-95.0</lov>
<latin1>25.0</latin1>
<latin2>25.0</latin2>
</lambertConformalGridCoverage>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240161</name> <name>240161</name>
<description>HRAP Grid for ALR (Southeast RFC Peachtree, Georgia)</description> <description>HRAP Grid for ALR (Southeast RFC Peachtree, Georgia)</description>
<la1>27.045</la1> <la1>27.033</la1>
<lo1>-91.395</lo1> <lo1>-91.417</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>335</nx> <nx>335</nx>
<ny>412</ny> <ny>412</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240162</name> <name>240162</name>
<description>HRAP Grid for WFR (West Gulf RFC Fort Worth, Texas)</description> <description>HRAP Grid for WFR (West Gulf RFC Fort Worth, Texas)</description>
<la1>24.869</la1> <la1>24.852</la1>
<lo1>-108.973</lo1> <lo1>-108.990</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>425</nx> <nx>425</nx>
<ny>390</ny> <ny>390</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240156</name> <name>240156</name>
<description>HRAP Grid for KRF (Missouri Basin RFC Pleasant Hill, Missouri)</description> <description>HRAP Grid for KRF (Missouri Basin RFC Pleasant Hill, Missouri)</description>
<la1>37.296</la1> <la1>37.274</la1>
<lo1>-112.690</lo1> <lo1>-112.710</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>485</nx> <nx>485</nx>
<ny>325</ny> <ny>325</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240157</name> <name>240157</name>
<description>HRAP Grid for MSR (North Central RFC Chanhassen, Minnesota)</description> <description>HRAP Grid for MSR (North Central RFC Chanhassen, Minnesota)</description>
<la1>37.889</la1> <la1>37.870</la1>
<lo1>-105.492</lo1> <lo1>-105.515</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>450</nx> <nx>450</nx>
<ny>350</ny> <ny>350</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240154</name> <name>240154</name>
<description>HRAP Grid for ORN (Lower Mississippi RFC Slidel, Louisiana)</description> <description>HRAP Grid for ORN (Lower Mississippi RFC Slidel, Louisiana)</description>
<la1>28.701</la1> <la1>28.686</la1>
<lo1>-98.770</lo1> <lo1>-98.791</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>419</nx> <nx>419</nx>
<ny>419</ny> <ny>419</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240159</name> <name>240159</name>
<description>HRAP Grid for PTR (Northwest RFC Portland, Oregon)</description> <description>HRAP Grid for PTR (Northwest RFC Portland, Oregon)</description>
<la1>38.00</la1> <la1>37.952</la1>
<lo1>-124.179</lo1> <lo1>-124.207</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>400</nx> <nx>400</nx>
<ny>378</ny> <ny>378</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240155</name> <name>240155</name>
<description>HRAP Grid for RHA (Middle Atlantic RFC State College, PA)</description> <description>HRAP Grid for RHA (Middle Atlantic RFC State College, PA)</description>
<la1>38.035</la1> <la1>38.025</la1>
<lo1>-83.315</lo1> <lo1>-83.347</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>200</nx> <nx>200</nx>
<ny>200</ny> <ny>200</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240153</name> <name>240153</name>
<description>HRAP Grid for RSA (California-Nevada RFC Sacramento, California)</description> <description>HRAP Grid for RSA (California-Nevada RFC Sacramento, California)</description>
<la1>30.931</la1> <la1>30.910</la1>
<lo1>-120.858</lo1> <lo1>-120.872</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>235</nx> <nx>235</nx>
<ny>335</ny> <ny>335</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240152</name> <name>240152</name>
<description>HRAP Grid for STR (Colorado Basin RFC Salt Lake City, Utah)</description> <description>HRAP Grid for STR (Colorado Basin RFC Salt Lake City, Utah)</description>
<la1>30.047</la1> <la1>30.027</la1>
<lo1>-114.413</lo1> <lo1>-114.429</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>260</nx> <nx>260</nx>
<ny>360</ny> <ny>360</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240158</name> <name>240158</name>
<description>HRAP Grid for TAR (Northeast RFC Taunton, Massachusetts)</description> <description>HRAP Grid for TAR (Northeast RFC Taunton, Massachusetts)</description>
<la1>42.066</la1> <la1>42.057</la1>
<lo1>-79.970</lo1> <lo1>-80.004</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>180</nx> <nx>180</nx>
<ny>235</ny> <ny>235</ny>

View file

@ -21,8 +21,8 @@
<polarStereoGridCoverage> <polarStereoGridCoverage>
<name>240150</name> <name>240150</name>
<description>HRAP Grid for TUA (Arkansas-Red River RFC Tulsa, Oklahoma)</description> <description>HRAP Grid for TUA (Arkansas-Red River RFC Tulsa, Oklahoma)</description>
<la1>33.621</la1> <la1>33.603</la1>
<lo1>-106.434</lo1> <lo1>-106.455</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>335</nx> <nx>335</nx>
<ny>159</ny> <ny>159</ny>

View file

@ -26,8 +26,8 @@
<firstGridPointCorner>LowerLeft</firstGridPointCorner> <firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>126</nx> <nx>126</nx>
<ny>101</ny> <ny>101</ny>
<dx>0.396</dx> <dx>0.4</dx>
<dy>0.397</dy> <dy>0.4</dy>
<spacingUnit>degree</spacingUnit> <spacingUnit>degree</spacingUnit>
<la2>50.0</la2> <la2>50.0</la2>
<lo2>240.0</lo2> <lo2>240.0</lo2>

View file

@ -810,7 +810,7 @@
<name>QPE-MSR</name> <name>QPE-MSR</name>
<center>9</center> <center>9</center>
<subcenter>157</subcenter> <subcenter>157</subcenter>
<grid>240157</grid> <grid>250157</grid>
<process> <process>
<id>152</id> <id>152</id>
</process> </process>

View file

@ -2,12 +2,12 @@
0:0:CREST Maximum Unit Streamflow:(m^3)*(s^-1)*(km^-2):CrestMaxUStreamflow 0:0:CREST Maximum Unit Streamflow:(m^3)*(s^-1)*(km^-2):CrestMaxUStreamflow
1:1:CREST Maximum Streamflow:(m^3)*(s^-1):CrestMaxStreamflow 1:1:CREST Maximum Streamflow:(m^3)*(s^-1):CrestMaxStreamflow
2:2:CREST Soil Moisture:%:CrestSoilMoisture 2:2:CREST Soil Moisture:%:CrestSoilMoisture
14:14:30 min Precipitation Accumulation Return Period:PRP30min 14:14:30 min Precipitation Accumulation Return Period:year:PRP30min
15:15:1 hour Precipitation Accumulation Return Period:PRP01H 15:15:1 hour Precipitation Accumulation Return Period:year:PRP01H
16:16:3 hour Precipitation Accumulation Return Period:PRP03H 16:16:3 hour Precipitation Accumulation Return Period:year:PRP03H
17:17:6 hour Precipitation Accumulation Return Period:PRP06H 17:17:6 hour Precipitation Accumulation Return Period:year:PRP06H
18:18:12 hour Precipitation Accumulation Return Period:PRP12H 18:18:12 hour Precipitation Accumulation Return Period:year:PRP12H
19:19:24 hour Precipitation Accumulation Return Period:PRP24H 19:19:24 hour Precipitation Accumulation Return Period:year:PRP24H
20:20:Maximum Precipitation Return Period:year:PRPMax 20:20:Maximum Precipitation Return Period:year:PRPMax
26:26:1 hour QPE-to-FFG Ratio:%:QPEFFG01H 26:26:1 hour QPE-to-FFG Ratio:%:QPEFFG01H
27:27:3 hour QPE-to-FFG Ratio:%:QPEFFG03H 27:27:3 hour QPE-to-FFG Ratio:%:QPEFFG03H

View file

@ -21,4 +21,5 @@
<requestPatterns > <requestPatterns >
<regex>^SDUS[234578]. .*</regex> <regex>^SDUS[234578]. .*</regex>
<regex>^RadarServer.*</regex> <regex>^RadarServer.*</regex>
<regex>^Level3.*</regex>
</requestPatterns> </requestPatterns>

View file

@ -27,8 +27,6 @@ import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.bufrsigwx.common.SigWxLayer; 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 * Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Oct 14, 2013 2361 njensen Removed XML annotations and IDecoderGettable * Oct 14, 2013 2361 njensen Removed XML annotations and IDecoderGettable
* Jul 23, 2015 2360 rferrel Add name to unique constraint. * 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
* *
* </pre> * </pre>
* *
* @author jkorman * @author jkorman
* @version 1.0
*/ */
@Entity @Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "bufrsigwxseq") @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "bufrsigwxseq")
@Table(name = "bufrsigwx", uniqueConstraints = { @UniqueConstraint(name = "uk_bufrsigwx_datauri_fields", columnNames = { @Table(name = "bufrsigwx", uniqueConstraints = { @UniqueConstraint(name = "uk_bufrsigwx_datauri_fields", columnNames = {
"refTime", "wxLayer", "wxType", "key" }) }) "refTime", "forecastTime", "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" }) })
@DynamicSerialize @DynamicSerialize
public class SigWxData extends PersistablePluginDataObject implements public class SigWxData extends PersistablePluginDataObject implements
IPointData, IPersistable { IPointData, IPersistable {

View file

@ -29,8 +29,6 @@ import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IPersistable; 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. * Jul 23, 2015 2360 rferrel Add name to unique constraint.
* Jan 25, 2016 5254 tgurney Remove dataURI column and update unique * Jan 25, 2016 5254 tgurney Remove dataURI column and update unique
* constraint. * constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
* *
* </pre> * </pre>
* *
* @author jsanchez * @author jsanchez
* @version 1.0
*/ */
@Entity @Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "cwaseq") @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "cwaseq")
@Table(name = "cwa", uniqueConstraints = { @UniqueConstraint(name = "uk_cwa_datauri_fields", columnNames = { @Table(name = "cwa", uniqueConstraints = { @UniqueConstraint(name = "uk_cwa_datauri_fields", columnNames = {
"refTime", "eventId" }) }) "refTime", "forecastTime", "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" }) })
@DynamicSerialize @DynamicSerialize
public class CWARecord extends PersistablePluginDataObject implements public class CWARecord extends PersistablePluginDataObject implements
IPointData, IPersistable { IPointData, IPersistable {

View file

@ -26,6 +26,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* 01/17/13 1478 D. Hladky Removed un-needed XML attributes * 01/17/13 1478 D. Hladky Removed un-needed XML attributes
* Aug 08, 2015 4722 dhladky Dynamic serialize imp not needed. * Aug 08, 2015 4722 dhladky Dynamic serialize imp not needed.
* Oct 26, 2015 5056 dhladky Simplified Guidance interpolator. * Oct 26, 2015 5056 dhladky Simplified Guidance interpolator.
* Jun 21, 2016 5704 dhladky Updated getClosest() logic to include 0.0f checks.
* *
* </pre> * </pre>
* *
@ -248,7 +249,7 @@ public class FFMPGuidanceBasin extends FFMPBasin {
if (guidValues.get(checkDate).containsKey(sourceName)) { if (guidValues.get(checkDate).containsKey(sourceName)) {
float val = guidValues.get(checkDate).get(sourceName); float val = guidValues.get(checkDate).get(sourceName);
if (val != FFMPUtils.MISSING) { if (val != FFMPUtils.MISSING && val != 0.0f) {
long time1 = markerDate.getTime(); long time1 = markerDate.getTime();
long time2 = checkDate.getTime(); long time2 = checkDate.getTime();
@ -284,7 +285,7 @@ public class FFMPGuidanceBasin extends FFMPBasin {
float val = guidValues.get(date).get(sourceName); float val = guidValues.get(date).get(sourceName);
if (val != FFMPUtils.MISSING) { if (val != FFMPUtils.MISSING && val != 0.0f) {
rdate = date; rdate = date;
} }
} }
@ -299,7 +300,7 @@ public class FFMPGuidanceBasin extends FFMPBasin {
float val2 = guidValues.get(checkDate).get(sourceName); float val2 = guidValues.get(checkDate).get(sourceName);
if (val2 != FFMPUtils.MISSING) { if (val2 != FFMPUtils.MISSING && val2 != 0.0f) {
long time2 = checkDate.getTime(); long time2 = checkDate.getTime();
// as long as it is +- expiration from orig date, // as long as it is +- expiration from orig date,

View file

@ -440,6 +440,7 @@
<styleRule> <styleRule>
<paramLevelMatches> <paramLevelMatches>
<parameter>N1P</parameter> <parameter>N1P</parameter>
<parameter>DAA</parameter>
</paramLevelMatches> </paramLevelMatches>
<imageStyle> <imageStyle>
<displayUnits>in</displayUnits> <displayUnits>in</displayUnits>
@ -470,6 +471,7 @@
<styleRule> <styleRule>
<paramLevelMatches> <paramLevelMatches>
<parameter>NTP</parameter> <parameter>NTP</parameter>
<parameter>DTA</parameter>
</paramLevelMatches> </paramLevelMatches>
<imageStyle> <imageStyle>
<displayUnits>in</displayUnits> <displayUnits>in</displayUnits>
@ -536,4 +538,4 @@
</imageStyle> </imageStyle>
</styleRule> </styleRule>
</styleRuleset> </styleRuleset>

View file

@ -29,8 +29,6 @@ import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.annotations.NullString; 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 * Oct 15, 2013 2361 njensen Removed XML annotations
* Jul 28, 2015 4360 rferrel Named unique constraint. Made productType and modelName non-nullable. * 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. * Jan 28, 2016 5286 tgurney Drop dataURI column and update unique constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
* *
* </pre> * </pre>
* *
* @author jsanchez * @author jsanchez
* @version 1.0
*/ */
@Entity @Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcgseq") @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcgseq")
@Table(name = "tcg", uniqueConstraints = { @UniqueConstraint(name = "uk_tcg_datauri_fields", columnNames = { @Table(name = "tcg", uniqueConstraints = { @UniqueConstraint(name = "uk_tcg_datauri_fields", columnNames = {
"refTime", "productType", "modelName", "latitude", "longitude", "refTime", "forecastTime", "productType", "modelName", "latitude",
"stationId" }) }) "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" }) })
@DynamicSerialize @DynamicSerialize
public class TropicalCycloneGuidance extends PersistablePluginDataObject public class TropicalCycloneGuidance extends PersistablePluginDataObject
implements ISpatialEnabled, IPointData { implements ISpatialEnabled, IPointData {

View file

@ -30,8 +30,6 @@ import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.annotations.NullString; 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 23, 2014 3410 bclement location changed to floats
* Jul 28, 2015 4360 rferrel Named unique constraint. Made productType non-nullable. * Jul 28, 2015 4360 rferrel Named unique constraint. Made productType non-nullable.
* Jan 27, 2016 5285 tgurney Remove dataURI column and update unique constraint. * Jan 27, 2016 5285 tgurney Remove dataURI column and update unique constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
* *
* </pre> * </pre>
* *
* @author jsanchez * @author jsanchez
* @version 1.0
*/ */
@Entity @Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcsseq") @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcsseq")
@Table(name = "tcs", uniqueConstraints = { @UniqueConstraint(name = "uk_tcs_datauri_fields", columnNames = { @Table(name = "tcs", uniqueConstraints = { @UniqueConstraint(name = "uk_tcs_datauri_fields", columnNames = {
"refTime", "productType", "latitude", "longitude", "stationId" }) }) "refTime", "forecastTime", "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" }) })
@DynamicSerialize @DynamicSerialize
public class TropicalCycloneSummary extends PersistablePluginDataObject public class TropicalCycloneSummary extends PersistablePluginDataObject
implements ISpatialEnabled, IPointData { implements ISpatialEnabled, IPointData {

View file

@ -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. 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 #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
#end #end

View file

@ -48,26 +48,26 @@
#set($windImpact = "") #set($windImpact = "")
#set($extensive = "") #set($extensive = "")
#set($windHazard = "") #set($windHazard = "")
#set($windTag = "<50mph") #set($windTag = "<50MPH")
#if(${list.contains(${bullets}, "60mphWind")}) #if(${list.contains(${bullets}, "60mphWind")})
#set($windThreat = "damaging winds in excess of 60 mph") #set($windThreat = "damaging winds in excess of 60 mph")
#set($windHazard = "60 mph wind gusts") #set($windHazard = "60 mph wind gusts")
#set($windSpeed = 60) #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.") ## #set($windImpact = "large tree limbs broken off partially blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.")
#end #end
#if(${list.contains(${bullets}, "70mphWind")}) #if(${list.contains(${bullets}, "70mphWind")})
#set($windThreat = "destructive winds in excess of 70 mph") #set($windThreat = "destructive winds in excess of 70 mph")
#set($windHazard = "70 mph wind gusts") #set($windHazard = "70 mph wind gusts")
#set($windSpeed = 70) #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.") ## #set($windImpact = "trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.")
#end #end
#if(${list.contains(${bullets}, "80mphWind")}) #if(${list.contains(${bullets}, "80mphWind")})
#set($windThreat = "destructive winds in excess of 80 mph") #set($windThreat = "destructive winds in excess of 80 mph")
#set($windHazard = "80 mph wind gusts") #set($windHazard = "80 mph wind gusts")
#set($windSpeed = 80) #set($windSpeed = 80)
#set($windTag = "80mph") #set($windTag = "80MPH")
#set($extensive = "extensive ") #set($extensive = "extensive ")
## #set($windImpact = "trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") ## #set($windImpact = "trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.")
#end #end
@ -75,7 +75,7 @@
#set($windThreat = "extreme damaging winds in excess of 90 mph") #set($windThreat = "extreme damaging winds in excess of 90 mph")
#set($windHazard = "90 mph wind gusts") #set($windHazard = "90 mph wind gusts")
#set($windSpeed = 90) #set($windSpeed = 90)
#set($windTag = "90mph") #set($windTag = "90MPH")
#set($extensive = "extensive ") #set($extensive = "extensive ")
## #set($windImpact ="trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") ## #set($windImpact ="trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.")
#end #end
@ -83,7 +83,7 @@
#set($windThreat = "extreme damaging winds in excess of 100 mph") #set($windThreat = "extreme damaging winds in excess of 100 mph")
#set($windHazard = "100 mph wind gusts") #set($windHazard = "100 mph wind gusts")
#set($windSpeed = 100) #set($windSpeed = 100)
#set($windTag = "100mph") #set($windTag = "100MPH")
#set($extensive = "extensive ") #set($extensive = "extensive ")
## #set($windImpact ="trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.") ## #set($windImpact ="trees to be uprooted blocking roads#commaOrEllipsis()damaging buildings#commaOrEllipsis()homes and downing power lines.")
#end #end

View file

@ -20,11 +20,11 @@
#if(${stormType} == "line") #if(${stormType} == "line")
#set($report = "strong thunderstorms were reported") #set($report = "strong thunderstorms were reported")
#set($reportType1 = "strong thunderstorms") #set($reportType1 = "strong thunderstorms")
#set($reportType2 = "these storms were") #set($reportType2 = "These storms were")
#else #else
#set($report = "a strong thunderstorm was reported") #set($report = "a strong thunderstorm was reported")
#set($reportType1 = "a strong thunderstorm") #set($reportType1 = "a strong thunderstorm")
#set($reportType2 = "this storm was") #set($reportType2 = "This storm was")
#end #end
#set($windThreat = "") #set($windThreat = "")
#set($hailThreat = "") #set($hailThreat = "")

View file

@ -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.site;bundle-version="1.14.0",
com.raytheon.uf.common.status;bundle-version="1.15.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.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, Export-Package: com.raytheon.uf.common.gfe.ifpclient,
com.raytheon.uf.common.gfe.ifpclient.exception com.raytheon.uf.common.gfe.ifpclient.exception

View file

@ -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.DiscreteDefinition;
import com.raytheon.uf.common.dataplugin.gfe.discrete.DiscreteKey; 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;
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.reference.ReferenceID;
import com.raytheon.uf.common.dataplugin.gfe.request.AbstractGfeRequest; import com.raytheon.uf.common.dataplugin.gfe.request.AbstractGfeRequest;
import com.raytheon.uf.common.dataplugin.gfe.request.CommitGridsRequest; 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 05, 2016 #5242 dgilling Replace calls to deprecated Localization APIs.
* Feb 24, 2016 #5129 dgilling Change how PyFPClient is constructed. * Feb 24, 2016 #5129 dgilling Change how PyFPClient is constructed.
* Apr 28, 2016 #5618 randerso Fix getGridData to handle "chunked" response. * Apr 28, 2016 #5618 randerso Fix getGridData to handle "chunked" response.
* Jun 30, 2016 #5723 dgilling Add safety check to saveReferenceData.
* *
* </pre> * </pre>
* *
@ -691,6 +693,16 @@ public class IFPClient {
LocalizationContext ctx = pm.getContext(LocalizationType.COMMON_STATIC, LocalizationContext ctx = pm.getContext(LocalizationType.COMMON_STATIC,
LocalizationLevel.USER); LocalizationLevel.USER);
for (ReferenceData refData : referenceData) { 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 ILocalizationFile lf = pm.getLocalizationFile(ctx, EDIT_AREAS_DIR
+ IPathManager.SEPARATOR + refData.getId().getName() + IPathManager.SEPARATOR + refData.getId().getName()
+ ".xml"); + ".xml");

View file

@ -88,6 +88,7 @@ import com.vividsolutions.jts.geom.Geometry;
* Oct 01, 2015 4868 rjpeter Reject subGrids that don't meet minimum * Oct 01, 2015 4868 rjpeter Reject subGrids that don't meet minimum
* coverage percent. * coverage percent.
* Feb 26, 2016 5414 rjpeter Fix subgrids along boundary. * Feb 26, 2016 5414 rjpeter Fix subgrids along boundary.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre> * </pre>
* *
* @author bphillip * @author bphillip
@ -109,7 +110,9 @@ public abstract class GridCoverage extends PersistableDataObject<Integer>
protected static final String SUBGRID_TOKEN = "SubGrid-"; 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 **/ /** The id for this grid. This value is generated in the initialize method **/
@Id @Id
@ -887,19 +890,34 @@ public abstract class GridCoverage extends PersistableDataObject<Integer>
if (firstGridPointCorner != other.firstGridPointCorner) { if (firstGridPointCorner != other.firstGridPointCorner) {
return false; return false;
} }
if (Math.abs(dx - other.dx) > SPATIAL_TOLERANCE) { double spacingUnitTolerance = getSpacingUnitTolerance();
if (Math.abs(dx - other.dx) > spacingUnitTolerance) {
return false; return false;
} else if (Math.abs(dy - other.dy) > SPATIAL_TOLERANCE) { } else if (Math.abs(dy - other.dy) > spacingUnitTolerance) {
return false; return false;
} else if (Math.abs(la1 - other.la1) > SPATIAL_TOLERANCE) { } else if (Math.abs(la1 - other.la1) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} else if (Math.abs(MapUtil.correctLon(lo1) } else if (Math.abs(MapUtil.correctLon(lo1)
- MapUtil.correctLon(other.lo1)) > SPATIAL_TOLERANCE) { - MapUtil.correctLon(other.lo1)) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} }
return true; 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. * Unique key containing the spatial attributes of this coverage.
* *

View file

@ -51,6 +51,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation. * Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation.
* Jun 05, 2014 3243 bsteffen Remove deprecated lambert conformal call. * Jun 05, 2014 3243 bsteffen Remove deprecated lambert conformal call.
* Mar 04, 2015 3959 rjpeter Update for grid based subgridding. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre> * </pre>
* *
* @author bphillip * @author bphillip
@ -269,11 +270,11 @@ public class LambertConformalGridCoverage extends GridCoverage {
public boolean spatialEquals(GridCoverage other) { public boolean spatialEquals(GridCoverage other) {
if (super.spatialEquals(other)) { if (super.spatialEquals(other)) {
LambertConformalGridCoverage otherLambert = (LambertConformalGridCoverage) other; LambertConformalGridCoverage otherLambert = (LambertConformalGridCoverage) other;
if (Math.abs(latin1 - otherLambert.latin1) > SPATIAL_TOLERANCE) { if (Math.abs(latin1 - otherLambert.latin1) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} else if (Math.abs(latin2 - otherLambert.latin2) > SPATIAL_TOLERANCE) { } else if (Math.abs(latin2 - otherLambert.latin2) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} else if (Math.abs(lov - otherLambert.lov) > SPATIAL_TOLERANCE) { } else if (Math.abs(lov - otherLambert.lov) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} }
return true; return true;

View file

@ -55,6 +55,7 @@ import com.vividsolutions.jts.geom.Coordinate;
* 09/10/2012 DR 15270 D. Friedman Fix subgrid model name handling. * 09/10/2012 DR 15270 D. Friedman Fix subgrid model name handling.
* Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation. * Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation.
* Mar 04, 2015 3959 rjpeter Update for grid based subgridding. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre> * </pre>
* *
* @author bphillip * @author bphillip
@ -338,7 +339,7 @@ public class MercatorGridCoverage extends GridCoverage {
public boolean spatialEquals(GridCoverage other) { public boolean spatialEquals(GridCoverage other) {
if (super.spatialEquals(other)) { if (super.spatialEquals(other)) {
MercatorGridCoverage otherMercator = (MercatorGridCoverage) 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 false;
} }
return true; return true;

View file

@ -51,6 +51,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* 09/10/2012 DR 15270 D. Friedman Fix subgrid model name handling. * 09/10/2012 DR 15270 D. Friedman Fix subgrid model name handling.
* Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation. * Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation.
* Mar 04, 2015 3959 rjpeter Update for grid based subgridding. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre> * </pre>
* *
* @author bphillip * @author bphillip
@ -268,9 +269,9 @@ public class PolarStereoGridCoverage extends GridCoverage {
public boolean spatialEquals(GridCoverage other) { public boolean spatialEquals(GridCoverage other) {
if (super.spatialEquals(other)) { if (super.spatialEquals(other)) {
PolarStereoGridCoverage otherPolar = (PolarStereoGridCoverage) other; PolarStereoGridCoverage otherPolar = (PolarStereoGridCoverage) other;
if (Math.abs(lad - otherPolar.lad) > SPATIAL_TOLERANCE) { if (Math.abs(lad - otherPolar.lad) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} else if (Math.abs(lov - otherPolar.lov) > SPATIAL_TOLERANCE) { } else if (Math.abs(lov - otherPolar.lov) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} }
return true; return true;

View file

@ -46,6 +46,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Apr 7, 2010 #4473 rjpeter Initial creation * Apr 7, 2010 #4473 rjpeter Initial creation
* Mar 04, 2015 3959 rjpeter Update for grid based subgridding. * Mar 04, 2015 3959 rjpeter Update for grid based subgridding.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre> * </pre>
* *
* @author rjpeter * @author rjpeter
@ -151,9 +152,9 @@ public class StereographicGridCoverage extends GridCoverage {
public boolean spatialEquals(GridCoverage other) { public boolean spatialEquals(GridCoverage other) {
if (super.spatialEquals(other)) { if (super.spatialEquals(other)) {
StereographicGridCoverage otherStereo = (StereographicGridCoverage) other; StereographicGridCoverage otherStereo = (StereographicGridCoverage) other;
if (Math.abs(lad - otherStereo.lad) > SPATIAL_TOLERANCE) { if (Math.abs(lad - otherStereo.lad) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} else if (Math.abs(lov - otherStereo.lov) > SPATIAL_TOLERANCE) { } else if (Math.abs(lov - otherStereo.lov) > SPATIAL_TOLERANCE_DEG) {
return false; return false;
} }
return true; return true;

View file

@ -51,6 +51,7 @@ import com.raytheon.uf.edex.database.dao.DaoConfig;
* Mar 07, 2013 1771 bsteffen fix gridcoverage duplicate checks. * Mar 07, 2013 1771 bsteffen fix gridcoverage duplicate checks.
* Mar 20, 2013 2910 bsteffen Commit transaction within cluster locks. * Mar 20, 2013 2910 bsteffen Commit transaction within cluster locks.
* May 10, 2016 5642 rjpeter Remove transaction nesting. * May 10, 2016 5642 rjpeter Remove transaction nesting.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre> * </pre>
* *
* @author bsteffen * @author bsteffen
@ -107,21 +108,22 @@ public class GetGridCoverageHandler implements
trans = sess.beginTransaction(); trans = sess.beginTransaction();
Criteria crit = sess.createCriteria(coverage.getClass()); Criteria crit = sess.createCriteria(coverage.getClass());
double spacingUnitTolerance = coverage.getSpacingUnitTolerance();
crit.add(Restrictions.eq("nx", coverage.getNx())); crit.add(Restrictions.eq("nx", coverage.getNx()));
crit.add(Restrictions.eq("ny", coverage.getNy())); crit.add(Restrictions.eq("ny", coverage.getNy()));
crit.add(Restrictions.between("dx", coverage.getDx() crit.add(Restrictions.between("dx", coverage.getDx()
- GridCoverage.SPATIAL_TOLERANCE, coverage.getDx() - spacingUnitTolerance, coverage.getDx()
+ GridCoverage.SPATIAL_TOLERANCE)); + spacingUnitTolerance));
crit.add(Restrictions.between("dy", coverage.getDy() crit.add(Restrictions.between("dy", coverage.getDy()
- GridCoverage.SPATIAL_TOLERANCE, coverage.getDy() - spacingUnitTolerance, coverage.getDy()
+ GridCoverage.SPATIAL_TOLERANCE)); + spacingUnitTolerance));
crit.add(Restrictions.between("la1", coverage.getLa1() crit.add(Restrictions.between("la1", coverage.getLa1()
- GridCoverage.SPATIAL_TOLERANCE, coverage.getLa1() - GridCoverage.SPATIAL_TOLERANCE_DEG, coverage.getLa1()
+ GridCoverage.SPATIAL_TOLERANCE)); + GridCoverage.SPATIAL_TOLERANCE_DEG));
crit.add(Restrictions.between("lo1", coverage.getLo1() crit.add(Restrictions.between("lo1", coverage.getLo1()
- GridCoverage.SPATIAL_TOLERANCE, coverage.getLo1() - GridCoverage.SPATIAL_TOLERANCE_DEG, coverage.getLo1()
+ GridCoverage.SPATIAL_TOLERANCE)); + GridCoverage.SPATIAL_TOLERANCE_DEG));
List<?> vals = crit.list(); List<?> vals = crit.list();
for (Object val : vals) { for (Object val : vals) {
@ -142,11 +144,11 @@ public class GetGridCoverageHandler implements
crit.add(Restrictions.eq("nx", coverage.getNx())); crit.add(Restrictions.eq("nx", coverage.getNx()));
crit.add(Restrictions.eq("ny", coverage.getNy())); crit.add(Restrictions.eq("ny", coverage.getNy()));
crit.add(Restrictions.between("dx", coverage.getDx() crit.add(Restrictions.between("dx", coverage.getDx()
- GridCoverage.SPATIAL_TOLERANCE, coverage.getDx() - spacingUnitTolerance, coverage.getDx()
+ GridCoverage.SPATIAL_TOLERANCE)); + spacingUnitTolerance));
crit.add(Restrictions.between("dy", coverage.getDy() crit.add(Restrictions.between("dy", coverage.getDy()
- GridCoverage.SPATIAL_TOLERANCE, coverage.getDy() - spacingUnitTolerance, coverage.getDy()
+ GridCoverage.SPATIAL_TOLERANCE)); + spacingUnitTolerance));
vals = crit.list(); vals = crit.list();
for (Object val : vals) { for (Object val : vals) {
if (((GridCoverage) val).spatialEquals(coverage)) { if (((GridCoverage) val).spatialEquals(coverage)) {

View file

@ -46,6 +46,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
* Jul 23, 2014 3410 bclement location changed to floats * Jul 23, 2014 3410 bclement location changed to floats
* Sep 18, 2015 3873 skorolev Fixed assigning timeObs for maritime record. * Sep 18, 2015 3873 skorolev Fixed assigning timeObs for maritime record.
* Dec 02, 2015 3873 dhladky Added missing point data params. * Dec 02, 2015 3873 dhladky Added missing point data params.
* Jul 08, 2016 5733 tgurney Convert metar sea level pressure to mbar
* *
* </pre> * </pre>
* *
@ -343,7 +344,10 @@ public class FSSObsDataTransform {
fssr.setTimeObs(pdv.getCalendar(TIME_OBS)); fssr.setTimeObs(pdv.getCalendar(TIME_OBS));
fssr.setRefHour(TimeTools.roundToNearestHour(fssr.getTimeObs())); fssr.setRefHour(TimeTools.roundToNearestHour(fssr.getTimeObs()));
// in mbar // 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 // in mmHg
fssr.setPressureAltimeter(pdv.getNumber(ALTIMETER).floatValue()); fssr.setPressureAltimeter(pdv.getNumber(ALTIMETER).floatValue());
fssr.setPressChange3Hour(pdv.getNumber(PRESS_CHANGE3_HOUR).floatValue()); fssr.setPressChange3Hour(pdv.getNumber(PRESS_CHANGE3_HOUR).floatValue());

View file

@ -3,9 +3,9 @@
# Tested Operating System(s): RHEL 3, 4, 5, 6 # Tested Operating System(s): RHEL 3, 4, 5, 6
# Tested Run Level(s): 3, 5 # Tested Run Level(s): 3, 5
# Shell Used: BASH shell # Shell Used: BASH shell
# Original Author(s): Douglas.Gaer@noaa.gov # Original Author(s): Joseph.Maloney@noaa.gov
# File Creation Date: 01/27/2009 # File Creation Date: 01/27/2009
# Date Last Modified: 02/20/2015 # Date Last Modified: 06/15/2016
# #
# Contributors: # Contributors:
# Joe Maloney (MFL), Pablo Santos (MFL) # Joe Maloney (MFL), Pablo Santos (MFL)
@ -36,6 +36,10 @@
# 20 FEB 2015 - jcm - modified ifpIMAGE line to use ssh -x px2f; fixed # 20 FEB 2015 - jcm - modified ifpIMAGE line to use ssh -x px2f; fixed
# LOG_FILE at end of script; corrected $site variable # LOG_FILE at end of script; corrected $site variable
# for kml rsync. # 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 # 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 # Create legends for KML
${HTI_HOME}/bin/kml_legend.sh ${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 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/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}/. /usr/bin/rsync -av --force --progress --stats -e "/usr/bin/ssh -o stricthostkeychecking=no -x" ${PRODUCTdir}/*.txt ${PRODUCTdir}/*.png ${LDADuser}@${LDADserver}:/${LDAD_DATA}/.

View file

@ -15,12 +15,17 @@ if [ ! -f /etc/yum.repos.d/awips2.repo ]; then
echo '' echo ''
echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo' echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo'
echo '' 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
echo "Running 'yum clean all'" wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/el7.repo
yum clean all else
echo '' wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo
fi
fi fi
echo "Running 'yum clean all'"
yum clean all
echo ''
# #
# If CAVE is not installed them make sure /awips2/cave/ # If CAVE is not installed them make sure /awips2/cave/
# and /awips2/alertviz/ are removed before installing. # and /awips2/alertviz/ are removed before installing.

View file

@ -9,11 +9,17 @@
# #
# Download yum repo file from Unidata # Download yum repo file from Unidata
# #
if [ ! -f /etc/yum.repos.d/awips2.repo ]; then if [ ! -f /etc/yum.repos.d/awips2.repo ]; then
echo '' echo ''
echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo' echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo'
echo '' 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 fi
# #

View file

@ -19,10 +19,11 @@
## ##
# File generated against equivalent DynamicSerialize Java class # File generated against equivalent DynamicSerialize Java class
# Jul 27, 2016 #5769 randerso Fixed __str__ method
class ActiveTableMode(object): class ActiveTableMode(object):
def __init__(self): def __init__(self):
self.value = None self.value = None
def __str__(self): def __str__(self):
return repr(self.value) return str(self.value)

View file

@ -41,18 +41,61 @@ if [ -d ${RPM_BUILD_ROOT} ]; then
fi fi
%build %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/ BUILD_DIR=%{_baseline_workspace}/rpms/awips2.core/Installer.localization/
UTIL=%{_baseline_workspace}/localization/utility UTIL=%{_baseline_workspace}/localization/utility
file=$BUILD_DIR/wfo.dat #file=$BUILD_DIR/wfo.dat
file=$BUILD_DIR/coords.dat
regional=$BUILD_DIR/coords_regional.dat
#<gridGeometry rangeX="LOWX HIGHX" rangeY="LOWY HIGHY" envelopeMinX="MINX" envelopeMaxX="MAXX" envelopeMinY="MINY" envelopeMaxY="MAXY">
for site in $(cat $file |cut -c -3) for site in $(cat $file |cut -c -3)
do do
lat=$(cat $file |grep $site | cut -f9) lat=$(cat $file |grep $site | cut -d"," -f2 | tr -d '[[:space:]]')
lon=$(cat $file |grep $site | cut -f10) lon=$(cat $file |grep $site | cut -d"," -f3 | tr -d '[[:space:]]')
# <gridGeometry rangeX="LOWX HIGHX" rangeY="LOWY HIGHY" envelopeMinX="MINX" envelopeMaxX="MAXX" envelopeMinY="MINY" envelopeMaxY="MAXY">
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
CAVE_DIR=$UTIL/cave_static/site/$site CAVE_DIR=$UTIL/cave_static/site/$site
mkdir -p $CAVE_DIR mkdir -p $CAVE_DIR
cp -R $BUILD_DIR/utility/cave_static/* $CAVE_DIR cp -R $BUILD_DIR/utility/cave_static/* $CAVE_DIR
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 'XXX' $CAVE_DIR | xargs sed -i 's/XXX/'$site'/g'
grep -rl 'LATITUDE' $CAVE_DIR | xargs sed -i 's/LATITUDE/'$lat'/g' grep -rl 'LATITUDE' $CAVE_DIR | xargs sed -i 's/LATITUDE/'$lat'/g'
grep -rl 'LONGITUDE' $CAVE_DIR | xargs sed -i 's/LONGITUDE/'$lon'/g' grep -rl 'LONGITUDE' $CAVE_DIR | xargs sed -i 's/LONGITUDE/'$lon'/g'

View file

@ -0,0 +1,120 @@
PBZ,40.53195,-80.21805999999998,0,12856,0,9999,-9370161.913130851,-8470161.913130851,4588193.372289133,5288193.372289133
BOX,41.95556,-71.13472,0,12856,0,9999,-8360104.28381374,-7460104.28381374,4798742.350511885,5498742.350511885
EAX,38.81,-94.26389,0,12856,0,9999,-1.0932043088072142E7,-1.0032043088072142E7,4339407.643327768,5039407.643327768
SLC,40.77195,-111.955,0,12856,0,9999,-1.2899275474681946E7,-1.1999275474681946E7,4623369.937995336,5323369.937995336
TSA,36.14861,-95.86111,0,12856,0,9999,-1.1109652232582627E7,-1.0209652232582627E7,3966409.1300783334,4666409.130078333
TOP,39.07223,-95.63056,0,12856,0,9999,-1.1084015320781566E7,-1.0184015320781566E7,4376898.052242491,5076898.052242491
ICT,37.655,-97.44305,0,12856,0,9999,-1.128556225754282E7,-1.038556225754282E7,4175895.6733279685,4875895.673327968
DDC,37.76056,-99.96861,0,12856,0,9999,-1.156640181064753E7,-1.066640181064753E7,4190732.6866962407,4890732.686696241
GLD,39.36611,-101.70083,0,12856,0,9999,-1.1759022809823569E7,-1.0859022809823569E7,4419079.324964198,5119079.324964198
MPX,44.84916,-93.56528,0,12856,0,9999,-1.0854358408161752E7,-9954358.408161752,5241743.148552933,5941743.148552933
DLH,46.83694000000001,-92.21028,0,12856,0,9999,-1.0703683866888972E7,-9803683.866888972,5559092.097372879,6259092.097372879
BIS,46.77195,-100.75944,0,12856,0,9999,-1.1654341255278343E7,-1.0754341255278343E7,5548534.144023035,6248534.144023035
GID,40.6475,-98.38444,0,12856,0,9999,-1.1390243812088048E7,-1.0490243812088048E7,4605113.630413384,5305113.630413384
FWD,32.83416,-97.29805,0,12856,0,9999,-1.1269438413642783E7,-1.0369438413642783E7,3519117.021733404,4219117.021733404
OUN,35.23694,-97.46083,0,12856,0,9999,-1.1287539374401737E7,-1.0387539374401737E7,3841582.4244286334,4541582.424428633
LIX,30.33722,-89.82528000000002,0,12856,0,9999,-1.0438474434464194E7,-9538474.434464194,3193128.761097869,3893128.761097869
CTP,40.79139,-77.86360999999998,0,12856,0,9999,-9108349.607817423,-8208349.607817423,4626224.792077845,5326224.792077845
PHI,40.01333,-74.8175,0,12856,0,9999,-8769625.455111574,-7869625.455111575,4512607.269811037,5212607.269811037
OKX,40.86556,-72.86499999999998,0,12856,0,9999,-8552509.557078287,-7652509.557078288,4637124.686551023,5337124.686551023
BOI,43.56723,-116.21139,0,12856,0,9999,-1.3372581460459098E7,-1.2472581460459098E7,5042865.257692845,5742865.257692845
ILN,39.42111,-83.82223,0,12856,0,9999,-9770941.737056399,-8870941.737056399,4426993.283106372,5126993.283106372
IND,39.70639,-86.28084,0,12856,0,9999,-1.0044336522236228E7,-9144336.522236228,4468142.890782041,5168142.890782041
JKL,37.59389,-83.31723000000002,0,12856,0,9999,-9714786.280714886,-8814786.280714886,4167315.981517056,4867315.981517056
LMK,38.11472,-85.645,0,12856,0,9999,-9973631.798750704,-9073631.798750704,4240667.173945117,4940667.173945117
PAH,37.06834,-88.77195,0,12856,0,9999,-1.0321345272428136E7,-9421345.272428136,4093818.5808709115,4793818.5808709115
HGX,29.47195,-95.07945,0,12856,0,9999,-1.1022732482079837E7,-1.0122732482079837E7,3082131.6441921024,3782131.6441921024
FFC,33.36333,-84.56583000000002,0,12856,0,9999,-9853629.25653274,-8953629.25653274,3589358.5954624,4289358.5954624005
MLB,28.11361,-80.655,0,12856,0,9999,-9418749.170742461,-8518749.170742461,2909770.5732198837,3609770.5732198837
AMA,35.23305999999999,-101.70889,0,12856,0,9999,-1.1759919073146565E7,-1.0859919073146565E7,3841054.197543656,4541054.197543656
TFX,47.45972,-111.38472,0,12856,0,9999,-1.2835860952617709E7,-1.1935860952617709E7,5660920.243834289,6360920.243834289
MSO,46.92473,-114.09027,0,12856,0,9999,-1.3136715199953921E7,-1.2236715199953921E7,5573374.321196115,6273374.321196115
SEW,47.68722,-122.25528,0,12856,0,9999,-1.404465552190053E7,-1.314465552190053E7,5698418.246105983,6398418.246105983
OTX,47.68084,-117.62778,0,12856,0,9999,-1.3530082503642388E7,-1.2630082503642388E7,5697364.429282707,6397364.429282707
PDT,45.69083,-118.85222,0,12856,0,9999,-1.3666238913469726E7,-1.2766238913469726E7,5374735.141138894,6074735.141138894
DTX,42.68694,-83.47166999999997,0,12856,0,9999,-9731959.842452275,-8831959.842452275,4908739.887192545,5608739.887192545
GRR,42.89389,-85.54472,0,12856,0,9999,-9962480.770707285,-9062480.770707285,4940098.958434695,5640098.958434695
MQT,46.53139,-87.54861,0,12856,0,9999,-1.0185311181416592E7,-9285311.181416592,5509564.403609848,6209564.403609848
APX,44.9075,-84.71889,0,12856,0,9999,-9870649.363755774,-8970649.363755774,5250898.220767758,5950898.220767758
MFL,25.75417,-80.38389000000002,0,12856,0,9999,-9388602.03060633,-8488602.03060633,2615450.278164767,3315450.278164767
CRP,27.77917,-97.50611,0,12856,0,9999,-1.1292574461655486E7,-1.0392574461655486E7,2867671.8413163647,3567671.8413163647
EWX,29.70417,-98.02861,0,12856,0,9999,-1.1350675899157353E7,-1.0450675899157353E7,3111826.569545166,3811826.569545166
BRO,25.91583,-97.41861,0,12856,0,9999,-1.128284455585374E7,-1.038284455585374E7,2635422.9153296305,3335422.9153296305
CLE,41.41222,-81.86028,0,12856,0,9999,-9552775.009196525,-8652775.009196525,4717840.676719376,5417840.676719376
STO,38.60917,-121.38722,0,12856,0,9999,-1.3948128184411788E7,-1.3048128184411788E7,4310788.6922145095,5010788.6922145095
MTR,36.59277,-121.85556,0,12856,0,9999,-1.4000207088219678E7,-1.3100207088219678E7,4027748.5982804066,4727748.598280407
MFR,42.37695,-122.88056,0,12856,0,9999,-1.4114185984754441E7,-1.3214185984754441E7,4861961.977902378,5561961.977902378
AFC,61.15611,-149.98389,0,12856,0,9999,-1.7128047102625113E7,-1.6228047102625113E7,8302375.474508852,9002375.474508852
AFG,64.85972,-147.83472,0,12856,0,9999,-1.6889061712317202E7,-1.5989061712317202E7,9211151.105478805,9911151.105478805
AJK,58.37834,-134.59861,0,12856,0,9999,-1.5417220529670674E7,-1.4517220529670674E7,7688502.719640497,8388502.719640497
GUA,13.55,144.83333,0,12856,0,9999,1.5655310375467971E7,1.6555310375467971E7,1170990.0463046187,1870990.0463046187
HFO,21.30278,-157.81945,0,12856,0,9999,-1.79993529392416E7,-1.70993529392416E7,2075388.9781386214,2775388.9781386214
ILX,40.15167,-89.33833,0,12856,0,9999,-1.0384326118690921E7,-9484326.118690921,4532713.013051357,5232713.013051357
LOT,41.60417,-88.08471999999998,0,12856,0,9999,-1.024492603626659E7,-9344926.03626659,4746343.51064794,5446343.51064794
SGF,37.235,-93.40139,0,12856,0,9999,-1.0836134016597774E7,-9936134.016597774,4117070.155880917,4817070.155880917
LSX,38.69889000000001,-90.68278,0,12856,0,9999,-1.053382751132132E7,-9633827.51132132,4323564.160779892,5023564.160779892
IWX,41.35889,-85.7,0,12856,0,9999,-9979747.739540376,-9079747.739540376,4709936.618564689,5409936.618564689
EPZ,31.87306,-106.69805,0,12856,0,9999,-1.2314708294059113E7,-1.1414708294059113E7,3392601.376864247,4092601.376864247
LUB,33.52834,-101.87584,0,12856,0,9999,-1.17784837334163E7,-1.08784837334163E7,3611348.9925191603,4311348.992519161
MAF,31.9425,-102.18889,0,12856,0,9999,-1.1813294556401867E7,-1.0913294556401867E7,3401697.447975006,4101697.447975006
SJT,31.37111,-100.49277,0,12856,0,9999,-1.162468783836232E7,-1.072468783836232E7,3327052.367504474,4027052.367504474
MHX,34.77667,-76.87694999999998,0,12856,0,9999,-8998634.078007681,-8098634.078007681,3779095.7851539436,4479095.785153944
RAH,35.77111,-78.68111,0,12856,0,9999,-9199254.727736613,-8299254.727736613,3914548.162594973,4614548.162594973
ILM,34.27639,-77.91278,0,12856,0,9999,-9113817.258883389,-8213817.258883389,3711571.348302476,4411571.348302476
FGZ,35.23,-111.82139,0,12856,0,9999,-1.2884418186519986E7,-1.1984418186519986E7,3840637.624056891,4540637.624056891
PSR,33.43639,-112.02389,0,12856,0,9999,-1.2906935968518315E7,-1.2006935968518315E7,3599089.9269352136,4299089.926935214
TWC,32.22806,-110.95528,0,12856,0,9999,-1.2788107686931964E7,-1.1888107686931964E7,3439176.0054829414,4139176.0054829414
BOU,39.77445,-104.87973,0,12856,0,9999,-1.2112513067574153E7,-1.1212513067574153E7,4477985.159095061,5177985.159095061
LBF,41.13278,-100.7,0,12856,0,9999,-1.1647731591268562E7,-1.0747731591268562E7,4676496.480090039,5376496.480090039
ABQ,35.03694,-106.62167,0,12856,0,9999,-1.2306214920286112E7,-1.1406214920286112E7,3814387.0429617814,4514387.042961782
SJU,18.43472,-66.00417,0,12856,0,9999,-7789592.647114804,-6889592.647114804,1736233.0720236544,2436233.0720236544
LCH,30.12528,-93.21639,0,12856,0,9999,-1.0815562215759791E7,-9915562.215759791,3165851.546158637,3865851.546158637
SHV,32.45139,-93.84139,0,12856,0,9999,-1.0885061542915132E7,-9985061.542915132,3468569.2403426007,4168569.2403426007
LWX,38.97555999999999,-77.47723000000002,0,12856,0,9999,-9065384.567775378,-8165384.567775378,4363061.223764503,5063061.223764503
RNK,37.20417,-80.41417,0,12856,0,9999,-9391969.134008348,-8491969.134008348,4112765.0409801407,4812765.040980141
AKQ,36.98361,-77.00721999999998,0,12856,0,9999,-9013119.961765323,-8113119.961765323,4082017.06778486,4782017.06778486
EKA,40.81,-124.15972,0,12856,0,9999,-1.4256427199672882E7,-1.3356427199672882E7,4628958.539993984,5328958.539993984
VEF,36.04666,-115.18444,0,12856,0,9999,-1.3258385726023614E7,-1.2358385726023614E7,3952378.766153478,4652378.766153478
REV,39.56834,-119.79666,0,12856,0,9999,-1.377125962473147E7,-1.287125962473147E7,4448209.022112981,5148209.022112981
DMX,41.73611,-93.72334,0,12856,0,9999,-1.0871934510002028E7,-9971934.510002028,4765984.599652903,5465984.599652903
DVN,41.61167,-90.58916,0,12856,0,9999,-1.0523417068108069E7,-9623417.068108069,4747458.911063318,5447458.911063318
FSD,43.5875,-96.72945,0,12856,0,9999,-1.120621070576994E7,-1.030621070576994E7,5045976.611304762,5745976.611304762
MRX,36.16861,-83.40167,0,12856,0,9999,-9724175.917810878,-8824175.917810878,3969163.6693269555,4669163.669326955
LZK,34.83472,-92.25944,0,12856,0,9999,-1.0709150405965706E7,-9809150.405965706,3786957.382015361,4486957.3820153605
MEG,35.13084,-89.80056,0,12856,0,9999,-1.0435725597076545E7,-9535725.597076545,3827146.9553055568,4527146.955305557
OHX,36.24722,-86.5625,0,12856,0,9999,-1.0075656811014745E7,-9175656.811014745,3979997.204298065,4679997.204298065
CHS,32.895,-80.0275,0,12856,0,9999,-9348971.8462785,-8448971.8462785,3527171.4283645474,4227171.428364547
CAE,33.94555,-81.1225,0,12856,0,9999,-9470734.667454658,-8570734.667454658,3667137.484526972,4367137.484526971
GSP,34.9,-82.21666999999998,0,12856,0,9999,-9592405.19352435,-8692405.19352435,3795804.7482160297,4495804.748216029
GYX,43.8925,-70.255,0,12856,0,9999,-8262280.366877585,-7362280.366877585,5092919.872141641,5792919.872141641
LOX,34.20722,-119.13777,0,12856,0,9999,-1.3697991766060457E7,-1.2797991766060457E7,3702266.9968494778,4402266.996849477
SGX,32.91806,-117.06361,0,12856,0,9999,-1.346734740700042E7,-1.256734740700042E7,3530225.7109139115,4230225.710913911
HNX,36.31389,-119.63223,0,12856,0,9999,-1.3752975185748825E7,-1.2852975185748825E7,3989193.78659413,4689193.78659413
GRB,44.49861,-88.11166999999998,0,12856,0,9999,-1.0247922847253527E7,-9347922.847253527,5186926.855728445,5886926.855728445
ARX,43.82278,-91.19194,0,12856,0,9999,-1.0590445555184381E7,-9690445.555184381,5082167.990174984,5782167.990174984
MKX,42.96805999999999,-88.54916,0,12856,0,9999,-1.0296571264273034E7,-9396571.264273034,4951363.516996943,5651363.516996943
BMX,33.17889,-86.78223,0,12856,0,9999,-1.0100090550464094E7,-9200090.550464094,3564828.1131183156,4264828.113118315
JAN,32.31889,-90.08028,0,12856,0,9999,-1.0466830159943571E7,-9566830.159943571,3451121.7076351773,4151121.7076351773
MOB,30.67945,-88.23971999999998,0,12856,0,9999,-1.0262161869401112E7,-9362161.869401112,3237299.6954862475,3937299.6954862475
ALY,42.74805,-73.80333,0,12856,0,9999,-8656850.842917763,-7756850.842917764,4917988.965491492,5617988.965491492
BGM,42.21167,-75.98611,0,12856,0,9999,-8899573.62904278,-7999573.62904278,4837115.382690676,5537115.382690676
BUF,42.94139000000001,-78.71916999999998,0,12856,0,9999,-9203486.958763061,-8303486.958763061,4947311.452219581,5647311.452219581
BTV,44.46917,-73.15555999999998,0,12856,0,9999,-8584819.516275497,-7684819.516275497,5182338.296060415,5882338.296060415
LKN,40.86,-115.7425,0,12856,0,9999,-1.3320441397243312E7,-1.2420441397243312E7,4636307.175669641,5336307.175669641
CYS,41.15194,-104.805,0,12856,0,9999,-1.2104203172024844E7,-1.1204203172024844E7,4679325.6342189275,5379325.6342189275
GJT,39.12,-108.52445,0,12856,0,9999,-1.2517802007845536E7,-1.1617802007845536E7,4383742.5916883955,5083742.5916883955
PUB,38.27973,-104.52084,0,12856,0,9999,-1.2072604885937704E7,-1.1172604885937704E7,4264015.25350895,4964015.25350895
RIW,43.06667,-108.47667,0,12856,0,9999,-1.2512488923283163E7,-1.1612488923283163E7,4966360.952526259,5666360.952526259
JAX,30.48472,-81.70166999999998,0,12856,0,9999,-9535137.747948349,-8635137.747948349,3212147.2327800957,3912147.2327800957
TAE,30.39389,-84.34444000000002,0,12856,0,9999,-9829010.926870467,-8929010.926870467,3200432.3238385716,3900432.3238385716
BYZ,45.75083,-108.57056,0,12856,0,9999,-1.2522929390205748E7,-1.1622929390205748E7,5384291.666404969,6084291.666404969
GGW,48.20667,-106.62473,0,12856,0,9999,-1.2306555188991865E7,-1.1406555188991865E7,5784654.992741944,6484654.992741944
PIH,42.90444,-112.58972,0,12856,0,9999,-1.2969855655373206E7,-1.2069855655373206E7,4941700.4110756,5641700.4110756
ABR,45.45583,-98.41278,0,12856,0,9999,-1.139339518957858E7,-1.049339518957858E7,5337403.771325843,6037403.771325843
FGF,47.92195,-97.09805,0,12856,0,9999,-1.1247198628953073E7,-1.0347198628953073E7,5737279.776103232,6437279.776103232
UNR,44.07278,-103.21111,0,12856,0,9999,-1.192696431992944E7,-1.102696431992944E7,5120780.283332199,5820780.283332199
PQR,45.56056,-122.53694,0,12856,0,9999,-1.407597581067905E7,-1.317597581067905E7,5354021.562282554,6054021.562282554
RLX,38.31306,-81.71861,0,12856,0,9999,-9537021.45771157,-8637021.45771157,4268737.714869391,4968737.714869391
EYW,24.55,-81.75,0,12856,0,9999,-9540511.99191862,-8640511.99191862,2467517.7741523045,3167517.7741523045
CAR,46.8667,-68.0167,0,12856,0,9999,-8013383.816522704,-7113383.816522704,5563931.021847511,6263931.021847511
HUN,34.7244,-86.4786,0,12856,0,9999,-1.0066327221337413E7,-9166327.221337413,3772021.6934645926,4472021.693464592

View file

@ -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

View file

@ -1,131 +1,87 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- <bundle>
This_software_was_developed_and_/_or_modified_by_Raytheon_Company, <displayList>
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government. <displays xsi:type="d2DMapRenderableDisplay" magnification="1.0" density="1.0" scale="Regional - XXX" mapCenter="LONGITUDE LATITUDE 0.0" zoomLevel="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<descriptor xsi:type="mapDescriptor">
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<bundle>
<displayList>
<displays xsi:type="d2DMapRenderableDisplay" scale="Regional" density="1.0" magnification="1.0" zoomLevel="1.0" mapCenter="LONGITUDE LATITUDE 0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<descriptor xsi:type="mapDescriptor">
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties renderingOrderId="MAP_OUTLINE" isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="mapResourceGroupData">
<resource> <resource>
<loadProperties loadWithoutData="false"> <loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType> <resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties> </loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true"> <properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/> <pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties> </properties>
<resourceData xsi:type="dbMapResourceData"> <resourceData xsi:type="mapResourceGroupData">
<mapName>World</mapName> <resource>
<table>mapdata.world</table> <loadProperties loadWithoutData="false">
<geomField>the_geom</geomField> <resourceType>PLAN_VIEW</resourceType>
<constraint>name not in ('CANADA', 'MEXICO', 'UNITED STATES')</constraint> <capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>World</mapName>
<table>mapdata.world</table>
<constraint>name not in ('UNITED STATES')</constraint>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false">
<pdProps minDisplayWidth="0" maxDisplayWidth="750000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>County Boundaries</mapName>
<table>mapdata.county</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="2" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries</mapName>
<table>mapdata.states</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<mapName>State/County Boundaries</mapName>
</resourceData> </resourceData>
</resource> </resource>
<resource> <limitedNumberOfFrames>2147483647</limitedNumberOfFrames>
<loadProperties loadWithoutData="false"> <gridGeometry rangeX="LOWX HIGHX" rangeY="LOWY HIGHY" envelopeMinX="MINX" envelopeMaxX="MAXX" envelopeMinY="MINY" envelopeMaxY="MAXY">
<capabilities> <CRS>PROJCS["Mercator_1SP",
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="750000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries</mapName>
<table>mapdata.states</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>Canada</mapName>
<table>mapdata.canada</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>Mexico</mapName>
<table>mapdata.mexico</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="750000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>County Boundaries</mapName>
<table>mapdata.county</table>
</resourceData>
</resource>
<mapName>State/County Boundaries</mapName>
</resourceData>
</resource>
<timeMatcher xsi:type="d2DTimeMatcher" loadMode="VALID_TIME_SEQ" deltaFilter="0" forecastFilter="0"/>
<numberOfFrames>12</numberOfFrames>
<gridGeometry envelopeMaxY="2901076.347219158" envelopeMinY="810930.3906458529" envelopeMaxX="697573.8190745931" envelopeMinX="-1392571.7793350497" rangeY="0 9999" rangeX="0 9999">
<CRS>PROJCS["Lambert_Conformal_Conic_1SP",
GEOGCS["WGS84(DD)", GEOGCS["WGS84(DD)",
DATUM["WGS84", DATUM["WGS84",
SPHEROID["WGS84", 6378137.0, 298.257223563]], SPHEROID["WGS84", 6378137.0, 298.257223563]],
@ -133,18 +89,21 @@
UNIT["degree", 0.017453292519943295], UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST], AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH]], AXIS["Geodetic latitude", NORTH]],
PROJECTION["Lambert_Conformal_Conic_1SP"], PROJECTION["Mercator_1SP"],
PARAMETER["semi_major", 6371200.0], PARAMETER["semi_major", 6371229.0],
PARAMETER["semi_minor", 6371200.0], PARAMETER["semi_minor", 6371229.0],
PARAMETER["central_meridian", LONGITUDE], PARAMETER["latitude_of_origin", 0.0],
PARAMETER["latitude_of_origin", LATITUDE], PARAMETER["central_meridian", 0.0],
PARAMETER["scale_factor", 1.0],
PARAMETER["false_easting", 0.0], PARAMETER["false_easting", 0.0],
PARAMETER["false_northing", 0.0], PARAMETER["false_northing", 0.0],
UNIT["m", 1.0], UNIT["m", 1.0],
AXIS["Easting", EAST], AXIS["Easting", EAST],
AXIS["Northing", NORTH]]</CRS> AXIS["Northing", NORTH]]</CRS>
</gridGeometry> </gridGeometry>
</descriptor> <numberOfFrames>12</numberOfFrames>
</displays> <timeMatcher xsi:type="d2DTimeMatcher" forecastFilter="0" deltaFilter="0" loadMode="VALID_TIME_SEQ"/>
</displayList> </descriptor>
</bundle> </displays>
</displayList>
</bundle>

View file

@ -1,117 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<bundle>
<displayList>
<displays xsi:type="d2DMapRenderableDisplay" scale="State(s)" density="1.0" magnification="1.0" zoomLevel="1.0" mapCenter="LONGITUDE LATITUDE 0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<descriptor xsi:type="mapDescriptor">
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties renderingOrderId="MAP_OUTLINE" isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="mapResourceGroupData">
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="2"/>
<capability xsi:type="colorableCapability" colorAsString="#cc5000"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="750000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries Zoom</mapName>
<table>mapdata.states</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="2"/>
<capability xsi:type="colorableCapability" colorAsString="#cc5000"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="750000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries</mapName>
<table>mapdata.states</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="750000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>County Boundaries</mapName>
<table>mapdata.county</table>
</resourceData>
</resource>
<mapName>State/County Boundaries</mapName>
</resourceData>
</resource>
<timeMatcher xsi:type="d2DTimeMatcher" loadMode="VALID_TIME_SEQ" deltaFilter="0" forecastFilter="0"/>
<numberOfFrames>12</numberOfFrames>
<gridGeometry envelopeMaxY="826285.6581640337" envelopeMinY="-826285.9480978746" envelopeMaxX="713274.16585449004" envelopeMinX="-713274.3299231358" rangeY="0 9999" rangeX="0 9999">
<CRS>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]]</CRS>
</gridGeometry>
</descriptor>
</displays>
</displayList>
</bundle>

View file

@ -1,165 +1,153 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- <bundle>
This_software_was_developed_and_/_or_modified_by_Raytheon_Company, <displayList>
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government. <displays xsi:type="d2DMapRenderableDisplay" magnification="1.0" density="1.0" scale="WFO - XXX" mapCenter="LONGITUDE LATITUDE 0.0" zoomLevel="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<descriptor xsi:type="mapDescriptor">
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<bundle>
<displayList>
<displays xsi:type="d2DMapRenderableDisplay" scale="WFO" density="1.0" magnification="1.0" mapCenter="LONGITUDE LATITUDE 0.0" zoomLevel="1.43193820118904114" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<descriptor xsi:type="mapDescriptor">
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="labelableCapability" labelField="route" xOffset="0" yOffset="0"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="2" outlineOn="true" lineStyle="SOLID"/>
<capability xsi:type="densityCapability" density="0.2"/>
<capability xsi:type="colorableCapability" colorAsString="#cc5000"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>Interstates</mapName>
<table>mapdata.interstate</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties renderingOrderId="MAP_OUTLINE" isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="mapResourceGroupData">
<resource> <resource>
<loadProperties loadWithoutData="false"> <loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="2"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType> <resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties> </loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true"> <properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/> <pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="mapResourceGroupData">
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>World</mapName>
<table>mapdata.world</table>
<constraint>name not in ('UNITED STATES')</constraint>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false">
<pdProps minDisplayWidth="0" maxDisplayWidth="750000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>County Boundaries</mapName>
<table>mapdata.county</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="2" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries Zoom</mapName>
<table>mapdata.states</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<mapName>State/County Boundaries</mapName>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="white"/>
<capability xsi:type="shadeableCapability" opacity="1.0"/>
<capability xsi:type="labelableCapability" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="outlineCapability" outlineWidth="3" outlineOn="true" lineStyle="SOLID"/>
<capability xsi:type="labelableCapability" labelField="CWA"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties> </properties>
<resourceData xsi:type="dbMapResourceData"> <resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries</mapName> <mapName>Local CWA Boundary</mapName>
<table>mapdata.states</table> <table>mapdata.cwa</table>
<constraint>wfo = 'XXX'</constraint>
<geomField>the_geom</geomField> <geomField>the_geom</geomField>
</resourceData> </resourceData>
</resource> </resource>
<resource> <resource>
<loadProperties loadWithoutData="false"> <loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="shadeableCapability" shaded="false"/>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="1"/>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType> <resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#bfbfbf"/>
<capability xsi:type="labelableCapability" labelField="name" xOffset="0" yOffset="0"/>
<capability xsi:type="densityCapability" density="0.4"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<capability xsi:type="pointCapability" pointStyle="CROSS"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties> </loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true"> <properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/> <pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties> </properties>
<resourceData xsi:type="dbMapResourceData"> <resourceData xsi:type="dbPointMapResourceData">
<mapName>County Boundaries</mapName> <mapName>Cities</mapName>
<table>mapdata.county</table> <table>mapdata.city</table>
<geomField>the_geom</geomField> <geomField>the_geom</geomField>
<goodnessField>prog_disc</goodnessField>
</resourceData> </resourceData>
</resource> </resource>
<mapName>State/County Boundaries</mapName> <limitedNumberOfFrames>2147483647</limitedNumberOfFrames>
</resourceData> <gridGeometry rangeX="LOWX HIGHX" rangeY="LOWY HIGHY" envelopeMinX="MINX" envelopeMaxX="MAXX" envelopeMinY="MINY" envelopeMaxY="MAXY">
</resource> <CRS>PROJCS["Mercator_1SP",
<resource> GEOGCS["WGS84(DD)",
<loadProperties loadWithoutData="false"> DATUM["WGS84",
<capabilities> SPHEROID["WGS84", 6378137.0, 298.257223563]],
<capability xsi:type="shadeableCapability" shaded="false"/> PRIMEM["Greenwich", 0.0],
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="3"/> UNIT["degree", 0.017453292519943295],
<capability xsi:type="colorableCapability" colorAsString="#ffffff"/> AXIS["Geodetic longitude", EAST],
</capabilities> AXIS["Geodetic latitude", NORTH]],
<resourceType>PLAN_VIEW</resourceType> PROJECTION["Mercator_1SP"],
</loadProperties> PARAMETER["semi_major", 6371229.0],
<properties renderingOrderId="MAP_OUTLINE" isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" isVisible="true"> PARAMETER["semi_minor", 6371229.0],
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/> PARAMETER["latitude_of_origin", 0.0],
</properties> PARAMETER["central_meridian", 0.0],
<resourceData xsi:type="dbMapResourceData"> PARAMETER["scale_factor", 1.0],
<mapName>Local CWA Boundary</mapName> PARAMETER["false_easting", 0.0],
<table>mapdata.cwa</table> PARAMETER["false_northing", 0.0],
<constraint>wfo = 'XXX'</constraint> UNIT["m", 1.0],
<geomField>the_geom</geomField> AXIS["Easting", EAST],
</resourceData> AXIS["Northing", NORTH]]</CRS>
</resource> </gridGeometry>
<resource> <numberOfFrames>12</numberOfFrames>
<loadProperties loadWithoutData="false"> <timeMatcher xsi:type="d2DTimeMatcher" forecastFilter="0" deltaFilter="0" loadMode="VALID_TIME_SEQ"/>
<resourceType>PLAN_VIEW</resourceType> </descriptor>
<capabilities> </displays>
<capability xsi:type="labelableCapability" labelField="name" xOffset="0" yOffset="0"/> </displayList>
<capability xsi:type="magnificationCapability" magnification="1.0"/> </bundle>
<capability xsi:type="colorableCapability" colorAsString="#D2D2D2"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
<capability xsi:type="densityCapability" density="0.33"/>
<capability xsi:type="pointCapability" pointStyle="CROSS"/>
</capabilities>
</loadProperties>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<pdProps minDisplayWidth="0" maxDisplayWidth="100000000"/>
</properties>
<resourceData xsi:type="dbPointMapResourceData">
<mapName>Cities</mapName>
<table>mapdata.city</table>
<geomField>the_geom</geomField>
<goodnessField>prog_disc</goodnessField>
</resourceData>
</resource>
<timeMatcher xsi:type="d2DTimeMatcher" loadMode="VALID_TIME_SEQ" deltaFilter="0" forecastFilter="0"/>
<numberOfFrames>12</numberOfFrames>
<gridGeometry rangeX="0 23285" rangeY="0 11999" envelopeMinX="-458169.5883173381" envelopeMaxX="564860.5074092833" envelopeMinY="4225559.091044741" envelopeMaxY="4614755.323114651">
<CRS>PROJCS[&quot;Equidistant_Cylindrical&quot;,
GEOGCS[&quot;WGS84(DD)&quot;,
DATUM[&quot;WGS84&quot;,
SPHEROID[&quot;WGS84&quot;, 6378137.0, 298.257223563]],
PRIMEM[&quot;Greenwich&quot;, 0.0],
UNIT[&quot;degree&quot;, 0.017453292519943295],
AXIS[&quot;Geodetic longitude&quot;, EAST],
AXIS[&quot;Geodetic latitude&quot;, NORTH]],
PROJECTION[&quot;Equidistant_Cylindrical&quot;],
PARAMETER[&quot;semi_major&quot;, 6371229.0],
PARAMETER[&quot;semi_minor&quot;, 6371229.0],
PARAMETER[&quot;central_meridian&quot;, LONGITUDE],
PARAMETER[&quot;latitude_of_origin&quot;, LATITUDE],
PARAMETER[&quot;standard_parallel_1&quot;, 0.0],
PARAMETER[&quot;false_easting&quot;, 0.0],
PARAMETER[&quot;false_northing&quot;, 0.0],
UNIT[&quot;m&quot;, 1.0],
AXIS[&quot;Easting&quot;, EAST],
AXIS[&quot;Northing&quot;, NORTH]]</CRS>
</gridGeometry>
</descriptor>
</displays>
</displayList>
</bundle>

View file

@ -45,8 +45,8 @@ options=( 'status' 'start' 'stop' 'log' 'setup' 'purge' 'users')
nopts=${options[@]} nopts=${options[@]}
# find interface for routeable IPs # find interface for routeable IPs
usedev=`netstat -rn | egrep "^0.0.0.0" | awk '{print $8}'` usedev=`netstat -rn | egrep "^0.0.0.0" | awk '{print $8}'| head -1`
IP=`/sbin/ifconfig $usedev | grep "inet addr" | awk '{ print $2 }' | cut -d: -f2` IP=`/sbin/ifconfig $usedev | grep -v "inet6" | grep "inet" | awk '{ print $2 }' | cut -d: -f2`
# truncate # truncate
IP_CIDR="${IP%.*}" IP_CIDR="${IP%.*}"
@ -209,8 +209,8 @@ edit_pg() { # edex pg_hba.conf
} }
edit_ldm() { # edex ldmd.conf and registry.xml edit_ldm() { # edex ldmd.conf and registry.xml
sed -i.setup_$YMD 's/EDEX_HOSTNAME/'$HOSTNAME'/g' $LDMD_CONF sed -i.setup_$YMD 's/EDEX_HOSTNAME/localhost/g' $LDMD_CONF
echo '[edit] Hostname '$HOSTNAME' added to '$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 ' You may need to MANUALLY EDIT the following files'
echo -e '\n'$editCom echo -e '\n'$editCom
echo -e ' for EDEX to work properly. \n' 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 ' Special notes:'
echo -e ' '$PG_FILE' *must* contain your subdomain.' echo -e ' '$PG_FILE' *must* contain your subdomain.'
echo -e ' '$PY_FILE' *must* contain "Group fxalpha", not "Group awips"'
echo '' echo ''
} }

View file

@ -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

View file

@ -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 # rotate logs
0 17 * * * /awips2/ldm/bin/ldmadmin newlog 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