596 lines
23 KiB
Text
596 lines
23 KiB
Text
|
####################################################
|
||
|
## IBW FLASH FLOOD STATEMENT ##
|
||
|
####################################################
|
||
|
## Created By Phil Kurimski WFO GRB
|
||
|
## Updated by Phil Kurimski 10-21-2017 FFW IBW Format/Tags for CR
|
||
|
## Phil Kurimski 11-28-2017 Removed local from local law enforcement and rain from automated rain gauges
|
||
|
## Phil Kurimski 12-01-2017 Reconfigured flash flood wording in third bullet
|
||
|
## Phil Kurimski 12-02-2017 Added Rainfall rate phrase
|
||
|
## Phil Kurimski 12-07-2017 Placed FFW Emergency phrase above Hazard Section
|
||
|
## Phil Kurimski 12-20-2017 Modified Considerable/Catastrophic Impact Statements
|
||
|
## Phil Kurimski 03-21-2018 Made Flash Flood Emergency Statement ALL CAPS
|
||
|
## Mike Rega 04-20-2018 DCS 20667 3rd bullet EMER mixed case fix
|
||
|
## Evan Bookbinder 06-05-2019 DR 21342 Ensure there is a default CTA selected and migrate IBW rain rate to amount/duration
|
||
|
#################################### SET SOME VARs ###################################
|
||
|
#parse("config.vm")
|
||
|
#set($hycType = "")
|
||
|
#set($snowMelt = "")
|
||
|
#set($floodReason = "")
|
||
|
#set($floodType = "flash flooding")
|
||
|
#set($burnCTA = "")
|
||
|
#set($endwarning = "")
|
||
|
#############################################
|
||
|
## set variables for FFW IBW Tags and format
|
||
|
#############################################
|
||
|
#set($FFTag = "RADAR INDICATED")
|
||
|
#set($FFDamageTag = "")
|
||
|
#set($RainTag = "")
|
||
|
#set($source = "Radar indicated.")
|
||
|
#set($ffwimpact = "Flooding of small creeks and streams, urban areas, highways, streets and underpasses as well as other drainage and low lying areas.")
|
||
|
#set($ratePhrase = "")
|
||
|
#set($hazardType = "heavy rain")
|
||
|
#if(${list.contains(${bullets}, "thunder")} )
|
||
|
#set($hazardType = "thunderstorms")
|
||
|
#end
|
||
|
#set($hazard = "Flash flooding caused by ${hazardType}.")
|
||
|
#########################################################################################
|
||
|
## If Considerable Flash Flooding is selected change the Damage Threat to CONSIDERABLE
|
||
|
## as well as the hazard and impact statements
|
||
|
#########################################################################################
|
||
|
#if(${list.contains(${bullets}, "considerableFFW")} )
|
||
|
#set($hazard = "Life threatening flash flooding. Heavy rain producing flash flooding.")
|
||
|
#set($ffwimpact = "Life threatening flash flooding of creeks and streams, urban areas, highways, streets and underpasses.")
|
||
|
#set($FFDamageTag = "<L>FLASH FLOOD DAMAGE THREAT...CONSIDERABLE</L>")
|
||
|
#end
|
||
|
###################################################################################
|
||
|
## If Flash Flood Emergency is selected change the Damage Threat to CATASTROPHIC
|
||
|
## as well as the hazard and impact statements
|
||
|
###################################################################################
|
||
|
#if(${list.contains(${bullets}, "ffwEmergency")} )
|
||
|
#set($hazard = "Life threatening flash flooding. Heavy rain producing flash flooding.")
|
||
|
#set($ffwimpact = "This is a PARTICULARLY DANGEROUS SITUATION. SEEK HIGHER GROUND NOW! Life threatening flash flooding of low water crossings, small creeks and streams, urban areas, highways, streets and underpasses.")
|
||
|
#set($FFDamageTag = "<L>FLASH FLOOD DAMAGE THREAT...CATASTROPHIC</L>")
|
||
|
#end
|
||
|
#############################################
|
||
|
## Set the IBW Amount/Duration Expected Tag
|
||
|
#############################################
|
||
|
#if(${list.contains(${bullets}, "ibwrain1")} )
|
||
|
#set($RainTag = "EXPECTED RAINFALL...1-2 INCHES IN 1 HOUR")
|
||
|
## #set($ratePhrase = "Rain is falling at the rate of one to two inches per hour. ")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "ibwrain2")} )
|
||
|
#set($RainTag = "EXPECTED RAINFALL...2-3 INCHES IN 1 HOUR")
|
||
|
## #set($ratePhrase = "Rain is falling at the rate of two to three inches per hour. ")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "ibwrain3")} )
|
||
|
#set($RainTag = "EXPECTED RAINFALL...1-3 INCHES IN 1 HOUR")
|
||
|
## #set($ratePhrase = "Rain is falling at the rate of one to three inches per hour. ")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "ibwrainEdit")} )
|
||
|
#set($RainTag = "EXPECTED RAINFALL...!** RAIN AMT **! INCHES IN !** TIME PERIOD **!")
|
||
|
## #set($ratePhrase = "Rain is falling at the rate of !** RAINFALL RATES **! inches per hour. ")
|
||
|
#end
|
||
|
##
|
||
|
###OVERRIDE DEFAULT EXECESSIVE RAINFALL IF NECESSARY
|
||
|
#if(${ic} == "RS")
|
||
|
#set($hycType = "RAIN AND SNOWMELT")
|
||
|
#set($snowMelt = "Rapid snowmelt is also occurring and will add to the flooding.")
|
||
|
#end
|
||
|
##
|
||
|
#if(${list.contains(${bullets}, "rainEnded")})
|
||
|
#set($endwarning = "The heavy rain has ended. ")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "recedingWater")})
|
||
|
#set($endwarning = "${endwarning}Flood waters have receded. ")
|
||
|
#end
|
||
|
#set($endwarning = "${endwarning}Flooding is no longer expected to pose a threat. Please continue to heed any remaining road closures.")
|
||
|
######################################################################################
|
||
|
${WMOId} ${vtecOffice} 000000 ${BBBId}
|
||
|
${productId}${siteId}
|
||
|
#if(${productClass}=="T")
|
||
|
TEST...Flash Flood Statement...TEST
|
||
|
#else
|
||
|
Flash Flood Statement
|
||
|
#end
|
||
|
National Weather Service ${officeShort}
|
||
|
#backupText(${backupSite})
|
||
|
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
|
||
|
|
||
|
|
||
|
#if(${action}=="COR" && ${cancelareas})
|
||
|
#set($CORCAN = "true")
|
||
|
#else
|
||
|
#set($CORCAN = "false")
|
||
|
#end
|
||
|
#if(${action}=="CANCON")
|
||
|
${ugclinecan}
|
||
|
################### VTEC/COUNTY LINE ##################
|
||
|
/${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/
|
||
|
/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/
|
||
|
#foreach (${area} in ${cancelareas})
|
||
|
#capitalize(${area.name} "FIRST")
|
||
|
#if(${includeStateAbbreviation}==true)
|
||
|
${area.stateabbr}##
|
||
|
#end
|
||
|
-##
|
||
|
#end
|
||
|
#elseif(${CORCAN}=="true")
|
||
|
${ugclinecan}
|
||
|
################### VTEC/COUNTY LINE ##################
|
||
|
/${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/
|
||
|
/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/
|
||
|
#foreach (${area} in ${cancelareas})
|
||
|
#capitalize(${area.name} "FIRST")
|
||
|
#if(${includeStateAbbreviation}==true)
|
||
|
${area.stateabbr}##
|
||
|
#end
|
||
|
-##
|
||
|
#end
|
||
|
#else
|
||
|
${ugcline}
|
||
|
################### VTEC/COUNTY LINE ##################
|
||
|
/${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/
|
||
|
/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/
|
||
|
#foreach (${area} in ${areas})
|
||
|
#capitalize(${area.name} "FIRST")
|
||
|
#if(${includeStateAbbreviation}==true)
|
||
|
${area.stateabbr}##
|
||
|
#end
|
||
|
-##
|
||
|
#end
|
||
|
#end
|
||
|
|
||
|
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
|
||
|
|
||
|
|
||
|
#if(${productClass}=="T")
|
||
|
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
|
||
|
|
||
|
#end
|
||
|
#############################################
|
||
|
#############################################
|
||
|
## EXPIRATION AND CANCELLATION SEGMENTS ####
|
||
|
#############################################
|
||
|
#############################################
|
||
|
### CREATE PHRASING DEPENDING ON WHETHER WE ISSUE EXP PRIOR TO EXPIRATION TIME OR NOT
|
||
|
#if(${now.compareTo(${expire})} >= 0 && ${action}=="EXP" )
|
||
|
#set($expcanHLTag = "HAS EXPIRED")
|
||
|
#set($expcanBODYTag = "has been allowed to expire")
|
||
|
#elseif(${action}=="EXP")
|
||
|
#set($expcanHLTag = "WILL EXPIRE AT #headlineExpire(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone})")
|
||
|
#set($expcanBODYTag = "will be allowed to expire")
|
||
|
#elseif(${action}=="CAN" || ${action}=="CANCON" || ${CORCAN}=="true")
|
||
|
#set($expcanHLTag = "IS CANCELLED")
|
||
|
#set($expcanBODYTag = "has been cancelled")
|
||
|
#end
|
||
|
################################
|
||
|
#### CREATE HEADLINES ##########
|
||
|
################################
|
||
|
##
|
||
|
#if(${action}=="EXP" || ${action}=="CAN")
|
||
|
...THE FLASH FLOOD WARNING FOR ##
|
||
|
### modified by GP
|
||
|
#if(${hycType} != "" && ${alaska} == "false")
|
||
|
<L>${hycType}</L> IN ##
|
||
|
#end
|
||
|
#if(${hycType} != "" && ${alaska} == "true")
|
||
|
<L>${hycType}</L> ##
|
||
|
#end
|
||
|
#if(${alaska}=="true")
|
||
|
!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! ${expcanHLTag}...
|
||
|
#elseif(${wrZoneCounty}=="true")
|
||
|
#headlineLocList(${affectedCounties} true true true false "ALL") ${expcanHLTag}...
|
||
|
#else
|
||
|
#headlineLocList(${areas} true true true false "ALL") ${expcanHLTag}...
|
||
|
#end
|
||
|
### GP end
|
||
|
## SLIGHTLY DIFFERENT VARIABLE FOR PARTIAL CANCELLATION HEADLINE
|
||
|
#elseif(${action}=="CANCON" || ${CORCAN}=="true")
|
||
|
...THE FLASH FLOOD WARNING FOR ##
|
||
|
### added by GP
|
||
|
#if(${hycType} != "" && ${alaska} == "false")
|
||
|
<L>${hycType}</L> IN ##
|
||
|
#end
|
||
|
#if(${hycType} != "" && ${alaska} == "true")
|
||
|
<L>${hycType}</L> ##
|
||
|
#end
|
||
|
#if(${alaska}=="true")
|
||
|
!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! ${expcanHLTag}...
|
||
|
#elseif(${wrZoneCounty}=="true")
|
||
|
#headlineLocList(${cancelaffectedCounties} true true true false "ALL") ${expcanHLTag}...
|
||
|
#else
|
||
|
#headlineLocList(${cancelareas} true true true false "ALL") ${expcanHLTag}...
|
||
|
#end
|
||
|
### GP end
|
||
|
#end
|
||
|
############################
|
||
|
## END CAN/EXP HEADLINE ####
|
||
|
############################
|
||
|
#######################################
|
||
|
## EXPIRATION/CANCELLATION STATEMENT ##
|
||
|
#######################################
|
||
|
|
||
|
#if(${action}=="EXP" || ${action} == "CAN" || ${action}=="CANCON" || ${CORCAN}=="true")
|
||
|
|
||
|
${endwarning}
|
||
|
|
||
|
#printcoords(${areaPoly}, ${list})
|
||
|
########### KEEP TWO BLANK LINES BELOW
|
||
|
|
||
|
|
||
|
$$
|
||
|
#end
|
||
|
#################################### END OF CAN STUFF ###################################
|
||
|
#### IF PARTIAL CANCELLATION, INSERT 2ND UGC/MND SECTION PRIOR TO CON PORTION
|
||
|
#########################################################################################
|
||
|
#if(${action}=="CANCON")
|
||
|
|
||
|
|
||
|
${ugcline}
|
||
|
/${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
|
||
|
/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/
|
||
|
#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
|
||
|
#elseif(${CORCAN}=="true")
|
||
|
|
||
|
|
||
|
${ugcline}
|
||
|
/${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/
|
||
|
/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/
|
||
|
#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
|
||
|
#end
|
||
|
############################
|
||
|
## CONTINUATION STATEMENT ##
|
||
|
############################
|
||
|
#if(${action}=="CANCON" || ${action}=="CON" || ${action}=="COR" || ${CORCAN}=="true")
|
||
|
#if(${productClass}=="T")
|
||
|
THIS IS A TEST MESSAGE.##
|
||
|
#end
|
||
|
###################################
|
||
|
## Flash Flood Emergency Headline #
|
||
|
###################################
|
||
|
#if(${list.contains(${bullets}, "ffwEmergency")})
|
||
|
#set($ctaSelected = "YES")
|
||
|
|
||
|
...THIS IS A FLASH FLOOD EMERGENCY FOR !**EDIT LOCATION(S)**!...
|
||
|
|
||
|
#end
|
||
|
...THE FLASH FLOOD WARNING ##
|
||
|
#if(${hycType} != "")
|
||
|
FOR <L>${hycType}</L> ##
|
||
|
#end
|
||
|
REMAINS IN EFFECT UNTIL #headlineExpire(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ##
|
||
|
### added by GP
|
||
|
#if(${alaska}=="true")
|
||
|
!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!...
|
||
|
#elseif(${wrZoneCounty}=="true")
|
||
|
#headlineLocList(${affectedCounties} true true true false "ALL")...
|
||
|
#else
|
||
|
#headlineLocList(${areas} true true true false "ALL")...
|
||
|
#end
|
||
|
|
||
|
### GP end
|
||
|
|
||
|
################################################
|
||
|
#################################
|
||
|
######## THIRD BULLET ###########
|
||
|
#################################
|
||
|
#set($reportType = "heavy rain")
|
||
|
#set($rainAmount = "")
|
||
|
#set($report = "heavy rain is occurring. !** ADD MORE DETAIL HERE **!")
|
||
|
#if(${list.contains(${bullets}, "flash")} )
|
||
|
#set($isExpected = "Flash flooding is already occurring.")
|
||
|
#else
|
||
|
#set($isExpected = "Flash flooding is ongoing or expected to begin shortly.")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "burnScar")} )
|
||
|
#set($burnScar = "Excessive rainfall over the burn scar will result in debris flow moving through the !** DRAINAGE **!. The debris flow can consist of rock, mud, vegetation and other loose materials.")
|
||
|
## #set($burnCTA = "Persons in the vicinity of !** DRAINAGE **! should evacuate immediately.")
|
||
|
## #set($ctaSelected = "YES")
|
||
|
#elseif(${list.contains(${bullets}, "mudSlide")} )
|
||
|
#set($burnScar = "Excessive rainfall over the warned area will cause mud slides near steep terrain. The mud slide can consist of rock, mud, vegetation and other loose materials.")
|
||
|
## #set($burnCTA = "Persons in the vicinity of !** DRAINAGE **! Should evacuate immediately.")
|
||
|
## #set($ctaSelected = "YES")
|
||
|
#else
|
||
|
#set($burnScar = "")
|
||
|
#set($burnCTA = "")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "rain1")} )
|
||
|
#set($rainAmount = "Up to one inch of rain has already fallen.")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "rain2")} )
|
||
|
#set($rainAmount = "Up to two inches of rain have already fallen.")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "rain3")} )
|
||
|
#set($rainAmount = "Up to three inches of rain have already fallen.")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "rainEdit")} )
|
||
|
#set($rainAmount = "!** AMOUNT **! inches of rain have fallen.")
|
||
|
#end
|
||
|
#set($eventType = "heavy rain falling")
|
||
|
#if(${list.contains(${bullets}, "thunder")})
|
||
|
#set($eventType = "thunderstorms producing heavy rain")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "doppler")})
|
||
|
#set($report = "Doppler radar indicated ${eventType} across the warned area.")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "dopplerGauge")})
|
||
|
#set($report = "Doppler radar and automated gauges indicated ${eventType} across the warned area.")
|
||
|
#set($source = "Radar and automated gauges.")
|
||
|
#set($FFTag = "RADAR AND GAUGE INDICATED")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "trainedSpotters")})
|
||
|
#set($report = "trained weather spotters reported ${eventType} in !** LOCATION **!.")
|
||
|
#set($source = "Trained weather spotters.")
|
||
|
#set($FFTag = "OBSERVED")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "lawEnforcement")})
|
||
|
#set($report = "law enforcement reported ${eventType} in !** LOCATION **!.")
|
||
|
#set($source = "law enforcement.")
|
||
|
#set($FFTag = "OBSERVED")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "emergencyManagement")})
|
||
|
#set($report = "emergency management reported ${eventType} in !** LOCATION **! ")
|
||
|
#set($source = "emergency management.")
|
||
|
#set($FFTag = "OBSERVED")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "public")})
|
||
|
#set($report = "the public reported ${eventType} in !** LOCATION **!.")
|
||
|
#set($source = "public.")
|
||
|
#set($FFTag = "OBSERVED")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "satellite")})
|
||
|
#set($report = "satellite estimates indicated ${eventType} over the warned area.")
|
||
|
#set($source = "Satellite indicated.")
|
||
|
#set($FFTag = "SATELLITE INDICATED")
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "satelliteGauge")})
|
||
|
#set($report = "satellite estimates and automated gauges indicated ${eventType} across the warned area.")
|
||
|
#set($source = "Satellite and automated gauges.")
|
||
|
#set($FFTag = "SATELLITE AND GAUGE INDICATED")
|
||
|
#end
|
||
|
### added by GP
|
||
|
#if(${list.contains(${bullets}, "onlyGauge")})
|
||
|
#set($report = "gauge reports indicated ${eventType} across the warned area.")
|
||
|
#set($source = "Automated gauges.")
|
||
|
#set($FFTag = "GAUGE INDICATED")
|
||
|
#end
|
||
|
### GP end
|
||
|
|
||
|
#if(${productClass}=="T")
|
||
|
THIS IS A TEST MESSAGE. ##
|
||
|
#end
|
||
|
############## IF TRACK IS ENABLED AND stormPosition SELECTED ###############################################
|
||
|
#if(${list.contains(${bullets},"stormPosition")})
|
||
|
#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})
|
||
|
#if(${stormType} == "line")
|
||
|
, thunderstorms producing heavy rain were located ##
|
||
|
#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine})
|
||
|
#else
|
||
|
, a thunderstorm producing heavy rain was located ##
|
||
|
#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell})
|
||
|
#end
|
||
|
#if(${movementSpeed} < ${landStationary} || ${stationary})
|
||
|
, and is stationary. ##
|
||
|
#else
|
||
|
#if(${stormType} == "line")
|
||
|
, and moving ##
|
||
|
#else
|
||
|
, moving ##
|
||
|
#end
|
||
|
#direction(${movementDirectionRounded}) at ${mathUtil.roundTo5(${movementSpeed})} mph. ##
|
||
|
#end
|
||
|
${rainAmount} ${ratePhrase}${isExpected} ${snowMelt}
|
||
|
#else
|
||
|
###############IF TRACK IS NOT ENABLED OR stormPosition IS NOT SELECTED #######################################
|
||
|
#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}), ${report} ${rainAmount} ${ratePhrase}${isExpected} ${snowMelt}
|
||
|
#end
|
||
|
|
||
|
##########################
|
||
|
## Flash Flood Emergency #
|
||
|
##########################
|
||
|
#if(${list.contains(${bullets}, "ffwEmergency")} )
|
||
|
#set($ctaSelected = "YES")
|
||
|
THIS IS A FLASH FLOOD EMERGENCY FOR !** Edit Location(s) **!. This is a PARTICULARLY DANGEROUS SITUATION. SEEK HIGHER GROUND NOW!
|
||
|
#end
|
||
|
|
||
|
####################################
|
||
|
## Section for the FFW IBW format ##
|
||
|
####################################
|
||
|
|
||
|
#wrapText("HAZARD...#capitalize(${hazard} 'FIRST')" 0 9)
|
||
|
|
||
|
#wrapText("SOURCE...#capitalize(${source} 'FIRST')" 0 9)
|
||
|
|
||
|
#wrapText("IMPACT...${ffwimpact}" 0 9)
|
||
|
|
||
|
######################################################
|
||
|
######## OPTIONAL LOCATIONS/CITY LIST INFO ##########
|
||
|
######################################################
|
||
|
############# IF TRACK IS ENABLED AND trackStorm AND stormPosition BOTH SELECTED ###############################################
|
||
|
#if(${list.contains(${bullets},"pathcast")} && ${list.contains(${bullets}, "stormPosition")})
|
||
|
#if(${productClass}=="T")
|
||
|
THIS IS A TEST MESSAGE. ##
|
||
|
#end
|
||
|
#if($movementSpeed < 3 )
|
||
|
#pathCast("Heavy rain will continue over the following locations..." "HEAVY RAIN" ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
|
||
|
|
||
|
#else
|
||
|
#pathCast("Heavy rain will move over the following locations..." "HEAVY RAIN" ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
|
||
|
|
||
|
#end
|
||
|
#end
|
||
|
################
|
||
|
#if(${list.contains(${bullets}, "listofcities")})
|
||
|
###set($phenomena = "FLASH FLOOD")
|
||
|
#set($floodType = "flash flooding")
|
||
|
###set($warningType = "WARNING")
|
||
|
#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!
|
||
|
#if(${list.contains(${bullets}, "burnScar")} || ${list.contains(${bullets}, "mudSlide")})
|
||
|
${burnScar}
|
||
|
|
||
|
#end
|
||
|
#locationsList("Some locations that will experience flooding include..." ${floodType} 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
|
||
|
|
||
|
#end
|
||
|
########### KEEP THE TWO BLANK LINES BELOW
|
||
|
|
||
|
|
||
|
########################################## END OF OPTIONAL LOCATIONS LISTS ##############################
|
||
|
######################################
|
||
|
###### WHERE ADDITIONAL INFO GOES ####
|
||
|
######################################
|
||
|
#if(${list.contains(${bullets}, "addRainfall")})
|
||
|
Additional rainfall amounts of !** EDIT AMOUNT **! are possible in the warned area.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "particularStream")})
|
||
|
Flood waters are moving down !**NAME OF CHANNEL**! from !**LOCATION**! to !**LOCATION**!. The flood crest is expected to reach !**LOCATION(S)**! by !**TIME(S)**!.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "drainages")})
|
||
|
#drainages(${riverdrainages})
|
||
|
|
||
|
#end
|
||
|
|
||
|
## parse file command here is to pull in mile marker info
|
||
|
## #parse("mileMarkers.vm")
|
||
|
## Uncomment below pull in point marker info
|
||
|
## #parse("pointMarkers.vm")
|
||
|
|
||
|
#################################### END OF ADDITIONAL STUFF ###################################
|
||
|
######################################
|
||
|
####### CALL TO ACTIONS ##############
|
||
|
######################################
|
||
|
##Check to see if we've selected any calls to action.
|
||
|
#foreach (${bullet} in ${bullets})
|
||
|
#if(${bullet.endsWith("CTA")})
|
||
|
#set($ctaSelected = "YES")
|
||
|
#end
|
||
|
#end
|
||
|
##
|
||
|
PRECAUTIONARY/PREPAREDNESS ACTIONS...
|
||
|
|
||
|
|
||
|
##${burnCTA}
|
||
|
|
||
|
#if(${list.contains(${bullets}, "ffwEmergencyCTA")} || ${list.contains(${bullets}, "ffwEmergency")})
|
||
|
#if(${list.contains(${bullets}, "ffwEmergency")})
|
||
|
Move to higher ground now. This is an extremely dangerous and life-threatening situation. Do not attempt to travel unless you are fleeing an area subject to flooding or under an evacuation order.
|
||
|
|
||
|
#else
|
||
|
!** YOU SELECTED THE FLASH FLOOD EMERGENCY CTA WITHOUT SELECTING THE FLASH FLOOD EMERGENCY HEADER. PLEASE CLOSE THIS WINDOW AND RE-GENERATE THIS WARNING **!
|
||
|
|
||
|
#end
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "TADD_CTA")} || ${ctaSelected} != "YES")
|
||
|
Turn around, don't drown when encountering flooded roads. Most flood deaths occur in vehicles.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "actQuicklyCTA")})
|
||
|
Move to higher ground now. Act quickly to protect your life.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "childSafetyCTA")})
|
||
|
Keep children away from storm drains, culverts, creeks and streams. Water levels can rise rapidly and sweep children away.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "nighttimeCTA")})
|
||
|
Be especially cautious at night when it is harder to recognize the dangers of flooding.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "urbanCTA")})
|
||
|
Excessive runoff from heavy rainfall will cause flooding of small creeks and streams, urban areas, highways, streets and underpasses as well as other drainage areas and low lying spots.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "ruralCTA")})
|
||
|
Excessive runoff from heavy rainfall will cause flooding of small creeks and streams, country roads, farmland, and other low lying spots.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "stayAwayCTA")})
|
||
|
Stay away or be swept away. River banks and culverts can become unstable and unsafe.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "lowSpotsCTA")})
|
||
|
In hilly terrain there are hundreds of low water crossings which are potentially dangerous in heavy rain. Do not attempt to cross flooded roads. Find an alternate route.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "arroyosCTA")})
|
||
|
Remain alert for flooding even in locations not receiving rain. Arroyos, streams, and rivers can become raging killer currents in a matter of minutes, even from distant rainfall.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "burnAreasCTA")})
|
||
|
Move away from recently burned areas. Life-threatening flooding of creeks, roads and normally dry arroyos is likely. The heavy rains will likely trigger rockslides, mudslides and debris flows in steep terrain, especially in and around these areas.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "camperSafetyCTA")})
|
||
|
Flooding is occurring or is imminent. It is important to know where you are relative to streams, rivers, or creeks which can become killers in heavy rains. Campers and hikers should avoid streams or creeks.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "reportFloodingCTA")})
|
||
|
Please report flooding to your local law enforcement agency when you can do so safely.
|
||
|
|
||
|
#end
|
||
|
#if(${list.contains(${bullets}, "ffwMeansCTA")})
|
||
|
A Flash Flood Warning means that flooding is imminent or occurring. If you are in the warned area move to higher ground immediately. Residents living along streams and creeks should take immediate precautions to protect life and property.
|
||
|
|
||
|
#end
|
||
|
&&
|
||
|
|
||
|
#################################### END OF CTA STUFF ###################################
|
||
|
########################
|
||
|
## LAT/LON, TML, SIGN ##
|
||
|
########################
|
||
|
#if(${productClass}=="T")
|
||
|
THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE.
|
||
|
|
||
|
#end
|
||
|
|
||
|
#printcoords(${areaPoly}, ${list})
|
||
|
|
||
|
|
||
|
<L>FLASH FLOOD...${FFTag}</L>
|
||
|
#if($FFDamageTag.length() > 0)
|
||
|
${FFDamageTag}
|
||
|
#end
|
||
|
#if($RainTag.length() > 0)
|
||
|
${RainTag}
|
||
|
#end
|
||
|
|
||
|
$$
|
||
|
#end
|
||
|
|
||
|
#parse("forecasterName.vm")
|