Merge branch 'omaha_14.2.1' (14.2.1-13) into development
Former-commit-id:5efb16fa8b
[formerlyd0aeb854f5
] [formerly0c2c5ad4bd
[formerly a2318f04eea89a258400dea526daa4fe67b69271]] Former-commit-id:0c2c5ad4bd
Former-commit-id:b5a2d2237f
This commit is contained in:
commit
5d95d594f8
38 changed files with 4097 additions and 4198 deletions
|
@ -60,6 +60,10 @@
|
|||
<available file="${basedir}/../org.springframework" />
|
||||
</condition>
|
||||
|
||||
<condition property="edexsrc.dir" value="${basedir}/.." else="${basedir}/../../edexOsgi">
|
||||
<available file="${basedir}/../com.raytheon.uf.common.util" />
|
||||
</condition>
|
||||
|
||||
<!-- Set default EDEX install location for copy filter -->
|
||||
<property name="def.edex.install.dir" value="/awips" />
|
||||
<condition property="edex.home" value="$EdexBaseDir" else="${def.edex.install.dir}">
|
||||
|
@ -164,6 +168,8 @@
|
|||
includes="**/*.class" />
|
||||
<fileset dir="tmp/plugins/com.raytheon.rcm.server.mq/@dot"
|
||||
includes="**/*.txt" />
|
||||
<fileset dir="tmp/plugins/com.raytheon.uf.common.util/@dot"
|
||||
includes="**/*.class" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
|
@ -174,6 +180,7 @@
|
|||
<fileset dir="../com.raytheon.rcm.server/bin" includes="**/*.class" />
|
||||
<fileset dir="../com.raytheon.rcm.server.mq/bin" includes="**/*.class" />
|
||||
<fileset dir="../com.raytheon.rcm.server.mq/bin" includes="**/*.txt" />
|
||||
<fileset dir="${edexsrc.dir}/com.raytheon.uf.common.util/bin" includes="**/*.class" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
|
|
|
@ -191,13 +191,18 @@ then
|
|||
PROGRAM_NAME="cave"
|
||||
fi
|
||||
|
||||
LOGDIR="$HOME/caveData/logs/consoleLogs/$hostName/"
|
||||
BASE_LOGDIR=$HOME/caveData/logs/consoleLogs
|
||||
LOGDIR=$BASE_LOGDIR/$hostName/
|
||||
|
||||
|
||||
# make sure directory exists
|
||||
if [ ! -d $LOGDIR ]; then
|
||||
mkdir -p $LOGDIR
|
||||
fi
|
||||
|
||||
# delete any old disk caches in the background
|
||||
deleteOldCaveLogs &
|
||||
|
||||
curTime=`date +%Y%m%d_%H%M%S`
|
||||
|
||||
# At this point fork so that log files can be set up with the process pid and
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
# fixes for INI files with spaces
|
||||
# Feb 20, 2014 #2780 bclement added site type ini file check
|
||||
#
|
||||
#
|
||||
# Mar 13 2014 #15348 kjohnson added function to remove logs
|
||||
|
||||
|
||||
source /awips2/cave/iniLookup.sh
|
||||
|
@ -305,3 +305,21 @@ function logExitStatus()
|
|||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#Delete old CAVE logs DR 15348
|
||||
function deleteOldCaveLogs()
|
||||
{
|
||||
|
||||
local curDir=$(pwd)
|
||||
local mybox=$(hostname)
|
||||
|
||||
echo -e "Cleaning consoleLogs: "
|
||||
echo -e "find $BASE_LOGDIR -type f -name "*.log" -mtime +7 -exec rm {} \;"
|
||||
|
||||
|
||||
find "$BASE_LOGDIR" -type f -name "*.log" -mtime +7 -exec rm {} \;
|
||||
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* header creation.
|
||||
* May 20, 2013 15962 lbousaidi Added a new routine getRadarIdsTrue()
|
||||
* for Radar Sites dialog.
|
||||
*
|
||||
* Mar 05, 2014 17114 lbousaidi display PC data in gage table.
|
||||
* </pre>
|
||||
*
|
||||
* @author mpduff
|
||||
|
@ -620,9 +620,6 @@ public class GageTableDataManager {
|
|||
index = 0;
|
||||
|
||||
for (MPEGageData gage : gageRecordList) {
|
||||
if (!gage.getPe().equalsIgnoreCase("PP")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Map<String, Double> productValueMap = new HashMap<String, Double>();
|
||||
|
||||
|
|
|
@ -30,5 +30,7 @@ insert into awips.satellite_units values (28,'SounderCloudAmountPixel');
|
|||
insert into awips.satellite_units values (29,'RainfallRatePixel');
|
||||
insert into awips.satellite_units values (43,'IRPixel');
|
||||
insert into awips.satellite_units values (48,'IRPixel');
|
||||
insert into awips.satellite_units values (55,'IRPixel');
|
||||
insert into awips.satellite_units values (57,'IRPixel');
|
||||
insert into awips.satellite_units values (60,'PercentOfNormalTPWPixel');
|
||||
insert into awips.satellite_units values (64,'IRPixel');
|
||||
|
|
|
@ -24,6 +24,15 @@
|
|||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Imager 11 micron IR</parameter>
|
||||
<parameter>Imager 12 micron IR</parameter>
|
||||
<parameter>Imager 13 micron (IR)</parameter>
|
||||
<parameter>Imager 3.9 micron IR</parameter>
|
||||
<parameter>Sounder 11.03 micron imagery</parameter>
|
||||
<parameter>Sounder 3.98 micron imagery</parameter>
|
||||
<parameter>Sounder 4.45 micron imagery</parameter>
|
||||
<parameter>Sounder 14.06 micron imagery</parameter>
|
||||
<parameter>Polar IR</parameter>
|
||||
<parameter>Polar 3.7u</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
|
@ -40,6 +49,9 @@
|
|||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Imager 6.7-6.5 micron IR (WV)</parameter>
|
||||
<parameter>Sounder 6.51 micron imagery</parameter>
|
||||
<parameter>Sounder 7.02 micron imagery</parameter>
|
||||
<parameter>Sounder 7.43 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
|
@ -72,6 +84,8 @@
|
|||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Imager Visible</parameter>
|
||||
<parameter>Sounder Visible imagery</parameter>
|
||||
<parameter>Polar Vis</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
|
@ -84,6 +98,7 @@
|
|||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>satDif11u3_9uIR</parameter>
|
||||
<parameter>poesDif11u3_7uIR</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>bit</displayUnits>
|
||||
|
@ -129,166 +144,6 @@
|
|||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Imager 12 micron IR</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Imager 13 micron (IR)</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Imager 3.9 micron IR</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 11.03 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 6.51 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/WV/Gray Scale Water Vapor</defaultColormap>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 7.02 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/WV/Gray Scale Water Vapor</defaultColormap>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 7.43 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/WV/Gray Scale Water Vapor</defaultColormap>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder Visible imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/VIS/ZA (Vis Default)</defaultColormap>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 3.98 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 4.45 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder 14.06 micron imagery</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Sounder Based Derived Lifted Index (LI)</parameter>
|
||||
|
@ -469,65 +324,4 @@
|
|||
</dataMapping>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<!-- Polar Satellite Rules -->
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Polar IR</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Polar Vis</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<range scale="LINEAR">
|
||||
<minValue>0</minValue>
|
||||
<maxValue>255</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/VIS/ZA (Vis Default)</defaultColormap>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>Polar 3.7u</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>C</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>55</minValue>
|
||||
<maxValue>-109</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/IR/CIRA (IR Default)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>40 20 0 -20 -40 -60 -80</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>poesDif11u3_7uIR</parameter>
|
||||
</paramLevelMatches>
|
||||
<imageStyle>
|
||||
<displayUnits>bit</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>-79</minValue>
|
||||
<maxValue>177</maxValue>
|
||||
</range>
|
||||
<defaultColormap>Sat/VIS/CA (Low Light Vis)</defaultColormap>
|
||||
<colorbarLabeling>
|
||||
<values>-50 0 50 100 150</values>
|
||||
</colorbarLabeling>
|
||||
</imageStyle>
|
||||
</styleRule>
|
||||
</styleRuleset>
|
|
@ -14,8 +14,9 @@
|
|||
## Phil Kurimski 02-05-2013 for OB13.2.1-3 Added rain so far section ##
|
||||
## Mike Dangelo 09-18-2013 added code for init pos & pathcasting ##
|
||||
## Evan Bookbinder 09-18-2013 implemented config.vm ##
|
||||
## Mike Rega 01-17-2104 added GP Alaska changes 14.2.1 ##
|
||||
## Mike Dangelo 1/24/2014 made many changes for first bullet to match 10-922
|
||||
## Mike Rega 01-17-2014 added GP Alaska changes 14.2.1 ##
|
||||
## Mike Dangelo 1/24/2014 made many changes for first bullet to match 10-922 ##
|
||||
## Mike Rega 02-27-2014 changed hycType IJ to match 10-922 ##
|
||||
###################################################################################
|
||||
#parse("config.vm")
|
||||
#if(${action} == "EXT")
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
#end
|
||||
#if(${ic} == "IJ")
|
||||
#set ($cause = "AN ICE JAM")
|
||||
#set ($hycType = "FOR ICE JAM FLOODING ")
|
||||
#set ($hycType = "FOR AN ICE JAM ")
|
||||
#end
|
||||
#if(${ic} == "DR")
|
||||
#set ($cause = "A DAM FLOODGATE RELEASE")
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
Phil Kurimski 02-05-2013 Added rain so far section
|
||||
Mike Dangelo 09-18-2013 to optionally allow <trackEnabled>true for pathcasting, and add pointMarker.xml 'include'
|
||||
Phil Kurimski 09-19-2013 added geospatialConfig.xml
|
||||
Mike Rega 01-18-2014 added Alaska GP changes for 14.2.1
|
||||
Mike Dangelo 1/23/2014 added IC and advType group to bottom of bullets (for info only, they are locked anyway, no need to have it at the top)
|
||||
-->
|
||||
<warngenConfig>
|
||||
|
@ -137,6 +138,9 @@ Must be paired with proper vm code (also commented out in arealFloodAdvisoryFoll
|
|||
<bullet bulletName="public" bulletText="Public reported" bulletGroup="advSource" parseString="THE PUBLIC REPORTED"/>
|
||||
<bullet bulletName="lawEnforcement" bulletText="Local law enforcement reported" bulletGroup="advSource" parseString="LOCAL LAW ENFORCEMENT REPORTED"/>
|
||||
<bullet bulletName="emergencyManagement" bulletText="Emergency management reported" bulletGroup="advSource" parseString="EMERGENCY MANAGEMENT REPORTED"/>
|
||||
<!-- added by GP -->
|
||||
<bullet bulletName="onlyGauge" bulletText="Gauge reports" bulletGroup="source" parseString="GAUGE REPORTS "/>
|
||||
<!-- GP end -->
|
||||
<bullet bulletText="*********** EVENT (choose one) *********** " bulletType="title"/>
|
||||
<bullet bulletName="thunder" bulletText="Thunderstorm(s)" bulletGroup="advEvent" parseString=""THUNDERSTORM","-CAUSING","-RAPID RIVER RISES","-MINOR FLOODING OF POOR DRAINAGE""/>
|
||||
<bullet bulletName="plainRain" bulletText="Due to only heavy rain" bulletGroup="advEvent" parseString=""HEAVY RAIN","-THUNDERSTORM","-CAUSING","-RAPID RIVER RISES","-MINOR FLOODING OF POOR DRAINAGE""/>
|
||||
|
@ -192,6 +196,9 @@ Must be paired with proper vm code (also commented out in arealFloodAdvisoryFoll
|
|||
<bullet bulletName="public" bulletText="Public reported" bulletGroup="advSource" parseString="THE PUBLIC REPORTED"/>
|
||||
<bullet bulletName="lawEnforcement" bulletText="Local law enforcement reported" bulletGroup="advSource" parseString="LOCAL LAW ENFORCEMENT REPORTED"/>
|
||||
<bullet bulletName="emergencyManagement" bulletText="Emergency management reported" bulletGroup="advSource" parseString="EMERGENCY MANAGEMENT REPORTED"/>
|
||||
<!-- added by GP -->
|
||||
<bullet bulletName="onlyGauge" bulletText="Gauge reports" bulletGroup="source" parseString="GAUGE REPORTS "/>
|
||||
<!-- GP end -->
|
||||
<bullet bulletText="*********** EVENT (choose one) *********** " bulletType="title"/>
|
||||
<bullet bulletName="thunder" bulletText="Thunderstorm(s)" bulletGroup="advEvent" parseString=""THUNDERSTORM","-CAUSING","-RAPID RIVER RISES","-MINOR FLOODING OF POOR DRAINAGE""/>
|
||||
<bullet bulletName="plainRain" bulletText="Due to only heavy rain" bulletGroup="advEvent" parseString=""HEAVY RAIN","-THUNDERSTORM","-CAUSING","-RAPID RIVER RISES","-MINOR FLOODING OF POOR DRAINAGE""/>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
## Mike Dangelo 09-18-2013 added code for init pos & pathcasting
|
||||
## Evan Bookbinder 9-18-2013 implemented config.vm
|
||||
## Mike Rega 01-18-2014 added Alaska GP changes for 14.2.1
|
||||
## Mike Rega 02-26-2014 changed MND to IMMEDIATE BROADCAST
|
||||
#################################### SET SOME VARIABLES ###################################
|
||||
#parse("config.vm")
|
||||
##
|
||||
|
@ -63,7 +64,7 @@
|
|||
${WMOId} ${vtecOffice} 000000 ${BBBId}
|
||||
FLW${siteId}
|
||||
|
||||
BULLETIN - EAS ACTIVATION REQUESTED
|
||||
BULLETIN - IMMEDIATE BROADCAST REQUESTED
|
||||
#if(${productClass}=="T")
|
||||
TEST...FLOOD WARNING...TEST
|
||||
#else
|
||||
|
|
|
@ -10,22 +10,23 @@
|
|||
## Mike Dangelo 9-18-2013 added initial position and pathcasting options
|
||||
## Evan Bookbinder 9-18-2013 implemented config.vm
|
||||
## Mike Rega 1-18-2014 added Alaska GP changes for 14.2.1
|
||||
## Mike Rega 2-27-2014 changed headline items to match 10-922
|
||||
#################################### SET SOME VARs ###################################
|
||||
#parse("config.vm")
|
||||
#set($hycType = "")
|
||||
#set($floodReason = "")
|
||||
#set($floodType = "FLOODING")
|
||||
#if(${ic} == "SM")
|
||||
#set($hycType = "RAPID SNOWMELT")
|
||||
#set($hycType = "SNOWMELT")
|
||||
#set($floodReason = " RAPID SNOWMELT IS OCCURRING AND WILL CONTINUE TO CAUSE ${floodType}.")
|
||||
#elseif(${ic} == "RS")
|
||||
#set($hycType = "RAIN AND SNOWMELT")
|
||||
#set($floodReason = " RAPID SNOWMELT IS ALSO OCCURRING AND WILL ADD TO THE ${floodType}.")
|
||||
#elseif(${ic} == "IJ")
|
||||
#set($hycType = "ICE JAM FLOODING")
|
||||
#set($hycType = "AN ICE JAM")
|
||||
#set($floodReason = " AN ICE JAM IS OCCURRING AND WILL CONTINUE TO CAUSE ${floodType}.")
|
||||
#elseif(${ic} == "IC")
|
||||
#set($hycType = "AN ICE JAM AND HEAVY RAIN")
|
||||
#set($hycType = "")
|
||||
#set($floodReason = " FLOODING DUE TO AN ICE JAM AND HEAVY RAIN WILL CONTINUE.")
|
||||
#elseif(${ic} == "MC")
|
||||
#set($hycType = "")
|
||||
|
@ -34,11 +35,14 @@
|
|||
#set($hycType = "")
|
||||
#set($floodReason = "")
|
||||
#elseif(${ic} == "DM")
|
||||
#set($hycType = "LEVEE FAILURE")
|
||||
#set($hycType = "A LEVEE FAILURE")
|
||||
#set($floodReason = " FLOODING DUE TO A LEVEE FAILURE WILL CONTINUE.")
|
||||
#elseif(${ic} == "DR")
|
||||
#set($hycType = "DAM GATE RELEASE")
|
||||
#set($floodReason = " FLOODING DUE TO A DAM GATE RELEASE.")
|
||||
#set($hycType = "A DAM FLOODGATE RELEASE")
|
||||
#set($floodReason = " FLOODING DUE TO A DAM FLOODGATE RELEASE WILL CONTINUE.")
|
||||
#elseif(${ic} == "GO")
|
||||
#set($hycType = "A GLACIER-DAMMED LAKE OUTBURST")
|
||||
#set($floodReason = " FLOODING DUE TO A GLACIER-DAMMED LAKE OUTBURST WILL CONTINUE.")
|
||||
#end
|
||||
##
|
||||
######################################################################################
|
||||
|
|
|
@ -214,7 +214,7 @@ THIS IS A TEST MESSAGE. ##
|
|||
#end
|
||||
|
||||
###### mile markers ##############
|
||||
#parse("milemarkers.vm")
|
||||
## #parse("mileMarkers.vm")
|
||||
#####################
|
||||
## CALL TO ACTIONS ##
|
||||
#####################
|
||||
|
@ -425,7 +425,7 @@ THIS IS A TEST MESSAGE. ##
|
|||
|
||||
#end
|
||||
###### mile markers ##############
|
||||
## #parse("milemarkers.vm")
|
||||
## #parse("mileMarkers.vm")
|
||||
|
||||
##################################
|
||||
######### CALLS TO ACTION ########
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
## Evan Bookbinder 9-18-2013 Implemented config.vm
|
||||
## Gene Petrescu 09-19-2013 Added Alaska Modifications (GP comments)
|
||||
## Mike Rega 01-18-2014 added Alaska GP changes for 14.2.1
|
||||
## Mike Rega 03-05-2014 added 3rd bullet text ACROSS THE WARNED AREA
|
||||
#################################### SET SOME VARIABLES ###################################
|
||||
#parse("config.vm")
|
||||
#set($hycType = "")
|
||||
|
@ -25,7 +26,7 @@
|
|||
#set($snowMelt = "")
|
||||
#if(${list.contains(${bullets}, "icrs")})
|
||||
#set($ic = "RS")
|
||||
#set($hycType = "HEAVY RAIN AND EXTREMELY RAPID SNOWMELT IN...")
|
||||
#set($hycType = "EXTREMELY RAPID SNOWMELT IN...")
|
||||
#set($snowMelt = "RAPID SNOWMELT IS ALSO OCCURRING AND WILL ADD TO THE FLOODING. ")
|
||||
#end
|
||||
##
|
||||
|
@ -391,7 +392,8 @@ THE RAIN IS MOVING ##
|
|||
#end
|
||||
#end
|
||||
#else
|
||||
!** LOCATION **! ##
|
||||
ACROSS THE WARNED AREA. ##
|
||||
## !** LOCATION **! ##
|
||||
#end
|
||||
${rainAmount}${isExpected}${snowMelt}${burnScar}
|
||||
|
||||
|
|
|
@ -120,10 +120,10 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
|
|||
...THE FLASH FLOOD WARNING FOR ##
|
||||
### modified by GP
|
||||
#if(${hycType} != "" && ${alaska} == "false")
|
||||
<L> ${hycType}</L> IN ##
|
||||
<L>${hycType}</L> IN ##
|
||||
#end
|
||||
#if(${hycType} != "" && ${alaska} == "true")
|
||||
<L> ${hycType}</L> ##
|
||||
<L>${hycType}</L> ##
|
||||
#end
|
||||
#if(${alaska}=="true")
|
||||
!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! ${expcanHLTag}...
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- CREATED 9-16-2013 EVAN BOOKBINDER WFO EAX
|
||||
<!-- CREATED 9-16-2013 EVAN BOOKBINDER WFO EAX (MODIFIED 2-6-14 CORRECT TYPO)
|
||||
THIS DOCUMENT CONTAINS GLOBAL SPATIAL CONFIGURATION SETTINGS FOR **COUNTY**
|
||||
BASED PRODUCTS. INCLUDE THIS FILE INTO EACH ZONE TEMPLATE'S .XML FILE.
|
||||
BASED PRODUCTS. INCLUDE THIS FILE INTO EACH COUNTY TEMPLATE'S .XML FILE.
|
||||
THIS REPLACES THE PER-TEMPLATE XML SECTIONS BELOW. IF YOU HAVE LOCAL
|
||||
CONFIGURATIONS, YOU CAN EITHER:
|
||||
1.) Copy this file to another geospatialConfig_XXXX.xml file and include
|
||||
|
@ -15,7 +15,7 @@
|
|||
EXISTS TO THIS FILE.
|
||||
-->
|
||||
|
||||
<!-- CREATE PRIMARY areaSource OBJECT TO GENERATE ZONE-BASED INFORMATION OFF WARNGEN HATCHING -->
|
||||
<!-- CREATE PRIMARY areaSource OBJECT TO GENERATE COUNTY-BASED INFORMATION OFF WARNGEN HATCHING -->
|
||||
<areaSource variable="areas">
|
||||
<areaSource>County</areaSource>
|
||||
<inclusionPercent>0</inclusionPercent>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- CREATED 9-16-2013 EVAN BOOKBINDER WFO EAX
|
||||
<!-- CREATED 9-16-2013 EVAN BOOKBINDER WFO EAX (MODIFIED 2-6-14 CORRECT TYPO)
|
||||
THIS DOCUMENT CONTAINS GLOBAL SPATIAL CONFIGURATION SETTINGS FOR **MARINE**
|
||||
BASED PRODUCTS. INCLUDE THIS FILE INTO EACH ZONE TEMPLATE'S .XML FILE.
|
||||
BASED PRODUCTS. INCLUDE THIS FILE INTO EACH MARINE TEMPLATE'S .XML FILE.
|
||||
THIS REPLACES THE PER-TEMPLATE XML SECTIONS BELOW. IF YOU HAVE LOCAL
|
||||
CONFIGURATIONS, YOU CAN EITHER:
|
||||
1.) Copy this file to another geospatialConfig_XXXX.xml file and include
|
||||
|
@ -11,7 +11,7 @@
|
|||
If you have multiple objects with the same name, the last one read is used.
|
||||
|
||||
THIS CHANGE WAS DONE SO THAT CONFIGURATIONS COULD BE MADE IN ONE LOCATION
|
||||
AND NOT ACROSS 20-30 TEMPLATES. A COUNTY-BASED and MARINE-BASED COUNTERPART
|
||||
AND NOT ACROSS 20-30 TEMPLATES. A COUNTY-BASED and ZONE-BASED COUNTERPART
|
||||
EXISTS TO THIS FILE.
|
||||
-->
|
||||
|
||||
|
@ -168,4 +168,4 @@
|
|||
<sort>distance</sort>
|
||||
</sortBy>
|
||||
</pointSource>
|
||||
|
||||
|
||||
|
|
|
@ -112,10 +112,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- following two lines from 14.1.1 baseline, MR not sure why they are so different than GP lines -->
|
||||
<!-- following two lines from 13.5.2 baseline, may need the more complex parseString added to the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT""/> -->
|
||||
<!-- end of 14.1.1 baseline items -->
|
||||
<bullet bulletText="****** REPORTED BY (choose 1) ******" bulletType="title"/>
|
||||
<bullet bulletName="county" bulletText="County dispatch" bulletGroup="reportedBy" bulletDefault="true" parseString="COUNTY DISPATCH REPORTED"/>
|
||||
<bullet bulletName="lawEnforcement" bulletText="Law enforcement" bulletGroup="reportedBy" parseString="LOCAL LAW ENFORCEMENT REPORTED"/>
|
||||
|
@ -195,10 +194,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- next two lines from 14.1.1 baseline - MR not sure why so different from GP lines -->
|
||||
<!-- following two lines from 13.5.2 baseline, may need the more complex parseString added to the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT""/> -->
|
||||
<!-- end 14.1.1 lines -->
|
||||
<bullet bulletText="****** REPORTED BY (choose 1) ******" bulletType="title"/>
|
||||
<bullet bulletName="county" bulletText="County dispatch" bulletGroup="reportedBy" bulletDefault="true" parseString="COUNTY DISPATCH REPORTED"/>
|
||||
<bullet bulletName="lawEnforcement" bulletText="Law enforcement" bulletGroup="reportedBy" parseString="LOCAL LAW ENFORCEMENT REPORTED"/>
|
||||
|
@ -277,10 +275,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- next two lines from 14.1.1 baseline - MR not sure why so different from GP lines -->
|
||||
<!-- following two lines from 13.5.2 baseline, may need the more complex parseString added to the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT""/> -->
|
||||
<!-- end 14.1.1 lines -->
|
||||
<bullet bulletText="****** REPORTED BY (choose 1) ******" bulletType="title"/>
|
||||
<bullet bulletName="county" bulletText="County dispatch" bulletGroup="reportedBy" bulletDefault="true" parseString="COUNTY DISPATCH REPORTED"/>
|
||||
<bullet bulletName="lawEnforcement" bulletText="Law enforcement" bulletGroup="reportedBy" parseString="LOCAL LAW ENFORCEMENT REPORTED"/>
|
||||
|
|
|
@ -48,12 +48,12 @@
|
|||
#elseif(${list.contains(${bullets}, "icejam")})
|
||||
#set($ic = "IJ")
|
||||
#set($hycType = "ICE JAM FLOODING")
|
||||
#set($headline = "FOR ICE JAM FLOODING ")
|
||||
#set($headline = "FOR AN ICE JAM ")
|
||||
#set($reportType1 = "AN ICE JAM ON THE !** **! RIVER AT !** **! BROKE CAUSING FLASH FLOODING DOWNSTREAM")
|
||||
#elseif(${list.contains(${bullets}, "rain")})
|
||||
#set($ic = "RS")
|
||||
#set($hycType = "EXTREMELY RAPID RAIN SNOWMELT")
|
||||
#set($headline = "FOR EXTREMELY RAPID RAIN SNOWMELT ")
|
||||
#set($headline = "FOR EXTREMELY RAPID SNOWMELT ")
|
||||
#set($reportType1 = "RAIN FALLING ON EXISTING SNOWPACK WAS GENERATING FLASH FLOODING FROM EXCESSIVE RUNOFF")
|
||||
#elseif(${list.contains(${bullets}, "volcano")})
|
||||
#set($ic = "SM")
|
||||
|
|
|
@ -100,10 +100,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- next two lines from 14.1.1 baseline - MR not sure why they are so different from GP changes -->
|
||||
<!-- next two lines from 13.5.2 baseline - may need the more complex parseString for the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT""/> -->
|
||||
<!-- end 14.1.1 lines -->
|
||||
<bullet bulletName="siteimminent" bulletText="Dam break - site specific (pick below) - imminent failure" bulletGroup="damic" parseString="THE IMMINENT FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletText="" bulletType="title"/>
|
||||
|
@ -151,10 +150,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- next two lines from 14.1.1 baseline - MR not sure why they are so different from GP changes -->
|
||||
<!-- next two lines from 13.5.2 baseline - may need the more complex parseString for the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT""/> -->
|
||||
<!-- end 14.1.1 lines -->
|
||||
<bullet bulletName="siteimminent" bulletText="Dam break - site specific (pick below) - imminent failure" bulletGroup="damic" parseString="THE IMMINENT FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletText="" bulletType="title"/>
|
||||
|
@ -198,10 +196,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- next two lines from 14.1.1 baseline - MR not sure why they are so different from GP changes -->
|
||||
<!-- next two lines from 13.5.2 baseline - may need the more complex parseString for the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC","TORRENT""/> -->
|
||||
<!-- end 14.1.1 lines -->
|
||||
<bullet bulletName="siteimminent" bulletText="Dam break - site specific (pick below) - imminent failure" bulletGroup="damic" parseString="THE IMMINENT FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletText="" bulletType="title"/>
|
||||
|
@ -288,10 +285,9 @@ turned on unless the corresponding .vm file is turned on in a given template's .
|
|||
<bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString="VOLCANIC INDUCED SNOWMELT" showString=".SM."/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="VOLCANIC INDUCED DEBRIS FLOW" showString=".SM."/>
|
||||
<!-- GP end -->
|
||||
<!-- next two lines from 14.1.1 baseline - MR not sure why they are so different from GP changes -->
|
||||
<!-- next two lines from 13.5.2 baseline - may need the more complex parseString for the GP changes above -->
|
||||
<!-- <bullet bulletName="volcano" bulletText="Volcano induced snowmelt" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","-MELTING OF SNOW AND ICE","-TORRENT"" showString=""VOLCANIC","-TORRENT""/>
|
||||
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString=""VOLCANIC SNOWMELT","MELTING OF SNOW AND ICE","TORRENT"" showString=""VOLCANIC","TORRENT""/> -->
|
||||
<!-- end 14.1.1 lines -->
|
||||
<bullet bulletName="siteimminent" bulletText="Dam break - site specific (pick below) - imminent failure" bulletGroup="damic" parseString="THE IMMINENT FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString=""DAM",".DM.","-LEVEE""/>
|
||||
<bullet bulletText="" bulletType="title"/>
|
||||
|
|
|
@ -77,9 +77,10 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery;
|
|||
* for merge logic.
|
||||
* May 14, 2013 1842 dgilling Also delete cluster locks when purging
|
||||
* PRACTICE active table.
|
||||
* Jun 11, 2013 2083 randerso Log active table changes
|
||||
* Jun 11, 2013 2083 randerso Log active table changes
|
||||
* Aug 29, 2013 1843 dgilling Move ETN related methods to
|
||||
* GetNextEtnUtil.
|
||||
* Mar 06, 2014 2883 randerso Pass siteId into python code
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -241,8 +242,8 @@ public class ActiveTable {
|
|||
mode = ActiveTableMode.OPERATIONAL;
|
||||
}
|
||||
|
||||
MergeResult result = filterTable(getActiveTable(siteId, mode),
|
||||
newRecords, mode, offsetSecs);
|
||||
MergeResult result = filterTable(siteId,
|
||||
getActiveTable(siteId, mode), newRecords, mode, offsetSecs);
|
||||
|
||||
updateTable(siteId, result, mode);
|
||||
|
||||
|
@ -256,6 +257,8 @@ public class ActiveTable {
|
|||
* Runs the new VTEC products against the legacy logic to update the active
|
||||
* table
|
||||
*
|
||||
* @param siteId
|
||||
* the ID of the ingest site
|
||||
* @param activeTable
|
||||
* the current active table
|
||||
* @param newRecords
|
||||
|
@ -263,10 +266,12 @@ public class ActiveTable {
|
|||
* @return a list of size 2, with the first inner list being the updated
|
||||
* active table and the second being the purged records
|
||||
*/
|
||||
private MergeResult filterTable(List<ActiveTableRecord> activeTable,
|
||||
private MergeResult filterTable(String siteId,
|
||||
List<ActiveTableRecord> activeTable,
|
||||
List<ActiveTableRecord> newRecords, ActiveTableMode mode,
|
||||
float offsetSecs) {
|
||||
HashMap<String, Object> args = new HashMap<String, Object>(5, 1.0f);
|
||||
args.put("siteId", siteId);
|
||||
args.put("activeTable", activeTable);
|
||||
args.put("newRecords", newRecords);
|
||||
args.put("logger", changeLog);
|
||||
|
|
|
@ -26,12 +26,12 @@
|
|||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# 06/11/13 #2083 randerso Log active table changes, save backups
|
||||
# 03/06/14 #2883 randerso Pass siteId into mergeFromJava
|
||||
#
|
||||
|
||||
import time
|
||||
import copy
|
||||
import os
|
||||
import siteConfig
|
||||
import VTECTableUtil, VTECTableSqueeze, VTECPartners
|
||||
import LogStream, ActiveTableVtec, ActiveTableRecord
|
||||
from java.util import ArrayList
|
||||
|
@ -248,14 +248,12 @@ class ActiveTable(VTECTableUtil.VTECTableUtil):
|
|||
|
||||
return outTable, purgedRecords, changes, changedFlag
|
||||
|
||||
def mergeFromJava(activeTable, newRecords, logger, mode, offsetSecs=0):
|
||||
def mergeFromJava(siteId, activeTable, newRecords, logger, mode, offsetSecs=0):
|
||||
pyActive = []
|
||||
szActive = activeTable.size()
|
||||
for i in range(szActive):
|
||||
pyActive.append(ActiveTableRecord.ActiveTableRecord(activeTable.get(i)))
|
||||
|
||||
siteId = siteConfig.GFESUITE_SITEID
|
||||
|
||||
decoderSites = VTECPartners.VTEC_DECODER_SITES
|
||||
decoderSites.append(VTECPartners.get4ID(siteId))
|
||||
decoderSites.append(VTECPartners.VTEC_SPC_SITE)
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
# 04/06/2012 10388 D. Friedman Initial version
|
||||
# 10/09/12 DR 13901 D. Friedman Limit execution time
|
||||
# 06/13/2013 DR 16242 D. Friedman Add Qpid authentication info
|
||||
# 03/06/2014 DR 17907 D. Friedman Workaround for issue QPID-5569
|
||||
##############################################################################
|
||||
|
||||
import getopt
|
||||
|
@ -53,7 +54,8 @@ def send_message(connection, notif):
|
|||
|
||||
props = session.delivery_properties(routing_key=TOPIC_NAME)
|
||||
head = session.message_properties(application_headers={'sender':notif.sender,
|
||||
'response':notif.response})
|
||||
'response':notif.response},
|
||||
user_id=QPID_USERNAME) # For issue QPID-5569. Fixed in Qpid 0.27
|
||||
session.message_transfer(destination=DESTINATION, message=Message(props, head, notif.messageId))
|
||||
session.close(timeout=10)
|
||||
connection.close()
|
||||
|
|
2
nativeLib/files.native/awipsShare/hydroapps/whfs/bin/run_update_nrldb.ksh
Executable file → Normal file
2
nativeLib/files.native/awipsShare/hydroapps/whfs/bin/run_update_nrldb.ksh
Executable file → Normal file
|
@ -12,7 +12,7 @@ export BIN_DIR=`get_apps_defaults whfs_bin_dir"`
|
|||
export NRLDB_LOG=`get_apps_defaults nrldb_log`
|
||||
export NRLDB_CONFIG=`get_apps_defaults nrldb_config`
|
||||
export NRLDB_DATA=`get_apps_defaults nrldb_data`
|
||||
#export NRLDB_TMP=`get_apps_defaults nrldb_tmp`
|
||||
export NRLDB_TMP=`get_apps_defaults nrldb_tmp`
|
||||
export db_name=`get_apps_defaults db_name`
|
||||
export PGHOST=`get_apps_defaults pghost`
|
||||
|
||||
|
|
Binary file not shown.
|
@ -477,8 +477,8 @@ float cave_ship(){
|
|||
|
||||
t500 = i_temp(500, I_PRES);
|
||||
lr75 = lapse_rate(&ix1, 700, 500);
|
||||
fzlh = agl(i_hght(temp_lvl( 0, &ix1 ), I_PRES));
|
||||
//fzlh = mtof(agl(i_hght(temp_lvl(0, &ix1), I_PRES)));
|
||||
// Chin V9 was:: fzlh = agl(i_hght(temp_lvl( 0, &ix1 ), I_PRES));
|
||||
fzlh = mtof(agl(i_hght(temp_lvl(0, &ix1), I_PRES)));//Chin: according to bignsharpV2013Jun12
|
||||
ship = sig_hail(mucape, mumixr, lr75, t500, kt_to_mps(shr6), fzlh, mucinh, 0, 0, 25, mlcape);
|
||||
/* ----- Set Parcel Back ----- */
|
||||
if (oldlplchoice == 1)
|
||||
|
@ -861,122 +861,148 @@ void low_inv ( float *inv_mb, float *inv_dC )
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void mix_height ( float *mh_mb, float *mh_drct, float *mh_sped,
|
||||
float *mh_dC, float *mh_lr, float *mh_drct_max,
|
||||
float *mh_sped_max, short flag )
|
||||
/************************************************************************
|
||||
* OPC MODIFICATION - J. Morgan 5/3/05 *
|
||||
* MIX_HEIGHT - New function *
|
||||
* *
|
||||
* MIX_HEIGHT *
|
||||
* J. Morgan OPC *
|
||||
* *
|
||||
* Calculates the mixing height. *
|
||||
* flag = 0 Surface-based lapse rate *
|
||||
* flag = 1 Layer-based lapse rate *
|
||||
* *
|
||||
* mh_mb - Pressure at mixing height (mb) *
|
||||
* mh_drct - Wind direction at mixing height (deg) *
|
||||
* mh_sped - Wind speed at mixing height (kt) *
|
||||
* mh_dC - Layer change in temperature (C) *
|
||||
* mh_lr - Layer lapse rate (C/km) *
|
||||
* mh_drct_max - Layer maximum wind direction (deg) *
|
||||
* mh_sped_max - Layer maximum wind speed (kt) *
|
||||
* *
|
||||
* Called by xwvid1.c: draw_skewt() *
|
||||
* Called by xwvid3.c: show_mixheight() *
|
||||
*
|
||||
* Chin:: not in BigNsharp, therefore ported to here. 6/8/2011
|
||||
***********************************************************************/
|
||||
void mix_height ( float *mh_pres, float *mh_drct, float *mh_sped,
|
||||
float *mh_dC, float *mh_lr, float *mh_drct_max,
|
||||
float *mh_sped_max, short flag )
|
||||
/****************************************************************************
|
||||
* mix_height *
|
||||
* *
|
||||
* This function modifies original mix_height funtion which *
|
||||
* computes hydro meteorological parameters within empirical mix *
|
||||
* boundary layer. *
|
||||
* *
|
||||
* Calculates the mixing height. *
|
||||
* *
|
||||
* mh_pres - Pressure at mixing height (mb) *
|
||||
* mh_drct - Wind direction at mixing height (deg) *
|
||||
* mh_sped - Wind speed at mixing height (kts) *
|
||||
* mh_dC - Layer change in temperature (C) *
|
||||
* mh_lr - Layer lapse rate (C/km) *
|
||||
* mh_drct_max - Layer maximum wind direction (deg) *
|
||||
* mh_sped_max - Layer maximum wind speed (kts) *
|
||||
* flag - 0: Surface-based lapse rate *
|
||||
* 1: Layer-based lapse rate *
|
||||
* *
|
||||
* Chin:: not in BigNsharp, therefore ported to here. 6/8/2011 * *
|
||||
* J. Morgan 5/2005 Created *
|
||||
* T. Lee 2/2014 Cleanup and fixed surface based and layer based *
|
||||
* parameters always have same values *
|
||||
****************************************************************************/
|
||||
{
|
||||
short ii, bb, b_1;
|
||||
float thresh, lapser, lapser_1, mdrct, msped, drct, sped;
|
||||
float dt, dz;
|
||||
short pIndex, zIndex, tIndex, drIndex, spIndex;
|
||||
pIndex = getParmIndex("PRES");
|
||||
zIndex = getParmIndex("HGHT");
|
||||
tIndex = getParmIndex("TEMP");
|
||||
spIndex = getParmIndex("SPED");
|
||||
drIndex = getParmIndex("DRCT");
|
||||
if (!sndg || pIndex == -1 || zIndex == -1 || tIndex == -1 || drIndex == -1 || spIndex == -1) return;
|
||||
short ii, bb, b_1;
|
||||
float thresh, lapse_rate, lapser_1, mxdrct, mxsped, drct, sped;
|
||||
float dt, dz;
|
||||
short pIndex, zIndex, tIndex, drIndex, spIndex;
|
||||
Boolean first_level = True;
|
||||
|
||||
*mh_mb = -9999;
|
||||
*mh_drct = -9999;
|
||||
*mh_sped = -9999;
|
||||
*mh_dC = -9999;
|
||||
*mh_lr = -9999;
|
||||
*mh_drct_max = -9999;
|
||||
*mh_sped_max = -9999;
|
||||
pIndex = getParmIndex("PRES");
|
||||
zIndex = getParmIndex("HGHT");
|
||||
tIndex = getParmIndex("TEMP");
|
||||
spIndex = getParmIndex("SPED");
|
||||
drIndex = getParmIndex("DRCT");
|
||||
if (!sndg || pIndex == -1 || zIndex == -1 || tIndex == -1 || drIndex == -1 || spIndex == -1) return;
|
||||
|
||||
thresh = 8.3;
|
||||
lapser_1 = 0.0;
|
||||
mdrct = 0.0;
|
||||
msped = 0.0;
|
||||
drct = 0.0;
|
||||
sped = 0.0;
|
||||
*mh_pres = -9999;
|
||||
*mh_drct = -9999;
|
||||
*mh_sped = -9999;
|
||||
*mh_dC = -9999;
|
||||
*mh_lr = -9999;
|
||||
*mh_drct_max = -9999;
|
||||
*mh_sped_max = -9999;
|
||||
|
||||
for ( ii = 0; ii < numlvl-1; ii++ ) {//Chin
|
||||
thresh = 8.3;
|
||||
lapser_1 = 0.0;
|
||||
mxdrct = 0.0;
|
||||
mxsped = 0.0;
|
||||
drct = 0.0;
|
||||
sped = 0.0;
|
||||
|
||||
if ( qc( sndg[ii+1][tIndex] ) && qc( sndg[ii][tIndex] )) {
|
||||
/* ----- Set Method Values ----- */
|
||||
if( flag == 0 ) {
|
||||
bb = 0;
|
||||
b_1 = 0;
|
||||
}
|
||||
else {
|
||||
bb = ii;
|
||||
b_1 = ii-1;
|
||||
}
|
||||
for ( ii = 0; ii < numlvl-1; ii++ ) {//Chin
|
||||
|
||||
/* ----- Calculate Lapse Rate ----- */
|
||||
dt = sndg[ii+1][tIndex] - sndg[bb][tIndex] ;
|
||||
dz = sndg[ii+1][zIndex] - sndg[bb][zIndex];
|
||||
lapser = (dt / dz)*-1000;
|
||||
if ( qc( sndg[ii+1][tIndex] ) ) { //TL
|
||||
/* ----- Set Method Values ----- */
|
||||
if( flag == 0 ) {
|
||||
bb = 0;
|
||||
b_1 = 0;
|
||||
}
|
||||
else {
|
||||
bb = ii;
|
||||
b_1 = ii-1;
|
||||
}
|
||||
|
||||
/* ----- Test Lapse Rate ----- */
|
||||
if ( lapser > thresh ) {
|
||||
if ( first_level ) {
|
||||
mxdrct = sndg[0][drIndex];
|
||||
mxsped = sndg[0][spIndex];
|
||||
*mh_drct = sndg[0][drIndex];
|
||||
*mh_sped = sndg[0][spIndex];
|
||||
}
|
||||
|
||||
/* ----- Store Maximum Wind Data ----- */
|
||||
drct = sndg[ii][drIndex];
|
||||
sped = sndg[ii][spIndex];
|
||||
if ( drct > mdrct ) {
|
||||
mdrct = drct;
|
||||
msped = sped;
|
||||
}
|
||||
}
|
||||
else if( ii == 0 ) { /* ----- Surface Test failed, Mixing Height=Surface ----- */
|
||||
*mh_mb = sndg[ii][pIndex];
|
||||
*mh_drct = sndg[ii][drIndex];
|
||||
*mh_sped = sndg[ii][spIndex];
|
||||
*mh_dC = -(sndg[ii+1][tIndex] - sndg[ii][tIndex] );
|
||||
*mh_lr = lapser;
|
||||
*mh_drct_max = sndg[ii][drIndex];
|
||||
*mh_sped_max = sndg[ii][spIndex];
|
||||
/* ----- Calculate Lapse Rate ----- */
|
||||
if ( qc ( snd[bb][tIndex] ) ) {
|
||||
dt = sndg[ii+1][tIndex] - sndg[bb][tIndex];
|
||||
dz = sndg[ii+1][zIndex] - sndg[bb][zIndex];
|
||||
} else {
|
||||
dt = sndg[ii+1][tIndex] - sndg[0][tIndex];
|
||||
dz = sndg[ii+1][zIndex] - sndg[0][zIndex];
|
||||
}
|
||||
lapse_rate = (dt / dz)*-1000;
|
||||
|
||||
return;
|
||||
}
|
||||
else if( ii > 0 ) { /* ----- Above Mixing Height ----- */
|
||||
/* ----- Calculate Previous Rate ----- */
|
||||
dt = sndg[ii][tIndex] - sndg[b_1][tIndex] ;
|
||||
dz = sndg[ii][zIndex] - sndg[b_1][zIndex];
|
||||
lapser_1 = (dt / dz)*-1000;
|
||||
}
|
||||
if(ii!=0){ //Chin
|
||||
*mh_mb = sndg[ii-1][pIndex];
|
||||
*mh_drct = sndg[ii-1][drIndex];
|
||||
*mh_sped = sndg[ii-1][spIndex];
|
||||
*mh_dC = -(sndg[ii][tIndex] - sndg[b_1][tIndex] );
|
||||
*mh_lr = lapser_1;
|
||||
*mh_drct_max = mdrct;
|
||||
*mh_sped_max = msped;
|
||||
/* ----- Test Lapse Rate ----- */
|
||||
if ( lapse_rate > thresh ) {
|
||||
first_level = False;
|
||||
|
||||
}
|
||||
/* ----- Store Maximum Wind Data ----- */
|
||||
if ( qc (sndg[ii+1][drIndex] ) ) {
|
||||
drct = sndg[ii+1][drIndex];
|
||||
sped = sndg[ii+1][spIndex];
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ( sped >= mxsped ) { // TL
|
||||
mxdrct = drct;
|
||||
mxsped = sped;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if( first_level ) { /* ----- Surface Test failed, Mixing Height=Surface ----- */
|
||||
*mh_pres = sndg[0][pIndex];
|
||||
*mh_drct = sndg[0][drIndex];
|
||||
*mh_sped = sndg[0][spIndex];
|
||||
*mh_dC = -(sndg[ii+1][tIndex] - sndg[0][tIndex]);
|
||||
*mh_lr = lapse_rate;
|
||||
*mh_drct_max = sndg[0][drIndex];
|
||||
*mh_sped_max = sndg[0][spIndex];
|
||||
|
||||
return;
|
||||
}
|
||||
else if( ii > 0 ) { /* ----- Above Mixing Height ----- */
|
||||
/* ----- Calculate lapse rate within mixing layer ----- */
|
||||
if ( qc ( sndg[b_1][tIndex]) ) {
|
||||
dt = sndg[ii][tIndex] - sndg[b_1][tIndex];
|
||||
dz = sndg[ii][zIndex] - sndg[b_1][zIndex];
|
||||
} else {
|
||||
dt = sndg[ii][tIndex] - sndg[0][tIndex];
|
||||
dz = sndg[ii][zIndex] - sndg[0][zIndex];
|
||||
}
|
||||
*mh_dC = -dt;
|
||||
if ( dz != 0. ) lapser_1 = (dt / dz)*-1000;
|
||||
*mh_pres = sndg[ii][pIndex];
|
||||
if ( qc (sndg[ii][drIndex] ) ) {
|
||||
*mh_drct = sndg[ii][drIndex];
|
||||
*mh_sped = sndg[ii][spIndex];
|
||||
} else {
|
||||
*mh_drct = drct;
|
||||
*mh_sped = sped;
|
||||
}
|
||||
*mh_lr = lapser_1;
|
||||
*mh_drct_max = mxdrct;
|
||||
*mh_sped_max = mxsped;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int cave_ww_type()
|
||||
/********************************************************************/
|
||||
/* Watch type guidance */
|
||||
|
@ -993,6 +1019,9 @@ int cave_ww_type()
|
|||
* 3: MRGL TOR, color 2 red
|
||||
* 4: TOR, color 2 red
|
||||
* 5: PDS TOR, color 7 Magenta
|
||||
*
|
||||
*
|
||||
* Chin: 10/2/2013 : modified according to BigNsharpV2013-06-12
|
||||
*/
|
||||
/********************************************************************/
|
||||
{
|
||||
|
@ -1077,15 +1106,16 @@ int cave_ww_type()
|
|||
/*printf("sig_tor=%f sig_tor_winter=%f srh1=%f esrh=%f sr46_spd=%f shr8=%f sblcl=%f\n mllcl=%f lr1=%f bot=%f low_mid_rh=%f rm_scp=%f\n mucn=%f dncp=%f sighail=%f cbsig=%f wind_dmg=%f",
|
||||
sig_tor,sig_tor_winter,srh1,esrh,sr46_spd,shr8, sblcl, mllcl, lr1, bot, low_mid_rh, rm_scp,mucn, dncp, sighail, cbsig, wind_dmg);
|
||||
Decision tree below is identical to the operational "ww_type" flow chart documentation 9/23/09 RLT */
|
||||
if ((sig_tor >= 3.0) && (sig_tor_winter >= 3.0) && (srh1 >= 150) && (esrh >= 150) && (sr46_spd >= 15.0) && (shr8 >= 40.0) && (sblcl < 1000) && (mllcl < 1100) && (lr1 >= 5.0) && (bot == 0.0)) {
|
||||
if ((sig_tor >= 3.0) && (sig_tor_winter >= 4.0) && (srh1 >=200) && (esrh >= 200) && (sr46_spd >= 15.0) && (shr8 >= 45.0) && (sblcl < 1000) && (mllcl < 1200) && (lr1 >= 5.0) && (mlcn > -50.0) && (bot == 0.0)) {
|
||||
// Chin V9 was::if ((sig_tor >= 3.0) && (sig_tor_winter >= 3.0) && (srh1 >= 150) && (esrh >= 150) && (sr46_spd >= 15.0) && (shr8 >= 40.0) && (sblcl < 1000) && (mllcl < 1100) && (lr1 >= 5.0) && (bot == 0.0)) {
|
||||
//*dcp = 1;
|
||||
//*wwtype = 5;
|
||||
ww_choice = 5;
|
||||
|
||||
/*outgtext( "PDS TOR", tlx + 45, tly + 60 );*/
|
||||
}
|
||||
|
||||
else if (((sig_tor >= 3.0) || (sig_tor_winter >= 4.0)) && (bot == 0.0)) {
|
||||
else if (((sig_tor >= 3.0) || (sig_tor_winter >= 4.0)) && (mlcn > -125.0) && (bot == 0.0)) {
|
||||
// Chin V9 was::else if (((sig_tor >= 3.0) || (sig_tor_winter >= 4.0)) && (bot == 0.0)) {
|
||||
//*dcp = 3;
|
||||
//*wwtype = 4;
|
||||
ww_choice = 4;
|
||||
|
@ -1093,7 +1123,8 @@ int cave_ww_type()
|
|||
/*outgtext( "TOR", tlx + 45, tly + 60 );*/
|
||||
}
|
||||
|
||||
else if (((sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && ((sr46_spd >= 15.0) || (shr8 >= 40.0)) && (bot == 0.0)) {
|
||||
else if (((sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && ((sr46_spd >= 15.0) || (shr8 >= 40.0)) && (mlcn > -75.0) && (bot == 0.0)) {
|
||||
// Chin V9 was::if (((sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && ((sr46_spd >= 15.0) || (shr8 >= 40.0)) && (bot == 0.0)) {
|
||||
//*dcp = 4;
|
||||
//*wwtype = 4;
|
||||
ww_choice = 4;
|
||||
|
@ -1101,7 +1132,8 @@ int cave_ww_type()
|
|||
/*outgtext( "TOR", tlx + 45, tly + 60 );*/
|
||||
}
|
||||
|
||||
else if (((sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && (low_mid_rh >= 60) && (lr1 >= 5.0) && (bot == 0.0)) {
|
||||
else if (((sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && (low_mid_rh >= 60) && (lr1 >= 5.0) && (mlcn > -50.0) && (bot == 0.0)) {
|
||||
// Chin V9 was::if if (((sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && (low_mid_rh >= 60) && (lr1 >= 5.0) && (bot == 0.0)) {
|
||||
//*dcp = 5;
|
||||
//*wwtype = 4;
|
||||
ww_choice = 4;
|
||||
|
@ -1110,7 +1142,8 @@ int cave_ww_type()
|
|||
outgtext( "TOR", tlx + 45, tly + 60 );*/
|
||||
}
|
||||
|
||||
else if ((( sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && (bot == 0.0)) {
|
||||
else if ((( sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && (mlcn > -150.0) && (bot == 0.0)) {
|
||||
// Chin V9 was:: if ((( sig_tor >= 1.0) || (sig_tor_winter >= 1.0)) && (bot == 0.0)) {
|
||||
//*dcp = 6;
|
||||
//*wwtype = 3;
|
||||
ww_choice = 3;
|
||||
|
@ -1119,7 +1152,8 @@ int cave_ww_type()
|
|||
outgtext( "mrgl TOR", tlx + 40, tly + 60 );*/
|
||||
}
|
||||
|
||||
else if (((( sig_tor >= 0.5) && (esrh >= 150)) || ((sig_tor_winter >= 0.5) && (srh1 >= 150))) && (bot == 0.0)) {
|
||||
else if (((( sig_tor >= 0.5) && (esrh >= 150)) || ((sig_tor_winter >= 0.5) && (srh1 >= 150))) && (mlcn > -50.0) && (bot == 0.0)) {
|
||||
// Chin V9 was:: if (((( sig_tor >= 0.5) && (esrh >= 150)) || ((sig_tor_winter >= 0.5) && (srh1 >= 150))) && (bot == 0.0)) {
|
||||
//*dcp = 7;
|
||||
//*wwtype = 3;
|
||||
ww_choice = 3;
|
||||
|
@ -1939,12 +1973,17 @@ void getSarsInfo(SarsInfoStr * sarsInfo)
|
|||
wind_shear(sndg[sfc()][pIndex], i_pres(msl(3000)), &ix1, &ix2, &ix3, &ix4); shr3k = ix4;
|
||||
|
||||
cavespnsharp(&mlcp, &mllcl, &t500, &lr75, &shr6k, &srh1, &nsndgs, &matches, &p1, sndglist, &suplist, &sup_filename, &shr3k, &shr9k, &srh3, &totalsndgs);
|
||||
/*
|
||||
for (i=0; i < 15; i++) sndglist[i][14] = '\0';
|
||||
printf( "%d High Quality SUPERCELL Matches were found.\n", nsndgs);
|
||||
for (i=0;i<nsndgs;i++) { printf( "SUPERCELL match = %s %.0f\n", sndglist[i]), suplist[i]; }
|
||||
printf( "%.0f Total matches were found.\n", matches);
|
||||
printf( "%.0f Percent were TOR.\n", p1);
|
||||
|
||||
/* Chin TBD::: bignsharpV2013Jun12
|
||||
* for (i=0; i < 15; i++) sndglist[i][14] = '\0';
|
||||
printf( "%d High Quality SUPERCELL Matches were found.\n", nsndgs);
|
||||
// modified loop and printf statement to properly display supercell match type - RLT 4/24/12
|
||||
for (i=0;i<nsndgs;i++) {
|
||||
j = suplist[i];
|
||||
printf( "SUPERCELL match = %s %s\n", sndglist[i], tortags[j]);
|
||||
}
|
||||
printf( "%.0f Total matches were found.\n", matches);
|
||||
printf( "%.0f Percent were TOR.\n", p1);
|
||||
*/
|
||||
// ----- Supercell SARS matches -----
|
||||
if (nsndgs>0)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
subroutine cavesars(mumr, mucape, temp, lr, shr,
|
||||
+ km9, shr3, ship, srh, tier1,
|
||||
+ matches, p1, avsize, matches2,
|
||||
+ sndglist, haillist, fname, cnt)
|
||||
+ sndglist, haillist, fname, totalSnd)
|
||||
|
||||
c Jan 27, 2010, REJ.
|
||||
integer maob,saob
|
||||
|
||||
parameter (maob=15000) ! Max number of raobs allowed.
|
||||
parameter (saob=15) ! Number of raobs to return to NSHARP.
|
||||
|
||||
|
@ -21,9 +21,9 @@ c Jan 27, 2010, REJ.
|
|||
character datestn*15,dummy*25,matdatestn(maob)*15
|
||||
character sndglist(saob)*15, fname*(256), fname1*(256)
|
||||
|
||||
integer j,cnt,mrmat(maob),capemat(maob),tempmat(maob),
|
||||
& lrmat(maob),shrmat(maob),km9mat(maob),shr3mat(maob),golf,
|
||||
& sigm(maob),tier1,tier1cnt,srhmat(maob)
|
||||
integer cnt, maob,j,mrmat(maob),capemat(maob),tempmat(maob),
|
||||
&lrmat(maob),shrmat(maob),km9mat(maob),shr3mat(maob),golf,
|
||||
& sigm(maob),tier1,tier1cnt,srhmat(maob),totalSnd
|
||||
|
||||
c print *, "****************************************************"
|
||||
c print *, " Entering SARS fortran subroutine"
|
||||
|
@ -32,7 +32,7 @@ c print *, "****************************************************"
|
|||
1 format(a)
|
||||
|
||||
fname1 = fname(1:len_trim(fname))
|
||||
c print *, "Sars Opening input file: ", fname1(1:len_trim(fname1))
|
||||
c print *, "Opening input file: ", fname1(1:len_trim(fname1))
|
||||
open(unit=10,status='old',file=fname1,err=999,iostat=IERR)
|
||||
|
||||
************* Read file list.txt into array ********************
|
||||
|
@ -70,48 +70,48 @@ c Calculate difference in shear magnitude between sounding and match
|
|||
c count number of soundings
|
||||
cnt = j - 1
|
||||
c mixing ratio ranges (g/kg) - k1
|
||||
ranmr= 2.0
|
||||
ranmrt1= 2.0
|
||||
|
||||
c ranmr= 2.0
|
||||
c ranmrt1= 2.0
|
||||
c
|
||||
c determine cape ranges based on cape magnitude (j/kg) - k2
|
||||
|
||||
rancape = mucape*.30
|
||||
|
||||
if(mucape.lt.500.) then
|
||||
rancapet1= mucape*.50
|
||||
elseif(mucape.ge.500.0.and.mucape.lt.2000.) then
|
||||
rancapet1= mucape*.25
|
||||
else
|
||||
rancapet1= mucape*.20
|
||||
endif
|
||||
|
||||
c
|
||||
c rancape = mucape*.30
|
||||
c
|
||||
c if(mucape.lt.500.) then
|
||||
c rancapet1= mucape*.50
|
||||
c elseif(mucape.ge.500.0.and.mucape.lt.2000.) then
|
||||
c rancapet1= mucape*.25
|
||||
c else
|
||||
c rancapet1= mucape*.20
|
||||
c endif
|
||||
c
|
||||
c 700-500 mb lapse rate ranges (c/km)- k3
|
||||
ranlr= 2.0
|
||||
ranlrt1= 0.4
|
||||
|
||||
c ranlr= 2.0
|
||||
c ranlrt1= 0.4
|
||||
c
|
||||
c 500 mb temperature ranges (c) - k4
|
||||
rantemp= 9
|
||||
rantempt1= 1.5
|
||||
|
||||
c rantemp= 9
|
||||
c rantempt1= 1.5
|
||||
c
|
||||
c 0-6 km shear ranges (m/s) - k6
|
||||
ranshr= 12
|
||||
ranshrt1= 6
|
||||
|
||||
c ranshr= 12
|
||||
c ranshrt1= 6
|
||||
c
|
||||
c 0-9 shear ranges - k7
|
||||
rankm9= 22
|
||||
rankm9t1= 15
|
||||
|
||||
c rankm9= 22
|
||||
c rankm9t1= 15
|
||||
c
|
||||
c 0-3 km shear ranges (m/s) - k8
|
||||
ranshr3= 10
|
||||
ranshr3t1= 8
|
||||
|
||||
c ranshr3= 10
|
||||
c ranshr3t1= 8
|
||||
c
|
||||
c SRH shear ranges (m/s) - k9
|
||||
c ransrh = 100
|
||||
if(srh.lt.50) then
|
||||
ransrht1 = 25
|
||||
else
|
||||
ransrht1= srh*0.5
|
||||
endif
|
||||
c if(srh.lt.50) then
|
||||
c ransrht1 = 25
|
||||
c else
|
||||
c ransrht1= srh*0.5
|
||||
c endif
|
||||
*************************************************************
|
||||
c using passed sounding, check against all soundings j .
|
||||
|
||||
|
@ -124,9 +124,53 @@ c using passed sounding, check against all soundings j .
|
|||
golf = 0
|
||||
tier1 = 0
|
||||
jh = 0
|
||||
|
||||
totalSnd = cnt
|
||||
DO 99 j=1,cnt
|
||||
|
||||
c mixing ratio ranges (g/kg) - k1
|
||||
ranmr= 2.0
|
||||
ranmrt1= 2.0
|
||||
|
||||
c determine cape ranges based on cape magnitude (j/kg) - k2
|
||||
|
||||
rancape = mucape*.30
|
||||
|
||||
if(mucape.lt.500.) then
|
||||
rancapet1= mucape*.50
|
||||
elseif(mucape.ge.500.0.and.mucape.lt.2000.) then
|
||||
rancapet1= mucape*.25
|
||||
else
|
||||
rancapet1= mucape*.20
|
||||
endif
|
||||
|
||||
c 700-500 mb lapse rate ranges (c/km)- k3
|
||||
ranlr= 2.0
|
||||
ranlrt1= 0.4
|
||||
|
||||
c 500 mb temperature ranges (c) - k4
|
||||
rantemp= 9
|
||||
rantempt1= 1.5
|
||||
|
||||
c 0-6 km shear ranges (m/s) - k6
|
||||
ranshr= 12
|
||||
ranshrt1= 6
|
||||
|
||||
c 0-9 shear ranges - k7
|
||||
rankm9= 22
|
||||
rankm9t1= 15
|
||||
|
||||
c 0-3 km shear ranges (m/s) - k8
|
||||
ranshr3= 10
|
||||
ranshr3t1= 8
|
||||
|
||||
c SRH shear ranges (m/s) - k9
|
||||
c ransrh = 100
|
||||
if(srh.lt.50) then
|
||||
ransrht1 = 25
|
||||
else
|
||||
ransrht1= srh*0.5
|
||||
endif
|
||||
|
||||
|
||||
mrmat(j) = 0
|
||||
capemat(j) = 0
|
||||
|
@ -293,8 +337,8 @@ c endif
|
|||
|
||||
c matches = sigcnt + nulcnt
|
||||
|
||||
c print *, 'SARS Searching',cnt,' soundings, found',matches
|
||||
|
||||
C print *, 'SARS Searching',cnt,' soundings, found',matches
|
||||
|
||||
if(matches2.gt.0) then
|
||||
c Calculate average hail size from matches...
|
||||
avsize = avsize/matches2
|
||||
|
|
|
@ -2,11 +2,11 @@ c program sup_nsharp
|
|||
|
||||
subroutine cavespnsharp(mlcape, mllcl, temp, lr, shr,
|
||||
+ srh, tier1, matches, p1, sndglist, supl2,
|
||||
+ fname,shr3k,shr9k,srh3, cnt)
|
||||
+ fname,shr3k,shr9k,srh3, totalSnd)
|
||||
|
||||
|
||||
c SARS For Supercells
|
||||
integer saob,maob
|
||||
|
||||
parameter (maob=15000) ! Max number of raobs allowed.
|
||||
parameter (saob=15) ! Number of raobs to return to NSHARP.
|
||||
|
||||
|
@ -26,10 +26,10 @@ c SARS For Supercells
|
|||
character sndglist(saob)*15, fname*(256), fname1*(256)
|
||||
character tortype(maob)*8,suplist(saob)*8
|
||||
|
||||
integer i,j,cnt,mlmrmat(maob),mlcapemat(maob),
|
||||
integer totalSnd, cnt, maob,i,j,mlmrmat(maob),mlcapemat(maob),
|
||||
& mlcinmat(maob),mllclmat(maob),mucapemat(maob),sblclmat(maob),
|
||||
& shrmat(maob),srhmat(maob),tempmat(maob),lrmat(maob),stpmat(maob),
|
||||
& h500umat(maob),h500vmat(maob),shrcat(maob),matshrcat(maob),tier1,
|
||||
&shrmat(maob),srhmat(maob),tempmat(maob),lrmat(maob),stpmat(maob),
|
||||
&h500umat(maob),h500vmat(maob),shrcat(maob),matshrcat(maob),tier1,
|
||||
& tier1cnt,matcat(maob),srh3mat(maob)
|
||||
|
||||
c print *, "****************************************************"
|
||||
|
@ -39,7 +39,7 @@ c print *, "****************************************************"
|
|||
|
||||
1 format(a)
|
||||
fname1 = fname(1:len_trim(fname))
|
||||
c print *, "SUP Opening input file: ", fname1(1:len_trim(fname1))
|
||||
c print *, "Opening input file: ", fname1(1:len_trim(fname1))
|
||||
open(unit=10,status='old',file=fname1,err=999,iostat=IERR)
|
||||
|
||||
|
||||
|
@ -73,7 +73,6 @@ c matsrh(j) = abs(matsrh(j))
|
|||
c count number of soundings
|
||||
cnt = j - 1
|
||||
|
||||
|
||||
c mlcape ranges - k2
|
||||
ranmlcape= 1300
|
||||
ranmlcapet1 = mlcape*0.25
|
||||
|
@ -139,7 +138,7 @@ c using sounding i , check against all soundings j .
|
|||
noncnt = 0
|
||||
p1=0
|
||||
p2=0
|
||||
|
||||
totalSnd = cnt
|
||||
DO 99 j=1,cnt
|
||||
|
||||
mlcapemat(j) = 0
|
||||
|
@ -248,8 +247,8 @@ c endif
|
|||
|
||||
matches = torcnt + noncnt
|
||||
|
||||
c print *, 'SARS Supercell Searching',cnt,' soundings, found',matches
|
||||
|
||||
c print *, 'SARS Searching',cnt,' soundings, found',matches
|
||||
|
||||
if(matches.ne.0) then
|
||||
p1 = torcnt/matches*100
|
||||
p2 = noncnt/matches*100
|
||||
|
@ -280,6 +279,6 @@ c write(*,*) ''
|
|||
999 matches = 0
|
||||
p1 = 0
|
||||
tier1 = 0
|
||||
print *, "ERROR - SUPERCELL input file not found. Aborting..."
|
||||
print *, "ERROR - SARS input file not found. Aborting..."
|
||||
end
|
||||
|
||||
|
|
|
@ -20,7 +20,10 @@
|
|||
package gov.noaa.nws.ncep.ui.nsharp.display;
|
||||
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
|
||||
import gov.noaa.nws.ncep.ui.nsharp.display.map.NsharpMapResource;
|
||||
import gov.noaa.nws.ncep.ui.nsharp.display.rsc.NsharpSkewTPaneResource;
|
||||
import gov.noaa.nws.ncep.ui.nsharp.display.rsc.NsharpTimeStnPaneResource;
|
||||
import gov.noaa.nws.ncep.ui.nsharp.view.NsharpShowTextDialog;
|
||||
|
||||
|
@ -76,7 +79,7 @@ public class NsharpTimeStnPaneMouseHandler extends NsharpAbstractMouseHandler{
|
|||
Coordinate c = editor.translateClick(x, y);
|
||||
if(timeStnRsc.getTimeLineRectangle().contains((int) c.x, (int) c.y) == true && this.mode == Mode.TIMELINE_DOWN) {
|
||||
//data time line has been touched, and may be changed
|
||||
timeStnRsc.getRscHandler().handleUserClickOnTimeLine(c);
|
||||
timeStnRsc.getRscHandler().handleUserClickOnTimeLine(c,shiftDown);// FixMark:clickOnTimeStnPane
|
||||
handleMouseMove(x,y);
|
||||
|
||||
NsharpShowTextDialog textarea = NsharpShowTextDialog.getAccess();
|
||||
|
@ -87,12 +90,12 @@ public class NsharpTimeStnPaneMouseHandler extends NsharpAbstractMouseHandler{
|
|||
}
|
||||
else if(timeStnRsc.getStnIdRectangle().contains((int) c.x, (int) c.y) == true && this.mode == Mode.STATIONID_DOWN) {
|
||||
//stn id line has been touched, and may be changed
|
||||
timeStnRsc.getRscHandler().handleUserClickOnStationId(c);
|
||||
timeStnRsc.getRscHandler().handleUserClickOnStationId(c,shiftDown);// FixMark:clickOnTimeStnPane
|
||||
handleMouseMove(x,y);
|
||||
}
|
||||
else if(timeStnRsc.getSndRectangle().contains((int) c.x, (int) c.y) == true && this.mode == Mode.SNDTYPE_DOWN) {
|
||||
//stn id line has been touched, and may be changed
|
||||
timeStnRsc.getRscHandler().handleUserClickOnSndLine(c);
|
||||
timeStnRsc.getRscHandler().handleUserClickOnSndLine(c,shiftDown);// FixMark:clickOnTimeStnPane
|
||||
handleMouseMove(x,y);
|
||||
}
|
||||
|
||||
|
@ -106,6 +109,31 @@ public class NsharpTimeStnPaneMouseHandler extends NsharpAbstractMouseHandler{
|
|||
}
|
||||
return false;
|
||||
}
|
||||
// FixMark:clickOnTimeStnPane
|
||||
@Override
|
||||
public boolean handleKeyDown(int keyCode) {
|
||||
//System.out.println("key down="+(char)keyCode+ " code ="+keyCode);
|
||||
|
||||
if ((keyCode & SWT.SHIFT) != 0) {
|
||||
shiftDown = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean handleKeyUp(int keyCode) {
|
||||
//String s = "key up="+(char)keyCode;
|
||||
//System.out.println(s+ " code ="+keyCode);
|
||||
if (getPaneDisplay() == null) {
|
||||
return false;
|
||||
}
|
||||
if (keyCode == SWT.SHIFT) {
|
||||
shiftDown = false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//End FixMark:clickOnTimeStnPane
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -11,6 +11,7 @@ package gov.noaa.nws.ncep.ui.nsharp.display.rsc;
|
|||
* ------- ------- -------- -----------
|
||||
* 04/23/2012 229 Chin Chen Initial coding
|
||||
* May 08, 2013 1847 bsteffen Allow painting with no Wind Data.
|
||||
* 02/03/2014 1106 Chin Chen Need to be able to use clicking on the Src,Time, or StnId to select display
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -175,7 +176,7 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
this.cursorTopWindBarb = cursorTopWindBarb;
|
||||
}
|
||||
|
||||
public boolean isJustMoveToSidePane() {
|
||||
public boolean isJustMoveToSidePane() {
|
||||
return justMoveToSidePane;
|
||||
}
|
||||
|
||||
|
@ -797,7 +798,7 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
WGraphics world, RGB iicolor, List<NcSoundingLayer> sndLys, double xPosition, double botPress)throws VizException {
|
||||
if(sndLys.size()< 4)
|
||||
return;
|
||||
//ArrayList<List<LineStroke>> windList = new ArrayList<List<LineStroke>>();
|
||||
//ArrayList<List<LineStroke>> windList = new ArrayList<List<LineStroke>>();
|
||||
List<windPickedElement> layerStateList = new ArrayList<windPickedElement>();
|
||||
float lastHeight = -9999;
|
||||
RGB icolor = iicolor;//graphConfigProperty.getWindBarbColor();
|
||||
|
@ -897,10 +898,10 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
//Chin::if we want pgen to draw un-picked wind as a circle, then set this.
|
||||
spd=0.1f;
|
||||
curWbSize = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
continue;
|
||||
}
|
||||
}
|
||||
/* TBDWB
|
||||
else if(windBarbMagnify==true && cursorTopWindBarb == true && currentWindBarbSoundingLayerIndex == this.soundingLys.indexOf(layer)){
|
||||
curWbSize = wbSize*2;
|
||||
|
@ -1417,9 +1418,12 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
protected void paintInternal(IGraphicsTarget target,
|
||||
PaintProperties paintProps) throws VizException {
|
||||
this.paintProps = paintProps;
|
||||
if(soundingLys==null)
|
||||
return;
|
||||
super.paintInternal(target, paintProps);
|
||||
if(soundingLys==null){
|
||||
drawNoDataMessage(target);// FixMark:clickOnTimeStnPane
|
||||
return;
|
||||
}
|
||||
|
||||
//System.out.println("skew paintInternal zoomL="+currentZoomLevel);
|
||||
if(rscHandler== null)
|
||||
return;
|
||||
|
@ -2071,6 +2075,27 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
|
||||
dacpeTraceRscShape.compile();
|
||||
}
|
||||
//start FixMark:clickOnTimeStnPane
|
||||
private void drawNoDataMessage(IGraphicsTarget target){
|
||||
IExtent ext = descriptor.getRenderableDisplay().getExtent();
|
||||
double xmin = ext.getMinX(); //Extent's viewable envelope min x and y
|
||||
double xmax = ext.getMaxX();
|
||||
double xDefault = world.mapX(NsharpConstants.left);
|
||||
if(xmin <xDefault)
|
||||
xmin = xDefault;
|
||||
double x = xmin + 15 * currentZoomLevel * xRatio;
|
||||
x= (xmax-xmin)/4;
|
||||
double y = world.mapY(NsharpWxMath.getSkewTXY(300, 0).y);
|
||||
try {
|
||||
target.drawString(font12,"Data is not loaded at selected current time line/station/source", x,y, 0.0, TextStyle.BOXED,
|
||||
NsharpConstants.color_red, HorizontalAlignment.LEFT,
|
||||
VerticalAlignment.MIDDLE, null);
|
||||
} catch (VizException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
// end FixMark:clickOnTimeStnPane
|
||||
// Chin: to handle dynamically moving height mark within viewable zone when zooming, I could not use wireframeShape successfully
|
||||
// It will chop off lower part of marks. Therefore use this draw function.
|
||||
@SuppressWarnings("deprecation")
|
||||
|
|
|
@ -236,7 +236,7 @@ public class ColorMapUtil {
|
|||
|
||||
Map<LocalizationLevel, LocalizationFile> files = PathManagerFactory
|
||||
.getPathManager().getTieredLocalizationFile(
|
||||
LocalizationType.COMMON_STATIC,
|
||||
LocalizationType.CAVE_STATIC,
|
||||
NcPathConstants.LOCKED_CMAP_TBL);
|
||||
|
||||
File locCmapFile = null;
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.io.File;
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import com.raytheon.uf.common.localization.FileUpdatedMessage;
|
||||
import com.raytheon.uf.common.localization.ILocalizationAdapter;
|
||||
|
@ -56,6 +57,7 @@ import gov.noaa.nws.ncep.viz.resources.AbstractNatlCntrsRequestableResourceData;
|
|||
* 07/22/12 #568 Greg Hull return Rbds and rbdNames sorted by seq num.
|
||||
* 02/10/13 #972 Greg Hull changed to work with AbstractRbds
|
||||
* 05/19/13 #1001 Greg Hull getRbdsFromSpf(), trap RBD errors
|
||||
* 03/06/14 ? B. Yin Replaced SerializationUtil with JAXBManager.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -451,7 +453,7 @@ public class SpfsManager implements ILocalizationFileObserver {
|
|||
// group and spf
|
||||
//
|
||||
try {
|
||||
SerializationUtil.jaxbMarshalToXmlFile( rbd, rbdFile.getAbsolutePath() );
|
||||
AbstractRBD.getJaxbManager().marshalToXmlFile( rbd, rbdFile.getAbsolutePath() );
|
||||
|
||||
rbd.setLocalizationFile( lFile );
|
||||
|
||||
|
@ -463,6 +465,8 @@ public class SpfsManager implements ILocalizationFileObserver {
|
|||
|
||||
} catch (LocalizationOpFailedException e) {
|
||||
throw new VizException(e);
|
||||
} catch (JAXBException e) {
|
||||
throw new VizException(e);
|
||||
} catch (SerializationException e) {
|
||||
throw new VizException(e);
|
||||
} finally {
|
||||
|
|
|
@ -71,6 +71,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 05/20/2013 988 Archana.S Initial creation.
|
||||
* 02/26/2014 1061 B. Hebbard Relax tolerance for extent/zoom compare to avoid infinite loop.
|
||||
*/
|
||||
|
||||
public class NcPlotImageCreator {
|
||||
|
@ -219,9 +220,11 @@ public class NcPlotImageCreator {
|
|||
|
||||
private RGB defaultColor;
|
||||
|
||||
private static double TOLERANCE = 0.000000000000000000000001;
|
||||
private static double TOLERANCE = 1E-04; // 1E-24; //
|
||||
// 0.000000000000000000000001;
|
||||
|
||||
private static double ZOOM_TOLERANCE = 0.0000000000000000000001;
|
||||
private static double ZOOM_TOLERANCE = 1E-04; // 1E-22; //
|
||||
// 0.0000000000000000000001;
|
||||
|
||||
private static Amount WIND_SPD_3KNOTS = new Amount(3, NonSI.KNOT);
|
||||
|
||||
|
|
|
@ -52,6 +52,19 @@ import com.raytheon.uf.viz.core.exception.VizException;
|
|||
import com.raytheon.uf.viz.core.jobs.JobPool;
|
||||
import com.raytheon.viz.pointdata.PointDataRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 05/20/2013?? 988 Archana.S Initial creation.
|
||||
* 02/26/2014 1061 B. Hebbard Don't block on JobPool cancel, so CAVE doesn't freeze if resource unloaded during long retrieval
|
||||
*/
|
||||
|
||||
public class NcPlotModelHdf5DataRequestor {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
||||
|
@ -136,6 +149,10 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
|
||||
Map<String, RequestConstraint> condFilterMap = null;
|
||||
|
||||
// Indicates the dataRequestJobPool is being cancelled, so jobs
|
||||
// should just exit gracefully on return from a long HDF5 request.
|
||||
private boolean canceling = false;
|
||||
|
||||
// Map< AbstractMetParameter, RequestConstraint >
|
||||
// condMetParamReqConstraintMap = null;
|
||||
public void queueStationsForHdf5Query(DataTime dt,
|
||||
|
@ -183,7 +200,8 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
allMetParamsMap = new HashMap<String, AbstractMetParameter>();
|
||||
plotPrmDefns = PlotParameterDefnsMngr.getInstance().getPlotParamDefns(
|
||||
plotModel.getPlugin());
|
||||
dataRequestJobPool = new JobPool("Requesting HDF5 data...", 8, false);
|
||||
dataRequestJobPool = new JobPool("Requesting met param data...", 8,
|
||||
false);
|
||||
queueOfStations = new ConcurrentLinkedQueue<QueueEntry>();
|
||||
parameters = new String[0];
|
||||
metParamNameToDbNameMap = new HashMap<String, String>();
|
||||
|
@ -700,8 +718,10 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
public void dispose() {
|
||||
Tracer.print("> Entry");
|
||||
Tracer.print("Invoking NcPlotModelHdf5DataRequestor.dispose()");
|
||||
canceling = true;
|
||||
if (dataRequestJobPool != null) {
|
||||
dataRequestJobPool.cancel();
|
||||
dataRequestJobPool.cancel(false); // false = don't wait for jobs to
|
||||
// complete
|
||||
dataRequestJobPool = null;
|
||||
}
|
||||
imageCreator.dispose();
|
||||
|
@ -1229,6 +1249,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
private Collection<Station> requestSurfaceData(DataTime time,
|
||||
List<Station> listOfStationsRequestingForData) {
|
||||
Tracer.print("> Entry " + Tracer.shortTimeString(time));
|
||||
|
||||
// sem1.acquireUninterruptibly();
|
||||
Map<String, Station> stationMap = new HashMap<String, Station>(
|
||||
listOfStationsRequestingForData.size());
|
||||
|
@ -1467,6 +1488,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " "
|
||||
+ " from pkeySet updating prmToPlot(Key) "
|
||||
|
@ -1479,6 +1501,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " "
|
||||
+ " prmToPlot non-null "
|
||||
|
@ -1492,6 +1515,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " "
|
||||
+ " from pkeySet updating prmToPlot(Key) "
|
||||
|
@ -1523,6 +1547,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
Tracer.print(Tracer.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " "
|
||||
+ " NULL metPrm return from dbParamsMap for key -- skipping"
|
||||
|
@ -1572,9 +1597,9 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
if (jfk)
|
||||
Tracer.print(Tracer.shortTimeString(time) + " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ currentStation.info.stationId + " "
|
||||
+ " before setMetParamFromPDV " + dbPrm
|
||||
+ " " + metPrm);
|
||||
+ " " + currentStation.info.stationId
|
||||
+ " " + " before setMetParamFromPDV "
|
||||
+ dbPrm + " " + metPrm);
|
||||
|
||||
/*
|
||||
* Set the value for Met parameters from the
|
||||
|
@ -1584,9 +1609,9 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
if (jfk)
|
||||
Tracer.print(Tracer.shortTimeString(time) + " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ currentStation.info.stationId + " "
|
||||
+ " after setMetParamFromPDV " + dbPrm
|
||||
+ " " + metPrm);
|
||||
+ " " + currentStation.info.stationId
|
||||
+ " " + " after setMetParamFromPDV "
|
||||
+ dbPrm + " " + metPrm);
|
||||
|
||||
// if(
|
||||
// metPrm.getMetParamName().compareTo("StationID")
|
||||
|
@ -1617,9 +1642,9 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
if (jfk)
|
||||
Tracer.print(Tracer.shortTimeString(time) + " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ currentStation.info.stationId + " "
|
||||
+ " after put " + dbPrm + " " + metPrm
|
||||
+ " into dbParamsMap");
|
||||
+ " " + currentStation.info.stationId
|
||||
+ " " + " after put " + dbPrm + " "
|
||||
+ metPrm + " into dbParamsMap");
|
||||
|
||||
if (condFilterMap != null
|
||||
&& !condFilterMap.isEmpty()) {
|
||||
|
@ -1734,6 +1759,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
Tracer.print(Tracer.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " " + " trying to add metParam "
|
||||
+ metParam);
|
||||
|
@ -1744,6 +1770,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " "
|
||||
+ " newPrm NULL from newInstance -- skipping!!! "
|
||||
|
@ -1755,6 +1782,7 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
Tracer.print(Tracer.shortTimeString(time)
|
||||
+ " "
|
||||
+ Tracer.shortTimeString(dataTime)
|
||||
+ " "
|
||||
+ currentStation.info.stationId
|
||||
+ " " + " added newPrm " + newPrm);
|
||||
}
|
||||
|
@ -2061,9 +2089,14 @@ public class NcPlotModelHdf5DataRequestor {
|
|||
|
||||
Tracer.sanityCheckStationSet(stationsWithData);
|
||||
|
||||
if (stationsWithData.size() > 0)
|
||||
if (canceling) {
|
||||
Tracer.print("CANCEL in progress; no plot creation will occur for frame "
|
||||
+ Tracer.shortTimeString(time));
|
||||
|
||||
} else if (stationsWithData.size() > 0) {
|
||||
imageCreator.queueStationsToCreateImages(time,
|
||||
stationsWithData, plotDensity);
|
||||
}
|
||||
|
||||
Tracer.print("< Exit END TASK " + Tracer.shortTimeString(time));
|
||||
|
||||
|
|
|
@ -32,9 +32,25 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
|
||||
//import org.hibernate.mapping.Array;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 05/20/2013 988 Archana.S Initial creation.
|
||||
* 02/26/2014 1061 B. Hebbard Relax tolerance for extent/zoom compare to avoid infinite loop.
|
||||
*/
|
||||
|
||||
public final class ProgressiveDisclosure {
|
||||
|
||||
private final static double TOLERANCE = 0.0000000001;// 0.00000001;//0.000000000001;
|
||||
private final static double TOLERANCE = 1E-03; // 0.0000000001;//
|
||||
// 0.00000001;//0.000000000001;
|
||||
|
||||
private final static double ZOOM_TOLERANCE = TOLERANCE; // need different?
|
||||
|
||||
private ConcurrentLinkedQueue<QueueEntry> queueOfStationsToBeDisclosed;
|
||||
|
||||
|
@ -308,7 +324,7 @@ public final class ProgressiveDisclosure {
|
|||
}
|
||||
}
|
||||
|
||||
if (Math.abs(progDiscTask.zoomLevel - activePane.getZoomLevel()) > 0.00000000000001) {
|
||||
if (Math.abs(progDiscTask.zoomLevel - activePane.getZoomLevel()) > ZOOM_TOLERANCE) {
|
||||
progDiscTask.zoomLevel = activePane.getZoomLevel();
|
||||
progDiscTask.extent = currViewExtents.clone();
|
||||
Tracer.print("Changed zoom level");
|
||||
|
|
|
@ -21,6 +21,7 @@ import java.text.ParseException;
|
|||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
@ -28,6 +29,8 @@ import java.util.Map;
|
|||
import java.util.TimeZone;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import org.eclipse.swt.graphics.RGB;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
@ -38,8 +41,10 @@ import com.raytheon.uf.common.colormap.prefs.DataMappingPreferences;
|
|||
import com.raytheon.uf.common.colormap.prefs.DataMappingPreferences.DataMappingEntry;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.geospatial.ReferencedCoordinate;
|
||||
import com.raytheon.uf.common.serialization.JAXBManager;
|
||||
import com.raytheon.uf.common.serialization.SerializationException;
|
||||
import com.raytheon.uf.common.serialization.SerializationUtil;
|
||||
import com.raytheon.uf.common.serialization.jaxb.JAXBClassLocator;
|
||||
import com.raytheon.uf.common.serialization.jaxb.JaxbDummyObject;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
|
@ -53,12 +58,14 @@ import com.raytheon.uf.common.style.image.DataScale;
|
|||
import com.raytheon.uf.common.style.image.DataScale.Type;
|
||||
import com.raytheon.uf.common.style.image.ImagePreferences;
|
||||
import com.raytheon.uf.common.style.image.SamplePreferences;
|
||||
import com.raytheon.uf.common.style.level.Level;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
|
||||
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.reflect.SubClassLocator;
|
||||
import com.raytheon.uf.viz.core.rsc.IInputHandler;
|
||||
import com.raytheon.uf.viz.core.rsc.IInputHandler.InputPriority;
|
||||
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged;
|
||||
|
@ -90,6 +97,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* 12/16/2013 #958 sgurung Set virtual cursor to point to lat/lon instead of pixel coordinates (in multipnaes)
|
||||
* 12/27/2013 #1046 qzhou Added getFunctioningRecords method
|
||||
* Sep 5,2013 2051 mnash Fixed a deprecated method.
|
||||
* 02/27/2014 qzhou Changed SerializaitionUtil to JAXBManager. Added getJaxbManager function
|
||||
* </pre>
|
||||
*
|
||||
* @author qzhou, sgurung
|
||||
|
@ -136,6 +144,8 @@ public class SolarImageResource extends
|
|||
|
||||
private RGB rgbB;
|
||||
|
||||
private static JAXBManager jaxb;
|
||||
|
||||
protected static class SampleResult {
|
||||
|
||||
public SampleResult() {
|
||||
|
@ -260,7 +270,6 @@ public class SolarImageResource extends
|
|||
return legendStr;
|
||||
}
|
||||
|
||||
// TODO : probably not correct : fix this as it needs to be.
|
||||
public void setLegendForFrame(SolarImageRecord rec) {
|
||||
|
||||
String timeStr = dateFmt.format(rec.getDataTime().getRefTime());
|
||||
|
@ -393,7 +402,6 @@ public class SolarImageResource extends
|
|||
sampleCoord);
|
||||
}
|
||||
|
||||
// TODO : draw the lat lon lines even if there is no image?
|
||||
if (isLatLonOverlayOn()) {
|
||||
try {
|
||||
if (isCarrington) {
|
||||
|
@ -838,6 +846,31 @@ public class SolarImageResource extends
|
|||
return NcPathConstants.SOLAR_IMG_STYLE_RULES;
|
||||
}
|
||||
|
||||
public static synchronized JAXBManager getJaxbManager()
|
||||
throws JAXBException {
|
||||
if (jaxb == null) {
|
||||
SubClassLocator locator = new SubClassLocator();
|
||||
Collection<Class<?>> classes = JAXBClassLocator.getJAXBClasses(
|
||||
locator, StyleRuleset.class, StyleRule.class, Level.class,
|
||||
AbstractStylePreferences.class, MatchCriteria.class);
|
||||
|
||||
locator.save();
|
||||
|
||||
Class<?>[] jaxbClasses = new Class<?>[classes.size() + 1];
|
||||
classes.toArray(jaxbClasses);
|
||||
|
||||
/*
|
||||
* Add JaxbDummyObject at the beginning so properties are loaded
|
||||
* correctly
|
||||
*/
|
||||
jaxbClasses[jaxbClasses.length - 1] = jaxbClasses[0];
|
||||
jaxbClasses[0] = JaxbDummyObject.class;
|
||||
|
||||
jaxb = new JAXBManager(jaxbClasses);
|
||||
}
|
||||
return jaxb;
|
||||
}
|
||||
|
||||
private void setColorMapParametersAndColorBar() throws VizException {
|
||||
double minPixVal = Double.NaN;
|
||||
double maxPixVal = Double.NaN;
|
||||
|
@ -881,8 +914,10 @@ public class SolarImageResource extends
|
|||
File file = NcPathManager.getInstance().getStaticFile(locFileName);
|
||||
StyleRule sRule = null;
|
||||
try {
|
||||
StyleRuleset styleSet = (StyleRuleset) SerializationUtil
|
||||
.jaxbUnmarshalFromXmlFile(StyleRuleset.class, file);
|
||||
StyleRuleset styleSet = (StyleRuleset) getJaxbManager()
|
||||
.unmarshalFromXmlFile(file);
|
||||
|
||||
// .jaxbUnmarshalFromXmlFile(StyleRuleset.class, file);
|
||||
|
||||
if (styleSet != null) {
|
||||
List<StyleRule> styleRuleList = styleSet.getStyleRules();
|
||||
|
@ -932,6 +967,9 @@ public class SolarImageResource extends
|
|||
}
|
||||
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
||||
|
||||
} catch (SerializationException e1) {
|
||||
|
||||
e1.printStackTrace();
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
# ------------ ---------- ----------- --------------------------
|
||||
# ....
|
||||
# 06/13/2013 DR 16242 D. Friedman Add Qpid authentication info
|
||||
# 03/06/2014 DR 17907 D. Friedman Workaround for issue QPID-5569
|
||||
#
|
||||
#===============================================================================
|
||||
|
||||
|
@ -97,7 +98,8 @@ class IngestViaQPID:
|
|||
@param header: string header used to determine plugin decoder to use
|
||||
'''
|
||||
props = self.session.delivery_properties(routing_key='external.dropbox')
|
||||
head = self.session.message_properties(application_headers={'header':header})
|
||||
head = self.session.message_properties(application_headers={'header':header},
|
||||
user_id=QPID_USERNAME) # For issue QPID-5569. Fixed in Qpid 0.27
|
||||
self.session.message_transfer(destination='amq.direct', message=Message(props, head, filepath))
|
||||
|
||||
def close(self):
|
||||
|
|
|
@ -446,6 +446,7 @@ fi
|
|||
|
||||
if [ "${1}" = "-edex" ]; then
|
||||
##buildRPM "awips2-common-base"
|
||||
buildRPM "awips2"
|
||||
buildEDEX
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
|
|
Loading…
Add table
Reference in a new issue