awips2/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/extremeWindWarningFollowup.vm

545 lines
18 KiB
Text
Raw Permalink Normal View History

2017-04-21 18:33:55 -06:00
#################################################
## EWW SVS ##
## MODIFIED EVAN BOOKBINDER 09-16-2011 OB11.0.8-8
## Evan Bookbinder 4-25-2012 for OB 12.3.1 (corText)
## Mike Dangelo 9-13-2012 minor tweaks to ${variables}
## Evan Bookbinder 06-07-2013 Fixed CTAs/&&
## Evan Bookbinder 09-18-2013 Implemented config.vm
## Dave Tomalak 3-25/26-2015 Mixed Case
## Mike Dangelo 10-22-2015 checked for mixed case = passed
################################################
##
#parse("config.vm")
### CREATE PHRASING DEPENDING ON WHETHER WE ISSUE EXP PRIOR TO EXPIRATION TIME OR NOT
#if(${action}=="COR" && ${cancelareas})
#set($CORCAN = "true")
#else
#set($CORCAN = "false")
#end
#if(${now.compareTo(${expire})} >= 0 && ${action}=="EXP" )
#set($expcanHLTag = "HAS EXPIRED")
#elseif(${action}=="EXP")
#set($expcanHLTag = "WILL EXPIRE AT #headlineExpire(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone})")
#elseif(${action}=="CAN" || ${action}=="CANCON" || ${CORCAN}=="true")
#set($expcanHLTag = "IS CANCELLED")
#end
#############
## EWW CAN ##
#############
#if(${action}=="CAN")
${WMOId} ${vtecOffice} 000000 ${BBBId}
${productId}${siteId}
#if(${productClass}=="T")
TEST...Severe Weather Statement...TEST
#else
Severe Weather Statement
#end
National Weather Service ${officeShort}
#backupText(${backupSite})
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
${ugcline}
/${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
#foreach (${area} in ${areas})
#capitalize(${area.name} "FIRST")
#if(${includeStateAbbreviation}==true)
${area.stateabbr}##
#end
-##
#end
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
...THE EXTREME WIND WARNING FOR ##
#headlineLocList(${areas} true true true false "ALL") ${expcanHLTag}...
## One line explanation
!**EXPLANATION**!
#############
## WATCHES ##
#############
#if(${list.contains(${includedWatches}, "TO.A")})
#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#if(${list.contains(${includedWatches}, "SV.A")})
#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#end
#############
## EWW CON ##
#############
#if(${action}=="CON" || (${action}=="COR" && ${CORCAN}=="false"))
##
#set($reportType1 = "associated with the eyewall of hurricane !**name**!#commaOrEllipsis()were moving onshore")
#set($reportType = "extreme winds")
#set($reportType2 = "the hurricane eyewall was")
##
#if(${list.contains(${bullets}, "var2")})
#set($reportType1 = "associated with a broad area of intense thunderstorms, located")
#set($reportType = "extreme winds were occuring")
#set($reportType2 = "this area of thunderstorm winds was")
#end
##
#if(${list.contains(${bullets}, "var3")})
#set($reportType1 = "associated with an intense low pressure area, located")
#set($reportType = "extreme winds were occuring")
#set($reportType2 = "this intense low pressure system was")
#end
##
#if(${list.contains(${bullets}, "var4")})
#set($reportType1 = "associated with a downslope windstorm, located")
#set($reportType = "extreme winds were occuring")
#set($reportType2 = "this area of downslope winds was")
#end
##
#if(${list.contains(${bullets}, "basis1")})
#set($reportType = "National Weather Service Doppler radar indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis2")})
#set($reportType = "surface observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis3")})
#set($reportType = "maritime observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis4")})
#set($reportType = "trained weather spotters reported extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis5")})
#set($reportType = "National Weather Service Doppler radar and surface observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis6")})
#set($reportType = "National Weather Service Doppler radar and maritime observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis7")})
#set($reportType = "National Weather Service Doppler radar and trained weather spotters reported extreme winds")
#end
##
${WMOId} ${vtecOffice} 000000 ${BBBId}
${productId}${siteId}
#if(${productClass}=="T")
TEST...Severe Weather Statement...TEST
#else
Severe Weather Statement
#end
National Weather Service ${officeShort}
#backupText(${backupSite})
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
${ugcline}
/${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
#foreach (${area} in ${areas})
#capitalize(${area.name} "FIRST")
#if(${includeStateAbbreviation}==true)
${area.stateabbr}##
#end
-##
#end
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
...AN EXTREME WIND WARNING REMAINS IN EFFECT UNTIL #headlineExpire(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ##
#headlineLocList(${areas} true true true false "ALL")...
## Storm current location description
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})
#commaOrEllipsis()${reportType}#commaOrEllipsis()${reportType1} ##
#else
#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})
#commaOrEllipsis()${reportType}#commaOrEllipsis()${reportType1} ##
#end
##Many of the variables passed below are controlled by config.vm
#if(${stormType} == "line")
#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine})
#else
#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell})
#end
#if(${movementSpeed} < ${landStationary} || ${stationary})
. ${reportType2} nearly stationary.##
#else
#commaOrEllipsis()moving #direction(${movementDirectionRounded}) at ${mathUtil.roundTo5(${movementSpeed})} mph.##
#end
This is an extremely dangerous and life-threatening situation!
#set($phenomena = "EXTREME WINDS")
#set($warningType = "WARNING")
#if(${list.contains(${bullets}, "pathcast")})
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
#pathCast("${phenomena} will be near..." ${phenomena} ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
#elseif(${list.contains(${bullets}, "listofcities")})
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
#### THE THIRD ARGUMENT IS A NUMBER SPECIFYING THE NUMBER OF COLUMNS TO OUTPUT THE CITIES LIST IN
#### 0 IS A ... SEPARATED LIST, 1 IS ONE PER LINE, >1 IS A COLUMN FORMAT
#### IF YOU USE SOMETHING OTHER THAN "LOCATIONS IMPACTED INCLUDE" LEAD IN BELOW, MAKE SURE THE
#### ACCOMPANYING XML FILE PARSE STRING IS CHANGED TO MATCH!
#locationsList("Locations impacted include..." "${phenomena} are expected to remain over mainly rural areas of" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
#end
###### mile markers ##############
## #parse("mileMarkers.vm")
#####################
## CALL TO ACTIONS ##
#####################
#if(${list.contains(${bullets}, "destructiveWindsCTA")} || ${list.contains(${bullets}, "takeCoverCTA")} || ${list.contains(${bullets}, "safePlacesCTA")})
PRECAUTIONARY/PREPAREDNESS ACTIONS...
#end
#if(${list.contains(${bullets}, "destructiveWindsCTA")})
Widespread destructive winds of !** **! to !** **! mph will spread across ##
#headlineLocList(${areas} true true true false)#commaOrEllipsis()Producing swaths of tornado-like damage.
#end
#if(${list.contains(${bullets}, "takeCoverCTA")})
TAKE COVER NOW! Treat these imminent extreme winds as if a tornado was approaching and move immediately to the safe room in your shelter. Take action now to protect your life!
#end
#if(${list.contains(${bullets}, "safePlacesCTA")})
The safest place to be during a major landfalling hurricane is in a reinforced interior room away from windows. Get under a table or other piece of sturdy furniture. Use mattresses, blankets or pillows to cover your head and body. Remain in place through the passage of these life-threatening conditions.
#end
#############
## WATCHES ##
#############
#if(${list.contains(${includedWatches}, "TO.A")})
#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#if(${list.contains(${includedWatches}, "SV.A")})
#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#end
#################
## EWW CAN/CON ##
#################
#if(${action}=="CANCON" || ${CORCAN}=="true")
##
#set($reportType1 = "associated with the eyewall of hurricane !**name**!#commaOrEllipsis()were moving onshore")
#set($reportType = "extreme winds")
#set($reportType2 = "the hurricane eyewall was")
##
#if(${list.contains(${bullets}, "var2")})
#set($reportType1 = "associated with a broad area of intense thunderstorms, located")
#set($reportType = "extreme winds were occurinG")
#set($reportType2 = "this area of thunderstorm winds was")
#end
##
#if(${list.contains(${bullets}, "var3")})
#set($reportType1 = "associated with an intense low pressure area, located")
#set($reportType = "extreme winds were occuring")
#set($reportType2 = "this intense low pressure system was")
#end
##
#if(${list.contains(${bullets}, "var4")})
#set($reportType1 = "associated with a downslope windstorm, located")
#set($reportType = "extreme winds were occuring")
#set($reportType2 = "this area of downslope winds was")
#end
##
#if(${list.contains(${bullets}, "basis1")})
#set($reportType = "National Weather Service Doppler radar indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis2")})
#set($reportType = "surface observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis3")})
#set($reportType = "maritime observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis4")})
#set($reportType = "trained weather spotters reported extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis5")})
#set($reportType = "National Weather Service Doppler radar and surface observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis6")})
#set($reportType = "National Weather Service Doppler radar and maritime observations indicated extreme winds")
#end
##
#if(${list.contains(${bullets}, "basis7")})
#set($reportType = "National Weather Service Doppler radar and trained weather spotters reported extreme winds")
#end
##
${WMOId} ${vtecOffice} 000000 ${BBBId}
${productId}${siteId}
#if(${productClass}=="T")
TEST...Severe Weather Statement...TEST
#else
Severe Weather Statement
#end
National Weather Service ${officeShort}
#backupText(${backupSite})
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
${ugclinecan}
/${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
#foreach (${area} in ${cancelareas})
#capitalize(${area.name} "FIRST")
#if(${includeStateAbbreviation}==true)
${area.stateabbr}##
#end
-##
#end
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE.##
#end
...THE EXTREME WIND WARNING FOR ##
#headlineLocList(${cancelareas} true true true false "ALL") ${expcanHLTag}...
###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE
###headlineLocList(${cancelaffectedCounties} true true true false "ALL") ${expcanHLTag}...
## One line explanation
!**EXPLANATION**!
#############
## WATCHES ##
#############
#if(${list.contains(${includedWatches}, "TO.A")})
#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#if(${list.contains(${includedWatches}, "SV.A")})
#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE.
#end
#printcoords(${areaPoly}, ${list})
#tml(${TMLtime}, ${timeFormat}, ${movementDirection}, ${movementInKnots}, ${eventLocation})
$$
${ugcline}
/${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
#foreach (${area} in ${areas})
#capitalize(${area.name} "FIRST")
#if(${includeStateAbbreviation}==true)
${area.stateabbr}##
#end
-##
#end
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE.##
#end
...AN EXTREME WIND WARNING REMAINS IN EFFECT UNTIL #headlineExpire(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ##
#headlineLocList(${areas} true true true false "ALL")...
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. At ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}#commaOrEllipsis()${reportType}#commaOrEllipsis()${reportType1} ##
#else
At ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}#commaOrEllipsis()${reportType}#commaOrEllipsis()${reportType1} ##
#end
##Many of the variables passed below are controlled by config.vm
#if(${stormType} == "line")
#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine})
#else
#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell})
#end
#if(${movementSpeed} < ${landStationary} || ${stationary})
. ${reportType2} nearly stationary.##
#else
, moving #direction(${movementDirectionRounded}) at ${mathUtil.roundTo5(${movementSpeed})} mph.##
#end
This is an extremely dangerous and life-threatening situation!
#set($phenomena = "EXTREME WINDS")
#set($warningType = "WARNING")
#if(${list.contains(${bullets}, "pathcast")})
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
#pathCast("${phenomena} will be near..." ${phenomena} ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
#elseif(${list.contains(${bullets}, "listofcities")})
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
#### THE THIRD ARGUMENT IS A NUMBER SPECIFYING THE NUMBER OF COLUMNS TO OUTPUT THE CITIES LIST IN
#### 0 IS A ... SEPARATED LIST, 1 IS ONE PER LINE, >1 IS A COLUMN FORMAT
#### IF YOU USE SOMETHING OTHER THAN "LOCATIONS IMPACTED INCLUDE" LEAD IN BELOW, MAKE SURE THE
#### ACCOMPANYING XML FILE PARSE STRING IS CHANGED TO MATCH!
#locationsList("Locations impacted include..." ${phenomena} 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
#end
###### mile markers ##############
## #parse("mileMarkers.vm")
##################################
######### CALLS TO ACTION ########
##################################
##Check to see if we've selected any calls to action. In our .xml file
##we ended each CTA bullet ID with "CTA" for this reason as a 'trip'
#foreach (${bullet} in ${bullets})
#if(${bullet.endsWith("CTA")})
#set($ctaSelected = "YES")
#end
#end
##
#if(${ctaSelected} == "YES")
PRECAUTIONARY/PREPAREDNESS ACTIONS...
#end
##
#if(${list.contains(${bullets}, "destructiveWindsCTA")})
Widespread destructive winds of !** **! to !** **! mph will spread across ##
#foreach (${area} in ${areas})
${area.name} ${area.areaNotation}#commaOrEllipsis()##
#end
producing swaths of tornado-like damage.
#end
#if(${list.contains(${bullets}, "takeCoverCTA")})
TAKE COVER NOW! Treat these imminent extreme winds as if a tornado was approaching and move immediately to the safe room in your shelter. Take action now to protect your life!
#end
#if(${list.contains(${bullets}, "safePlacesCTA")})
The safest place to be during a major landfalling hurricane is in a reinforced interior room away from windows. Get under a table or other piece of sturdy furniture. Use mattresses#commaOrEllipsis()blankets or pillows to cover your head and body. Remain in place through the passage of these life-threatening conditions.
#end
##
#if(${ctaSelected} == "YES")
&&
#end
##
#############
## WATCHES ##
#############
#if(${list.contains(${includedWatches}, "TO.A")})
#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#if(${list.contains(${includedWatches}, "SV.A")})
#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#end
#################
## EWW SVS EXP ##
#################
#if(${action}=="EXP")
${WMOId} ${vtecOffice} 000000 ${BBBId}
${productId}${siteId}
Severe Weather Statement
National Weather Service ${officeShort}
#backupText(${backupSite})
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
${ugcline}
/${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
#foreach (${area} in ${areas})
#capitalize(${area.name} "FIRST")
#if(${includeStateAbbreviation}==true)
${area.stateabbr}##
#end
-##
#end
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE.##
#end
...THE EXTREME WIND WARNING FOR ##
#headlineLocList(${areas} true true true false "ALL") ${expcanHLTag}...
#############
## WATCHES ##
#############
#if(${list.contains(${includedWatches}, "TO.A")})
#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#if(${list.contains(${includedWatches}, "SV.A")})
#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat})
#end
#end
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE.
#end
#printcoords(${areaPoly}, ${list})
#tml(${TMLtime}, ${timeFormat}, ${movementDirection}, ${movementInKnots}, ${eventLocation})
$$
#parse("forecasterName.vm")