Merge branch 'omaha_14.2.1' (14.2.1-13) into development

Former-commit-id: 5efb16fa8b [formerly d0aeb854f5] [formerly 5efb16fa8b [formerly d0aeb854f5] [formerly 0c2c5ad4bd [formerly a2318f04eea89a258400dea526daa4fe67b69271]]]
Former-commit-id: 0c2c5ad4bd
Former-commit-id: 5d95d594f8 [formerly b5a2d2237f]
Former-commit-id: 3a82fa7ac6
This commit is contained in:
Steve Harris 2014-03-17 15:55:41 -05:00
commit a936941dff
38 changed files with 4097 additions and 4198 deletions

View file

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

View file

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

View file

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

View file

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

View file

@ -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');

View file

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

View file

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

View file

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

View file

@ -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="&quot;THUNDERSTORM&quot;,&quot;-CAUSING&quot;,&quot;-RAPID RIVER RISES&quot;,&quot;-MINOR FLOODING OF POOR DRAINAGE&quot;"/>
<bullet bulletName="plainRain" bulletText="Due to only heavy rain" bulletGroup="advEvent" parseString="&quot;HEAVY RAIN&quot;,&quot;-THUNDERSTORM&quot;,&quot;-CAUSING&quot;,&quot;-RAPID RIVER RISES&quot;,&quot;-MINOR FLOODING OF POOR DRAINAGE&quot;"/>
@ -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="&quot;THUNDERSTORM&quot;,&quot;-CAUSING&quot;,&quot;-RAPID RIVER RISES&quot;,&quot;-MINOR FLOODING OF POOR DRAINAGE&quot;"/>
<bullet bulletName="plainRain" bulletText="Due to only heavy rain" bulletGroup="advEvent" parseString="&quot;HEAVY RAIN&quot;,&quot;-THUNDERSTORM&quot;,&quot;-CAUSING&quot;,&quot;-RAPID RIVER RISES&quot;,&quot;-MINOR FLOODING OF POOR DRAINAGE&quot;"/>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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"/>

View file

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

View file

@ -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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<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="&quot;VOLCANIC SNOWMELT&quot;,&quot;-MELTING OF SNOW AND ICE&quot;,&quot;-TORRENT&quot;" showString="&quot;VOLCANIC&quot;,&quot;-TORRENT&quot;"/>
<bullet bulletName="volcanoLahar" bulletText="Volcano induced lahar/debris flow" bulletGroup="ic" parseString="&quot;VOLCANIC SNOWMELT&quot;,&quot;MELTING OF SNOW AND ICE&quot;,&quot;TORRENT&quot;" showString="&quot;VOLCANIC&quot;,&quot;TORRENT&quot;"/> -->
<!-- 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="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<bullet bulletName="sitefailed" bulletText="Dam break - site specific (pick below) - failure has occurred" bulletGroup="damic" parseString="THE FAILURE OF" showString="&quot;DAM&quot;,&quot;.DM.&quot;,&quot;-LEVEE&quot;"/>
<bullet bulletText="" bulletType="title"/>

View file

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

View file

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

View file

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

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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");

View file

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

View file

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

View file

@ -446,6 +446,7 @@ fi
if [ "${1}" = "-edex" ]; then
##buildRPM "awips2-common-base"
buildRPM "awips2"
buildEDEX
if [ $? -ne 0 ]; then
exit 1