Merge tag 'OB_16.2.1-26' into omaha_16.2.1

16.2.1-26


Former-commit-id: 11e015116e7c0f65c800e16c719e434bb74296dc
This commit is contained in:
Steve Harris 2016-04-25 12:59:39 -05:00
commit fb0b2b7e11
8 changed files with 47 additions and 78 deletions

View file

@ -40,6 +40,9 @@
# Jul 23, 2015 ASM#13849 D. Friedman Use a unique Eclipse configuration directory
# Aug 03, 2015 #4694 dlovely Fixed path for log file cleanup
# Sep 16, 2015 #18041 lshi Purge CAVE logs after 30 days instead of 7
# Apr 20, 2016 #18910 lshi Change CAVE log purging to add check for find commands
# already running
########################
source /awips2/cave/iniLookup.sh
RC=$?
@ -383,11 +386,12 @@ function deleteOldCaveLogs()
local curDir=$(pwd)
local mybox=$(hostname)
echo -e "Cleaning consoleLogs: "
echo -e "find $HOME/$BASE_LOGDIR -type f -name "*.log" -mtime +30 -exec rm {} \;"
find "$HOME/$BASE_LOGDIR" -type f -name "*.log" -mtime +30 -exec rm {} \;
pidof /bin/find > /dev/null
if [[ $? -ne 0 ]] ; then
echo -e "Cleaning consoleLogs: "
echo -e "find $HOME/$BASE_LOGDIR -type f -name "*.log" -mtime +30 | xargs rm "
find "$HOME/$BASE_LOGDIR" -type f -name "*.log" -mtime +30 | xargs rm
fi
exit 0

View file

