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/
.gitignore
ldm/Debug
test-bin/
testbin/
testBin/
bin-test/
bin
*.class
*.pyo
*.pyc

View file

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

View file

@ -436,20 +436,6 @@
</menuContribution>
<menuContribution
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
id="mapControls">
<command
@ -486,6 +472,21 @@
</visibleWhen>
</command>
</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
id="loopControls">
<command

View file

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

View file

@ -188,6 +188,7 @@ import sys, time, os, types, copy, inspect, errno
import LogStream
import AbsTime, TimeRange
import numpy, cPickle
import threading
OUTPUT_DIR = "/tmp/products/autoTest"
@ -298,6 +299,49 @@ class ProcessInfo:
def script(self):
return self.__script
import dynamicserialize
class NotifyTopicListener(threading.Thread):
def __init__(self, hostname="localhost", portNumber=5672, callBack=None):
self.hostname = hostname
self.portNumber = portNumber
self.callBack = callBack
self.topicName = 'edex.alerts.vtec'
self.qs = None
threading.Thread.__init__(self)
def run(self):
from ufpy import QpidSubscriber
if self.qs is not None:
return
self.qs = QpidSubscriber.QpidSubscriber(self.hostname, self.portNumber)
self.qs.topicSubscribe(self.topicName, self.receivedMessage)
def receivedMessage(self, msg):
try:
obj = dynamicserialize.deserialize(msg)
if type(obj) is list:
msgList = obj
else:
msgList = [obj]
for notification in msgList:
if self.callBack is not None:
self.callBack(notification)
except:
import traceback
traceback.print_exc()
def stop(self):
if self.qs is not None:
self.qs.close()
self.qs = None
class ITool (ISmartScript.ISmartScript):
def __init__(self, dbss):
ISmartScript.ISmartScript.__init__(self, dbss)
@ -354,6 +398,10 @@ class ITool (ISmartScript.ISmartScript):
if success is None:
return
# Start NotifyTopicListener
self._notifyListener = NotifyTopicListener(callBack=self.__processNotification)
self._notifyListener.start()
# Run the test scripts
for index in range(len(self._testScript)):
self._runTestScript(index)
@ -361,6 +409,7 @@ class ITool (ISmartScript.ISmartScript):
break
time.sleep(2) # avoid some race conditions with fileChanges
self._notifyListener.stop()
self._finished()
@ -840,18 +889,14 @@ class ITool (ISmartScript.ISmartScript):
if success and entry.get("decodeVTEC", 0):
self.__runVTECDecoder(fcst, drtTime)
# wait until table has been modified or 5 seconds
# count = 0
t1 = time.time();
# time.sleep(0.1);
time.sleep(1)
# while count < 50:
# modTime1 = self._dataMgr.ifpClient().vtecTableModTime(
# "PRACTICE")
# if modTime1 != modTime:
# break
# time.sleep(0.1)
# count = count + 1
while not self.__vtecDecoderFinished:
time.sleep(0.1)
if time.time() - t1 > 20:
self.output("Vtec Decoder timed out!", self._outFile)
break
t2 = time.time();
if self._reportingMode in ["Verbose", "Moderate"]:
self.output("Vtec Decoder wait time: " + "%6.2f" % (t2-t1),
@ -1033,10 +1078,23 @@ class ITool (ISmartScript.ISmartScript):
file.write(fcst)
url = urlparse.urlparse(VizApp.getHttpServer())
commandString = "VTECDecoder -f " + file.name + " -d -a practice -h " + url.hostname
commandString = "VTECDecoder -f " + file.name + " -d -g -a practice -h " + url.hostname
if drtString is not None:
commandString += " -z " + drtString
# start notify listener to listen for vtec change
self.__vtecDecoderFinished = False
self.__expectedPil = fcst.split("\n",2)[1]
os.system(commandString)
def __processNotification(self, notification):
from dynamicserialize.dstypes.com.raytheon.uf.common.activetable import VTECTableChangeNotification
if type(notification) is VTECTableChangeNotification and str(notification.getMode()) == 'PRACTICE':
for change in notification.getChanges():
pil = change.getPil() + change.getXxxid()
if pil == self.__expectedPil:
self.__vtecDecoderFinished = True
break
def main():
os.environ["TZ"] = 'EST5EDT'

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -252,18 +252,18 @@ scripts = [
".SATURDAY...",
"Strong winds.",
"Mostly clear.",
"Frequent light rain.","Widespread light freezing rain.","Lows in the upper 60s.",
"Frequent light rain.","Widespread light freezing rain.","Lows around 60.",
"Highs in the upper 70s.","West winds 45 to 55 mph.",
".SUNDAY...","Strong winds.","Mostly cloudy."," Widespread light freezing rain.",
"Very light snow likely.","Widespread very light sleet.","Lows in the mid 60s.",
"Very light snow likely.","Widespread very light sleet.","Lows in the upper 60s.",
"Highs in the upper 70s.","South winds 55 to 60 mph.",
".MONDAY...","Strong winds.","Mostly cloudy.","Widespread very light sleet.",
"Areas of blowing snow.","Patchy fog.","Lows in the mid 60s.","Highs around 80.",
"Southwest winds around 65 mph.",
"Tide Information...",
"TIDE INFORMATION...",
"At Venice Inlet...",
"AT VENICE INLET...",
"High tide at 2:34 AM",
"Low tide at 10:18 AM",
@ -298,16 +298,16 @@ scripts = [
"Rip current risk....Moderate. A moderate risk of rip currents means wind and or wave conditions support stronger or more frequent rip currents. Always have a flotation device with you in the water.",
"Waterspout threat...Very slight chance of waterspouts.",
".OUTLOOK...",
"Tide Information...",
"TIDE INFORMATION...",
"At Cedar Key...",
"AT CEDAR KEY...",
"High tide 3.1 feet at 4:27 AM",
"Low tide 0.0 feet at 11:15 AM",
"High tide 3.0 feet at 5:42 PM",
"Low tide 0.9 feet at 11:42 PM",
"At Venice Inlet...",
"AT VENICE INLET...",
"High tide 1.6 feet at 2:34 AM",
"Low tide -0.1 feet at 10:18 AM",

View file

@ -281,6 +281,7 @@ scripts = [
"name": "GHG_Complex1_6",
"productType": "Hazard_WSW_Local",
"deleteGrids": [],
"decodeVTEC": 0,
"checkStrings": [
"WWUS42 KTBW 010000",
"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
* of reference data.
* Dec 14, 2015 4816 dgilling Support refactored PythonJobCoordinator API.
* Jun 30, 2016 #5723 dgilling Move safety check from saveRefSet to
* IFPClient.saveReferenceData.
*
* </pre>
*
@ -835,13 +837,6 @@ public class ReferenceSetManager implements IReferenceSetManager,
"SaveRefSet id=" + orefData.getId());
ReferenceData refData = new ReferenceData(orefData);
if (!refData.isQuery()) {
refData.getPolygons(CoordinateType.LATLON);
} else {
refData.setPolygons(null, CoordinateType.LATLON);
}
ServerResponse<?> sr = dataManager.getClient().saveReferenceData(
Arrays.asList(refData));
if (!sr.isOkay()) {

View file

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

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

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
* Nov 05, 2015 5070 randerso Adjust font sizes for dpi scaling
* Dec 05, 2015 18357 xwei Fixed error in opening Timeseries for Timesteps
* Jul 11, 2016 19175 lbousaidi changed the fontSize to 9 to match the default one.
*
* </pre>
*
@ -332,7 +333,7 @@ public class MultiPointResource extends
container.registerMouseHandler(inputManager);
}
fontSize = 8;
fontSize = 9;
font = target.initializeFont("Dialog", fontSize, null);
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
* the list which caused errors.
* May 08, 2012 14958 wkwock prevent go over the list in getGroupModeColor
* Jul 11, 2016 19166 ksteinfeld Prevent TS_COLOR_LIST array index exceeding max array size
*
* </pre>
*
@ -61,7 +62,8 @@ public class HydroUtils {
initializeColorList();
}
return TS_COLOR_LIST.get(index);
// make sure the index does not exceed max array size
return TS_COLOR_LIST.get(index % TS_COLOR_LIST.size());
}
public static RGB getGroupModeColor(int index) {
if (TS_GROUP_COLOR_LIST == null) {

View file

@ -88,6 +88,8 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Oct 23, 2008 1644 mpduff Initial creation
* Jul 11, 2016 19175 lbousaidi changed the fontSize to 9 to match
* the one in the plugin.xml
* </pre>
*
* @author mpduff
@ -111,7 +113,7 @@ public class HydroDisplayManager {
private boolean drawStation = false;
/** Font size */
private int fontSize = 10;
private int fontSize = 9;
/** List of dam data */
private List<DamMaster> damList = null;

View file

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

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

View file

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

View file

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

View file

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

View file

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

View file

@ -3,15 +3,17 @@
# multi-column unique constraint
PSQL="/awips2/psql/bin/psql"
DBUSER=awips
echo "INFO: Altering table tcs"
${PSQL} -U awips -d metadata << EOF
${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction;
alter table tcs
drop constraint if exists uk_tcs_datauri_fields,
drop column if exists datauri,
add constraint uk_tcs_datauri_fields unique
(reftime, producttype, latitude, longitude, stationid);
(reftime, forecasttime, producttype, latitude, longitude, stationid);
drop index if exists tcs_refTimeIndex;
commit transaction;
EOF

View file

@ -3,17 +3,19 @@
# multi-column unique constraint
TABLE=tcg
DBUSER=awips
PSQL="/awips2/psql/bin/psql"
echo "INFO: Altering table ${TABLE}"
${PSQL} -U awips -d metadata << EOF
${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction;
alter table ${TABLE}
drop constraint if exists uk_${TABLE}_datauri_fields,
drop column if exists datauri,
add constraint uk_${TABLE}_datauri_fields unique
(reftime, producttype, modelname, latitude, longitude, stationid);
(reftime, forecasttime, producttype, modelname, latitude, longitude, stationid);
drop index if exists tcg_refTimeIndex;
commit transaction;
EOF

View file

@ -3,12 +3,13 @@
# new multi-column unique constraint
TABLE=bufrsigwx
DBUSER=awips
PSQL="/awips2/psql/bin/psql"
echo "INFO: Altering table ${TABLE}"
${PSQL} -U awips -d metadata << EOF
${PSQL} -U ${DBUSER} -d metadata << EOF
begin transaction;
delete from ${TABLE}
where wxLayer is null
@ -21,6 +22,8 @@ alter table ${TABLE}
alter wxType set not null,
alter key set not null,
add constraint uk_${TABLE}_datauri_fields unique
(reftime, wxLayer, wxType, key);
(reftime, forecasttime, wxLayer, wxType, key);
-- "bufrswigwx" not a typo. name was misspelled when the index was created.
drop index if exists bufrswigwx_refTimeIndex;
commit transaction;
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"
value="com.raytheon.uf.edex.ost.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.npp.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.registry.request.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.registry.client.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.registry.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.remote.script.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.npp.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.registry.request.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.registry.client.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.registry.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.remote.script.feature" />
</antcall>
<antcall target="build">
<param name="feature"
value="edu.wisc.ssec.cimss.edex.convectprob.feature" />
@ -127,6 +127,14 @@
<param name="feature"
value="gov.nasa.msfc.sport.edex.sportlma.feature" />
</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>
<!--

View file

@ -33,6 +33,7 @@
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# Oct 20, 2014 #3685 randerso Changed to support mixed case
# Jul 27, 2016 #5769 randerso Fixed case of MND header
#
##
@ -105,9 +106,9 @@ class TextProduct(GenericReport.TextProduct):
#
# First, generate WMO lines
#
fcst = self._wmoID + " " + self._fullStationID + " " + \
self._ddhhmmTime + "\n" + self._pil + "\n"
s = self._wmoID + " " + self._fullStationID + " " + \
self._ddhhmmTime + "\n" + self._pil + "\n"
fcst = s.upper()
#
# Next, add the non-segmented UGC data
@ -131,7 +132,7 @@ class TextProduct(GenericReport.TextProduct):
s = productName + "\n" + \
"National Weather Service " + self._wfoCityState + \
"\n" + issuedByString + self._timeLabel + "\n\n"
fcst = fcst + s.upper()
fcst = fcst + s
return fcst
def _makeProduct(self, fcst, editArea, areaLabel, argDict):

View file

@ -33,6 +33,7 @@
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# Oct 20, 2014 #3685 randerso Changed to support mixed case
# Jul 27, 2016 #5769 randerso Changed headline to all caps
#
##
@ -123,7 +124,7 @@ class TextProduct(GenericReport.TextProduct):
return fcst
def _makeProduct(self, fcst, editArea, areaLabel, argDict):
fcst = fcst + "...Public Information Statement...\n\n"
fcst = fcst + "...PUBLIC INFORMATION STATEMENT...\n\n"
fcst = fcst + "|* Information goes here *|\n\n"
return fcst

View file

@ -33,6 +33,7 @@
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# Oct 20, 2014 #3685 randerso Changed to support mixed case
# Jul 27, 2016 #5769 randerso Fixed case of MND header
#
##
@ -97,9 +98,9 @@ class TextProduct(GenericReport.TextProduct):
#
# First, generate WMO lines
#
fcst = self._wmoID + " " + self._fullStationID + " " + \
self._ddhhmmTime + "\n" + self._pil + "\n"
s = self._wmoID + " " + self._fullStationID + " " + \
self._ddhhmmTime + "\n" + self._pil + "\n"
fcst = s.upper()
#
# Next, add the non-segmented UGC data
@ -123,7 +124,7 @@ class TextProduct(GenericReport.TextProduct):
s = productName + "\n" + \
"National Weather Service " + self._wfoCityState + \
"\n" + issuedByString + self._timeLabel + "\n\n"
fcst = fcst + s.upper()
fcst = fcst + s
return fcst
def _makeProduct(self, fcst, editArea, areaLabel, argDict):

View file

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

View file

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

View file

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

View file

@ -2,8 +2,8 @@
<latLonGridCoverage>
<name>10000</name>
<description>CONUS domain for MRMS 1km products</description>
<la1>55</la1>
<lo1>230</lo1>
<la1>54.995</la1>
<lo1>230.005</lo1>
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
<nx>7000</nx>
<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>
<name>250160</name>
<description>QPF Grid for TIR (Ohio Basin RFC Wilmington, Ohio)</description>
<la1>36.203</la1>
<lo1>-91.320</lo1>
<la1>36.188</la1>
<lo1>-91.348</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>250</nx>
<ny>260</ny>

View file

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

View file

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

View file

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

View file

@ -21,8 +21,8 @@
<mercatorGridCoverage>
<name>196</name>
<description>Grid over - Hawaii (Mercator)</description>
<la1>18.067</la1>
<lo1>-161.525001</lo1>
<la1>18.073</la1>
<lo1>-161.525</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>321</nx>
<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>
<name>240161</name>
<description>HRAP Grid for ALR (Southeast RFC Peachtree, Georgia)</description>
<la1>27.045</la1>
<lo1>-91.395</lo1>
<la1>27.033</la1>
<lo1>-91.417</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>335</nx>
<ny>412</ny>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -27,8 +27,6 @@ import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.bufrsigwx.common.SigWxLayer;
@ -58,23 +56,17 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Oct 14, 2013 2361 njensen Removed XML annotations and IDecoderGettable
* Jul 23, 2015 2360 rferrel Add name to unique constraint.
* Feb 04, 2015 5309 tgurney Drop dataURI column and update unique constraint.
* Feb 04, 2016 5309 tgurney Drop dataURI column and update unique constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
*
* </pre>
*
* @author jkorman
* @version 1.0
*/
@Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "bufrsigwxseq")
@Table(name = "bufrsigwx", uniqueConstraints = { @UniqueConstraint(name = "uk_bufrsigwx_datauri_fields", columnNames = {
"refTime", "wxLayer", "wxType", "key" }) })
/*
* Both refTime and forecastTime are included in the refTimeIndex since
* forecastTime is unlikely to be used.
*/
@org.hibernate.annotations.Table(appliesTo = "bufrsigwx", indexes = { @Index(name = "bufrswigwx_refTimeIndex", columnNames = {
"refTime", "forecastTime" }) })
"refTime", "forecastTime", "wxLayer", "wxType", "key" }) })
@DynamicSerialize
public class SigWxData extends PersistablePluginDataObject implements
IPointData, IPersistable {

View file

@ -29,8 +29,6 @@ import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
@ -61,22 +59,16 @@ import com.vividsolutions.jts.geom.Coordinate;
* Jul 23, 2015 2360 rferrel Add name to unique constraint.
* Jan 25, 2016 5254 tgurney Remove dataURI column and update unique
* constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
*
* </pre>
*
* @author jsanchez
* @version 1.0
*/
@Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "cwaseq")
@Table(name = "cwa", uniqueConstraints = { @UniqueConstraint(name = "uk_cwa_datauri_fields", columnNames = {
"refTime", "eventId" }) })
/*
* Both refTime and forecastTime are included in the refTimeIndex since
* forecastTime is unlikely to be used.
*/
@org.hibernate.annotations.Table(appliesTo = "cwa", indexes = { @Index(name = "cwa_refTimeIndex", columnNames = {
"refTime", "forecastTime" }) })
"refTime", "forecastTime", "eventId" }) })
@DynamicSerialize
public class CWARecord extends PersistablePluginDataObject implements
IPointData, IPersistable {

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
* Aug 08, 2015 4722 dhladky Dynamic serialize imp not needed.
* Oct 26, 2015 5056 dhladky Simplified Guidance interpolator.
* Jun 21, 2016 5704 dhladky Updated getClosest() logic to include 0.0f checks.
*
* </pre>
*
@ -248,7 +249,7 @@ public class FFMPGuidanceBasin extends FFMPBasin {
if (guidValues.get(checkDate).containsKey(sourceName)) {
float val = guidValues.get(checkDate).get(sourceName);
if (val != FFMPUtils.MISSING) {
if (val != FFMPUtils.MISSING && val != 0.0f) {
long time1 = markerDate.getTime();
long time2 = checkDate.getTime();
@ -284,7 +285,7 @@ public class FFMPGuidanceBasin extends FFMPBasin {
float val = guidValues.get(date).get(sourceName);
if (val != FFMPUtils.MISSING) {
if (val != FFMPUtils.MISSING && val != 0.0f) {
rdate = date;
}
}
@ -299,7 +300,7 @@ public class FFMPGuidanceBasin extends FFMPBasin {
float val2 = guidValues.get(checkDate).get(sourceName);
if (val2 != FFMPUtils.MISSING) {
if (val2 != FFMPUtils.MISSING && val2 != 0.0f) {
long time2 = checkDate.getTime();
// as long as it is +- expiration from orig date,

View file

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

View file

@ -29,8 +29,6 @@ import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.annotations.NullString;
@ -61,23 +59,17 @@ import com.vividsolutions.jts.geom.Geometry;
* Oct 15, 2013 2361 njensen Removed XML annotations
* Jul 28, 2015 4360 rferrel Named unique constraint. Made productType and modelName non-nullable.
* Jan 28, 2016 5286 tgurney Drop dataURI column and update unique constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
*
* </pre>
*
* @author jsanchez
* @version 1.0
*/
@Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcgseq")
@Table(name = "tcg", uniqueConstraints = { @UniqueConstraint(name = "uk_tcg_datauri_fields", columnNames = {
"refTime", "productType", "modelName", "latitude", "longitude",
"stationId" }) })
/*
* Both refTime and forecastTime are included in the refTimeIndex since
* forecastTime is unlikely to be used.
*/
@org.hibernate.annotations.Table(appliesTo = "tcg", indexes = { @Index(name = "tcg_refTimeIndex", columnNames = {
"refTime", "forecastTime" }) })
"refTime", "forecastTime", "productType", "modelName", "latitude",
"longitude", "stationId" }) })
@DynamicSerialize
public class TropicalCycloneGuidance extends PersistablePluginDataObject
implements ISpatialEnabled, IPointData {

View file

@ -30,8 +30,6 @@ import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.annotations.NullString;
@ -63,22 +61,17 @@ import com.vividsolutions.jts.geom.Geometry;
* Jul 23, 2014 3410 bclement location changed to floats
* Jul 28, 2015 4360 rferrel Named unique constraint. Made productType non-nullable.
* Jan 27, 2016 5285 tgurney Remove dataURI column and update unique constraint.
* Aug 04, 2016 5783 tgurney Add forecasttime to unique constraint
*
* </pre>
*
* @author jsanchez
* @version 1.0
*/
@Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "tcsseq")
@Table(name = "tcs", uniqueConstraints = { @UniqueConstraint(name = "uk_tcs_datauri_fields", columnNames = {
"refTime", "productType", "latitude", "longitude", "stationId" }) })
/*
* Both refTime and forecastTime are included in the refTimeIndex since
* forecastTime is unlikely to be used.
*/
@org.hibernate.annotations.Table(appliesTo = "tcs", indexes = { @Index(name = "tcs_refTimeIndex", columnNames = {
"refTime", "forecastTime" }) })
"refTime", "forecastTime", "productType", "latitude", "longitude",
"stationId" }) })
@DynamicSerialize
public class TropicalCycloneSummary extends PersistablePluginDataObject
implements ISpatialEnabled, IPointData {

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

View file

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

View file

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

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.status;bundle-version="1.15.0",
com.raytheon.uf.common.serialization;bundle-version="1.15.1",
com.raytheon.uf.common.time;bundle-version="1.15.0"
com.raytheon.uf.common.time;bundle-version="1.15.0",
org.geotools;bundle-version="10.5.0"
Export-Package: com.raytheon.uf.common.gfe.ifpclient,
com.raytheon.uf.common.gfe.ifpclient.exception

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.DiscreteKey;
import com.raytheon.uf.common.dataplugin.gfe.reference.ReferenceData;
import com.raytheon.uf.common.dataplugin.gfe.reference.ReferenceData.CoordinateType;
import com.raytheon.uf.common.dataplugin.gfe.reference.ReferenceID;
import com.raytheon.uf.common.dataplugin.gfe.request.AbstractGfeRequest;
import com.raytheon.uf.common.dataplugin.gfe.request.CommitGridsRequest;
@ -122,6 +123,7 @@ import com.raytheon.uf.common.time.TimeRange;
* Feb 05, 2016 #5242 dgilling Replace calls to deprecated Localization APIs.
* Feb 24, 2016 #5129 dgilling Change how PyFPClient is constructed.
* Apr 28, 2016 #5618 randerso Fix getGridData to handle "chunked" response.
* Jun 30, 2016 #5723 dgilling Add safety check to saveReferenceData.
*
* </pre>
*
@ -691,6 +693,16 @@ public class IFPClient {
LocalizationContext ctx = pm.getContext(LocalizationType.COMMON_STATIC,
LocalizationLevel.USER);
for (ReferenceData refData : referenceData) {
/*
* A safety check to ensure our XML-format ReferenceData has only
* either the polygons or query field populated.
*/
if (!refData.isQuery()) {
refData.getPolygons(CoordinateType.LATLON);
} else {
refData.setPolygons(null, CoordinateType.LATLON);
}
ILocalizationFile lf = pm.getLocalizationFile(ctx, EDIT_AREAS_DIR
+ IPathManager.SEPARATOR + refData.getId().getName()
+ ".xml");

View file

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

View file

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

View file

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

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.
* Jan 17, 2014 2125 rjpeter Removed invalid @Table annotation.
* Mar 04, 2015 3959 rjpeter Update for grid based subgridding.
* Jun 24, 2016 ASM18440 dfriedman Fix spatial tolerance for degree values.
* </pre>
*
* @author bphillip
@ -268,9 +269,9 @@ public class PolarStereoGridCoverage extends GridCoverage {
public boolean spatialEquals(GridCoverage other) {
if (super.spatialEquals(other)) {
PolarStereoGridCoverage otherPolar = (PolarStereoGridCoverage) other;
if (Math.abs(lad - otherPolar.lad) > SPATIAL_TOLERANCE) {
if (Math.abs(lad - otherPolar.lad) > SPATIAL_TOLERANCE_DEG) {
return false;
} else if (Math.abs(lov - otherPolar.lov) > SPATIAL_TOLERANCE) {
} else if (Math.abs(lov - otherPolar.lov) > SPATIAL_TOLERANCE_DEG) {
return false;
}
return true;

View file

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

View file

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

View file

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

View file

@ -3,9 +3,9 @@
# Tested Operating System(s): RHEL 3, 4, 5, 6
# Tested Run Level(s): 3, 5
# Shell Used: BASH shell
# Original Author(s): Douglas.Gaer@noaa.gov
# Original Author(s): Joseph.Maloney@noaa.gov
# File Creation Date: 01/27/2009
# Date Last Modified: 02/20/2015
# Date Last Modified: 06/15/2016
#
# Contributors:
# Joe Maloney (MFL), Pablo Santos (MFL)
@ -36,6 +36,10 @@
# 20 FEB 2015 - jcm - modified ifpIMAGE line to use ssh -x px2f; fixed
# LOG_FILE at end of script; corrected $site variable
# for kml rsync.
# 10 JUN 2016 - jcm - brought back ghls_active.txt because apparently
# NIDS is using this file in their KML mosiacking
# code instead of just looking at the timestamps
# of the KML files themselves.
#
########################################################################
# CHECK TO SEE IF SITE ID WAS PASSED AS ARGUMENT
@ -128,6 +132,39 @@ ssh -x px2f "unset DISPLAY; ${GFEBINdir}/runProcedure -site ${SITE} -n TCImpactG
# Create legends for KML
${HTI_HOME}/bin/kml_legend.sh
########################################################################
# 2016-06-10 Because it is too challenging for NIDS / IDG to modify
# their script to stop using a file that was discontinued after the 2014
# season, and instead check the age of the kml files directly, and NCO
# will not allow them to divert ONE person to do this the right way,
# every coastal WFO will now have to send up the old ghls_active file
# (even though the ghls is LONG DEAD now)
########################################################################
# get storm number from VTEC in TCV
stormnum=`grep "/O..........................T....Z-......T....Z/" /awips2/edex/data/fxa/trigger/*TCV${SITE} | head -1|cut -c 20-21`
# get storm name from header in TCV
stormname=`grep LOCAL /awips2/edex/data/fxa/trigger/*TCV${SITE} | head -1 | sed -e "s/ LOCAL .*//"`
# get two-digit year
stormyr=`date +%y`
## TEST
#echo "STORM NAME IS: $stormname"
#echo "STORM NUMBER AND YEAR: ${stormnum}${stormyr}"
## TEST
# Trigger the Web side PHP script to display the ACTIVE GHLS logo
date +%s > ${PRODUCTdir}/ghls_active.txt
echo ${stormnum} >> ${PRODUCTdir}/ghls_active.txt
echo ${stormname} >> ${PRODUCTdir}/ghls_active.txt
echo ${stormyr} >> ${PRODUCTdir}/ghls_active.txt
########################################################################
# need to rename two kml's for mosaic code to work
cp ${PRODUCTdir}/StormSurgeThreat.kml.txt ${PRODUCTdir}/CoastalThreat.kml.txt
cp ${PRODUCTdir}/FloodingRainThreat.kml.txt ${PRODUCTdir}/InlandThreat.kml.txt
########################################################################
echo "Copying image and kml files to LDAD for WEB processing" >> $LOG_FILE
/usr/bin/ssh -o stricthostkeychecking=no -x ${LDADuser}@${LDADserver} mkdir -p ${LDAD_DATA} &> /dev/null
/usr/bin/rsync -av --force --progress --stats -e "/usr/bin/ssh -o stricthostkeychecking=no -x" ${PRODUCTdir}/*.txt ${PRODUCTdir}/*.png ${LDADuser}@${LDADserver}:/${LDAD_DATA}/.

View file

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

View file

@ -9,11 +9,17 @@
#
# Download yum repo file from Unidata
#
if [ ! -f /etc/yum.repos.d/awips2.repo ]; then
echo ''
echo 'Downloading awips2repo yum file to /etc/yum.repos.d/awips2.repo'
echo ''
wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo
if [[ $(grep "release 7" /etc/redhat-release) ]]; then
wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/el7.repo
else
wget -O /etc/yum.repos.d/awips2.repo http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo
fi
fi
#

View file

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

View file

@ -41,18 +41,61 @@ if [ -d ${RPM_BUILD_ROOT} ]; then
fi
%build
# Build all WFO site localization Map Scales (Regional.xml, States.xml, WFO.xml)
# Build all WFO site localization Map Scales (Regional.xml and WFO.xml)
BUILD_DIR=%{_baseline_workspace}/rpms/awips2.core/Installer.localization/
UTIL=%{_baseline_workspace}/localization/utility
file=$BUILD_DIR/wfo.dat
#file=$BUILD_DIR/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)
do
lat=$(cat $file |grep $site | cut -f9)
lon=$(cat $file |grep $site | cut -f10)
lat=$(cat $file |grep $site | cut -d"," -f2 | tr -d '[[:space:]]')
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_DIR=$UTIL/cave_static/site/$site
mkdir -p $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 'LATITUDE' $CAVE_DIR | xargs sed -i 's/LATITUDE/'$lat'/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"?>
<!--
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="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">
<bundle>
<displayList>
<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">
<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>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
<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>World</mapName>
<table>mapdata.world</table>
<geomField>the_geom</geomField>
<constraint>name not in ('CANADA', 'MEXICO', 'UNITED STATES')</constraint>
<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</mapName>
<table>mapdata.states</table>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<mapName>State/County Boundaries</mapName>
</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="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",
<limitedNumberOfFrames>2147483647</limitedNumberOfFrames>
<gridGeometry rangeX="LOWX HIGHX" rangeY="LOWY HIGHY" envelopeMinX="MINX" envelopeMaxX="MAXX" envelopeMinY="MINY" envelopeMaxY="MAXY">
<CRS>PROJCS["Mercator_1SP",
GEOGCS["WGS84(DD)",
DATUM["WGS84",
SPHEROID["WGS84", 6378137.0, 298.257223563]],
@ -133,18 +89,21 @@
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH]],
PROJECTION["Lambert_Conformal_Conic_1SP"],
PARAMETER["semi_major", 6371200.0],
PARAMETER["semi_minor", 6371200.0],
PARAMETER["central_meridian", LONGITUDE],
PARAMETER["latitude_of_origin", LATITUDE],
PROJECTION["Mercator_1SP"],
PARAMETER["semi_major", 6371229.0],
PARAMETER["semi_minor", 6371229.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["central_meridian", 0.0],
PARAMETER["scale_factor", 1.0],
PARAMETER["false_easting", 0.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH]]</CRS>
</gridGeometry>
</descriptor>
</displays>
</displayList>
</bundle>
</gridGeometry>
<numberOfFrames>12</numberOfFrames>
<timeMatcher xsi:type="d2DTimeMatcher" forecastFilter="0" deltaFilter="0" loadMode="VALID_TIME_SEQ"/>
</descriptor>
</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"?>
<!--
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="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">
<bundle>
<displayList>
<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">
<resource>
<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>
<capabilities>
<capability xsi:type="colorableCapability" colorAsString="#9b9b9b"/>
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="SOLID"/>
</capabilities>
</loadProperties>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
<properties isVisible="true" isHoverOn="false" isMapLayer="true" isBlinking="false" isSystemResource="false" renderingOrderId="MAP_OUTLINE">
<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>
<resourceData xsi:type="dbMapResourceData">
<mapName>State Boundaries</mapName>
<table>mapdata.states</table>
<mapName>Local CWA Boundary</mapName>
<table>mapdata.cwa</table>
<constraint>wfo = 'XXX'</constraint>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<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>
<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>
<properties isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" opacity="1.0" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
<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>County Boundaries</mapName>
<table>mapdata.county</table>
<resourceData xsi:type="dbPointMapResourceData">
<mapName>Cities</mapName>
<table>mapdata.city</table>
<geomField>the_geom</geomField>
<goodnessField>prog_disc</goodnessField>
</resourceData>
</resource>
<mapName>State/County Boundaries</mapName>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<capabilities>
<capability xsi:type="shadeableCapability" shaded="false"/>
<capability xsi:type="outlineCapability" lineStyle="SOLID" outlineOn="true" outlineWidth="3"/>
<capability xsi:type="colorableCapability" colorAsString="#ffffff"/>
</capabilities>
<resourceType>PLAN_VIEW</resourceType>
</loadProperties>
<properties renderingOrderId="MAP_OUTLINE" isSystemResource="false" isBlinking="false" isMapLayer="true" isHoverOn="false" isVisible="true">
<pdProps maxDisplayWidth="100000000" minDisplayWidth="0"/>
</properties>
<resourceData xsi:type="dbMapResourceData">
<mapName>Local CWA Boundary</mapName>
<table>mapdata.cwa</table>
<constraint>wfo = 'XXX'</constraint>
<geomField>the_geom</geomField>
</resourceData>
</resource>
<resource>
<loadProperties loadWithoutData="false">
<resourceType>PLAN_VIEW</resourceType>
<capabilities>
<capability xsi:type="labelableCapability" labelField="name" xOffset="0" yOffset="0"/>
<capability xsi:type="magnificationCapability" magnification="1.0"/>
<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>
<limitedNumberOfFrames>2147483647</limitedNumberOfFrames>
<gridGeometry rangeX="LOWX HIGHX" rangeY="LOWY HIGHY" envelopeMinX="MINX" envelopeMaxX="MAXX" envelopeMinY="MINY" envelopeMaxY="MAXY">
<CRS>PROJCS["Mercator_1SP",
GEOGCS["WGS84(DD)",
DATUM["WGS84",
SPHEROID["WGS84", 6378137.0, 298.257223563]],
PRIMEM["Greenwich", 0.0],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH]],
PROJECTION["Mercator_1SP"],
PARAMETER["semi_major", 6371229.0],
PARAMETER["semi_minor", 6371229.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["central_meridian", 0.0],
PARAMETER["scale_factor", 1.0],
PARAMETER["false_easting", 0.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH]]</CRS>
</gridGeometry>
<numberOfFrames>12</numberOfFrames>
<timeMatcher xsi:type="d2DTimeMatcher" forecastFilter="0" deltaFilter="0" loadMode="VALID_TIME_SEQ"/>
</descriptor>
</displays>
</displayList>
</bundle>

View file

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

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