544 lines
18 KiB
Text
Executable file
544 lines
18 KiB
Text
Executable file
#################################################
|
|
## 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")
|