@ -69,7 +69,7 @@ import com.raytheon.uf.edex.activetable.ActiveTablePyIncludeUtil;
* ------------ ---------- ----------- --------------------------
* Oct 03, 2008 njensen Initial creation
* Jul 10, 2009 #2590 njensen Added multiple site support
* May 12, 2014 #3157 dgilling Re-factor based on AbstractWatchNotifierSrv.
* May 12, 2014 #3157 dgilling Re-factor based on AbstractWatchNotifierSrv.
* Jun 10, 2014 #3268 dgilling Re-factor based on AbstractWatchNotifierSrv.
* Oct 08, 2014 #4953 randerso Refactored AbstractWatchNotifierSrv to allow
* subclasses to handle all watches if desired.
@ -80,6 +80,7 @@ import com.raytheon.uf.edex.activetable.ActiveTablePyIncludeUtil;
* Added call to nwrwavestcv.csh
* Added support for sending TCVAdvisory files to
* VTEC partners
* Apr 13, 1016 #5577 randerso Add support for pre-TCV
* </pre>
*
* @author njensen
@ -99,31 +100,11 @@ public final class TPCWatchSrv extends AbstractWatchNotifierSrv {
private static final String DEFAULT_TPC_SITE = "KNHC";
private static final String ALERT_TXT = "Alert: TCV has arrived from TPC. "
private static final String ALERT_TXT = "Alert: TCV has arrived from NHC. "
+ "Check for 'red' locks (owned by others) on your Hazard grid and resolve them. "
+ "If hazards are separated into temporary grids, please run Mergehazards. "
+ "Next...save Hazards grid. Finally, select PlotTPCEvents from Hazards menu.";
private static final Map<String, String> phensigMap;
private static final Map<String, String> actMap;
static {
Map<String, String> phensigMapTemp = new HashMap<String, String>(5, 1f);
phensigMapTemp.put("HU.A", "Hurricane Watch");
phensigMapTemp.put("HU.S", "Hurricane Local Statement");
phensigMapTemp.put("HU.W", "Hurricane Warning");
phensigMapTemp.put("TR.A", "Tropical Storm Watch");
phensigMapTemp.put("TR.W", "Tropical Storm Warning");
phensigMap = Collections.unmodifiableMap(phensigMapTemp);
Map<String, String> actMapTemp = new HashMap<String, String>(3, 1f);
actMapTemp.put("CON", "Continued");
actMapTemp.put("CAN", "Cancelled");
actMapTemp.put("NEW", "New");
actMap = Collections.unmodifiableMap(actMapTemp);
}
private static final ThreadLocal<PythonScript> pythonScript = new ThreadLocal<PythonScript>() {
/*
@ -188,8 +169,8 @@ public final class TPCWatchSrv extends AbstractWatchNotifierSrv {
boolean practiceMode = (record instanceof PracticeWarningRecord);
String issuingOffice = record.getOfficeid();
// if it's a TCV
if ("TCV".equals(pil)) {
// if it's a TCV or pre-TCV
if ("TCV".equals(pil) || "PTC".equals(pil)) {
super.handleWatch(warningRecs);
}
@ -438,7 +419,7 @@ public final class TPCWatchSrv extends AbstractWatchNotifierSrv {
private Map<String, Object> loadJSONDictionary(LocalizationFile lf) {
if (lf != null) {
PythonScript script = this.pythonScript.get();
PythonScript script = pythonScript.get();
if (script != null) {
Map<String, Object> args = new HashMap<String, Object>();
args.put("localizationType", lf.getContext()
@ -463,7 +444,7 @@ public final class TPCWatchSrv extends AbstractWatchNotifierSrv {
private void saveJSONDictionary(LocalizationFile lf,
Map<String, Object> dict) {
if (lf != null) {
PythonScript script = this.pythonScript.get();
PythonScript script = pythonScript.get();
if (script != null) {
Map<String, Object> args = new HashMap<String, Object>();
args.put("localizationType", lf.getContext()
@ -516,31 +497,6 @@ public final class TPCWatchSrv extends AbstractWatchNotifierSrv {
return null;
}
// create the message
StringBuilder msg = new StringBuilder(ALERT_TXT);
for (String phensigStorm : phensigStormAct.keySet()) {
Collection<String> acts = phensigStormAct.get(phensigStorm);
String[] splitKey = phensigStorm.split(":");
String phensig = splitKey[0];
String storm = splitKey[1];
String t1 = phensigMap.get(phensig);
if (t1 == null) {
t1 = phensig;
}
msg.append(t1 + ": #" + storm + "(");
String sep = "";
for (String a : acts) {
String a1 = actMap.get(a);
if (a1 == null) {
a1 = a;
}
msg.append(sep).append(a1);
sep = ",";
}
msg.append("). ");
}
return msg.toString();
return ALERT_TXT;
}
}

View file

@ -21,7 +21,7 @@
<constraint constraintValue="warning,practicewarning" constraintType="IN"/>
</mapping>
<mapping key="pil">
<constraint constraintValue="TCV,HLS" constraintType="IN"/>
<constraint constraintValue="TCV,HLS,PTC" constraintType="IN"/>
</mapping>
</metadataMap>
</pluginNotification>

View file

@ -9,6 +9,8 @@
## BOOKBINDER 6-15-2015 Corrected bad softball/grapefruit hail sized. ##
## Removed redundant tornado watch phrase from CTA ##
## Bookbinder 10-20-2015 Fixed extraSource var for tornado info ##
## Bookbinder 4-14-2016 Accounted for case where someone inadvertantly ##
## de-selected required source ##
#####################################################################################
## Impact Statements for IBW templates are contained in impactStatements.vm
################################################################
@ -16,7 +18,8 @@
#parse("config.vm")
##SET SOME INITIAL VARIABLES
#set($hazard = "")
#set($source = "")
#set($source = "!** YOU FAILED TO SELECT A SOURCE. PLEASE TYPE ONE OR REGENERATE THIS WARNING **!")
#set($reportAuthSVR = "producing")
#set($torTag = "")
#set($pdssvr = "")
#set($extraSource = "")
@ -444,11 +447,11 @@ Those attending !**EVENT/VENUE NAME OR LOCATION*! are in the path of this storm
## Comment out #parse command below to pull in Dynamic DSS Event Info
## If this feature is utilized, the "specialEvent" bullet (output above) can
## likely be commented out from the impactSevereThunderstormWarning.xml file
##parse("dssEvents.vm")
## #parse("dssEvents.vm")
## parse file command here is to pull in mile marker info
#parse("mileMarkers.vm")
## #parse("mileMarkers.vm")
## parse file command here is to pull in extra points (venues) info
##parse("pointMarkers.vm")
## #parse("pointMarkers.vm")
##################################
######### CALLS TO ACTION ########

View file

@ -20,6 +20,9 @@
## Phil Kurimski 10-20-2015 Added waterspout option to TOR basis ##
## Evan Bookbinder 10-20-2015 fixed extraSource variable usage ##
## Phil Kurimski 10-21-2015 Fixed Tornado Preamble for mixed case ##
## Evan Bookbinder 4-04-2016 "therefore", "and" case/grammar fix in CAN/EXP ##
## Evan Bookbinder 4-14-2016 Added exception case if forecaster ##
## inadvertantly doesn't have a source selected ##
#############################################################################
## Impact Statements for IBW templates are contained in impactStatements.vm
################################################################
@ -48,6 +51,7 @@
##PATHCAST LEAD VARIABLE ADD LATER?????
#if(${phenomena}=="SV")
#set($eventType = "SEVERE THUNDERSTORM")
#set($source = "!** YOU FAILED TO SELECT A SOURCE. PLEASE TYPE ONE OR REGENERATE THIS WARNING **!")
#if(${stormType} == "line")
#set($reportType1 = "severe thunderstorms were")
#set($reportType2 = "these storms were")
@ -189,44 +193,44 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${action}=="EXP" || ${action}=="CAN" || ${action}=="CANCON" || ${CORCAN}=="true")
#### SET A DEFAULT STATEMENT IN CASE NO BULLET WAS SELECTED OR AVAILABLE
#if(${stormType} == "line")
#set($expcanPhrase = "The storms which prompted the warning have !** weakened. moved out of the warned area.**! therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storms which prompted the warning have !** weakened. moved out of the warned area.**! Therefore, the warning ${expcanBODYTag}.")
#else
#if(${phenomena}=="SV")
#set($expcanPhrase = "The severe thunderstorm which prompted the warning has !** weakened. moved out of the warned area. **! therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The severe thunderstorm which prompted the warning has !** weakened. moved out of the warned area. **! Therefore, the warning ${expcanBODYTag}.")
#else
#set($expcanPhrase = "The tornadic thunderstorm which prompted the warning has !** weakened. moved out of the warned area. **! therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The tornadic thunderstorm which prompted the warning has !** weakened. moved out of the warned area. **! Therefore, the warning ${expcanBODYTag}.")
#end
#end
#### WEAKENED BELOW SEVERE LIMITS
#if(${list.contains(${bullets}, "weakened")})
#if(${stormType} == "line")
#if(${phenomena}=="SV")
#set($expcanPhrase = "The storms which prompted the warning have weakened below severe limits, and no longer pose an immediate threat to life or property. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storms which prompted the warning have weakened below severe limits, and no longer pose an immediate threat to life or property. Therefore, the warning ${expcanBODYTag}.")
#else
#set($expcanPhrase = "The storms which prompted the warning have weakened below severe limits, and no longer appear capable of producing a tornado. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storms which prompted the warning have weakened below severe limits, and no longer appear capable of producing a tornado. Therefore, the warning ${expcanBODYTag}.")
#end
#else
#if(${phenomena}=="SV")
#set($expcanPhrase = "The storm which prompted the warning has weakened below severe limits, and no longer pose an immediate threat to life or property. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storm which prompted the warning has weakened below severe limits, and no longer pose an immediate threat to life or property. Therefore, the warning ${expcanBODYTag}.")
#else
#set($expcanPhrase = "The storm which prompted the warning has weakened below severe limits, and no longer appears capable of producing a tornado. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storm which prompted the warning has weakened below severe limits, and no longer appears capable of producing a tornado. Therefore, the warning ${expcanBODYTag}.")
#end
#end
#end
#### MOVED OUT OF THE WARNED AREA
#if(${list.contains(${bullets}, "movedout")})
#if(${stormType} == "line")
#set($expcanPhrase = "The storms which prompted the warning have moved out of the area. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storms which prompted the warning have moved out of the area. Therefore, the warning ${expcanBODYTag}.")
#else
#set($expcanPhrase = "The storm which prompted the warning has moved out of the area. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storm which prompted the warning has moved out of the area. Therefore, the warning ${expcanBODYTag}.")
#end
#end
#### WEAKENED AND MOVED OUT OF THE AREA
#if(${list.contains(${bullets}, "wkndandmoved")})
#if(${stormType} == "line")
#set($expcanPhrase = "The storms which prompted the warning have weakened below severe limits, and have exited the warned area. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storms which prompted the warning have weakened below severe limits, and have exited the warned area. Therefore, the warning ${expcanBODYTag}.")
#else
#set($expcanPhrase = "The storm which prompted the warning has weakened below severe limits, and have exited the warned area. Therefore the warning ${expcanBODYTag}.")
#set($expcanPhrase = "The storm which prompted the warning has weakened below severe limits, and have exited the warned area. Therefore, the warning ${expcanBODYTag}.")
#end
#end
#### SVR UPGRADED TO TOR
@ -287,9 +291,9 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#elseif(${addhailcheck} == "1" && ${addwindcheck} == "1" && ${addraincheck} == "0" )
#set($addthreat = " However ${addhail} and ${addwind} are still possible with ${stormTypePhrase}.")
#elseif(${addhailcheck} == "1" && ${addwindcheck} == "0" && ${addraincheck} == "1" )
#set($addthreat = " However ${addhail} AND ${addrain} are still possible with ${stormTypePhrase}.")
#set($addthreat = " However ${addhail} and ${addrain} are still possible with ${stormTypePhrase}.")
#elseif(${addhailcheck} == "0" && ${addwindcheck} == "1" && ${addraincheck} == "1" )
#set($addthreat = " However ${addwind} AND ${addrain} are still possible with ${stormTypePhrase}.")
#set($addthreat = " However ${addwind} and ${addrain} are still possible with ${stormTypePhrase}.")
#elseif(${addhailcheck} == "1" && ${addwindcheck} == "1" && ${addraincheck} == "1" )
#set($addthreat = " However ${addhail}, ${addwind} and ${addrain} are still possible with ${stormTypePhrase}.")
#end
@ -979,7 +983,7 @@ Those attending the !**EVENT/VENUE NAME OR LOCATION**! are in the path of this s
#end
#end
## parse file command here is to pull in mile marker info
## parse file command here is to pull in DSS info
## #parse("dssEvents.vm")
## parse file command here is to pull in extra locations (venues) info
## #parse("pointMarkers.vm")
@ -1108,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

@ -51,6 +51,8 @@ import com.vividsolutions.jts.geom.Coordinate;
* Sep 16, 2008 randerso Initial creation
* Mar 31, 2014 2689 mpduff Log input values on conversion failure.
* Dec 09, 2015 18391 snaples Updated gridmapper to use CELL CENTER instead of corner.
* Apr 19, 2016 18865 snaples Updated gridmapper to correct an offset in the grid to point mapping.
* Using CELL_CORNER now to fix that issue.
*
* </pre>
*
@ -210,7 +212,7 @@ public class HRAP {
false);
gridMapper = new GridToEnvelopeMapper(gridRange, userRange);
gridMapper.setPixelAnchor(PixelInCell.CELL_CENTER);
gridMapper.setPixelAnchor(PixelInCell.CELL_CORNER);
gridMapper.setReverseAxis(new boolean[] { false, false });
} catch (Exception e) {