awips2/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/burnScarFlashFloodWarning.vm
Brian.Dyke dad6f2896b Issue #224
Former-commit-id: 043faa447b4fc15a996dfe6108093bed5f1b6497
2014-02-04 17:05:12 -05:00

378 lines
17 KiB
Text
Executable file

######################################################################
## BURN SCAR FLASH FLOOD WARNING TEMPLATE FOR COUNTY-BASED PRODUCTS ##
######################################################################
## CREATED BY Phil Kurimski 2-08-2013 OB13.2.1-5
## Modified by Phil Kurimski 9-18-2013 OB13.5.2-5 for FFW Emergency
## Evan Bookbinder 9-18-2013 Implemented config.vm
######################################################################
## This template can be used for any pre-defined polygon that a site
## needs to issue a FFW for outside of a dam break.
#################################### SET SOME VARIABLES ###################################
#parse("config.vm")
#set($hycType = "")
#set($burnDrainage = "")
#set($burnScar = "")
#set($burnCTA = "")
#set($emergencyHeadline = "!** ENTER LOCATION **!")
#########################################################################
## Parse command to include a burnScarInfo.vm file with site specific
## burn scar information. Sites can include this information in a
## separate file or include in the template per the coding below.
#########################################################################
#parse ("burnScarInfo.vm")
##
#if(${action} == "EXT")
#set($starttime = "000000T0000Z")
#set($extend = true)
#else
#set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})})
#set($extend = false)
#end
##
#set($ic = "ER")
#set($snowMelt = "")
#if(${list.contains(${bullets}, "icrs")})
#set($ic = "RS")
#set($hycType = "RAIN AND SNOWMELT IN...")
#set($snowMelt = "RAPID SNOWMELT IS ALSO OCCURRING AND WILL ADD TO THE FLOODING.")
#end
##
${WMOId} ${vtecOffice} 000000 ${BBBId}
FFW${siteId}
${ugcline}
#################################### VTEC LINE ###################################
/${productClass}.${action}.${vtecOffice}.FF.W.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/
/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/
#################################### MND HEADER ###################################
BULLETIN - EAS ACTIVATION REQUESTED
#if(${productClass}=="T")
TEST...FLASH FLOOD WARNING...TEST
#else
FLASH FLOOD WARNING
#end
NATIONAL WEATHER SERVICE ${officeShort}
#backupText(${backupSite})
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
#if(${productClass}=="T")
...THIS MESSAGE IS FOR TEST PURPOSES ONLY...
#end
#############################################################################
## Flash Flood Emergency Headline -- Coming soon to a warning near you! #
#############################################################################
#if(${list.contains(${bullets}, "ffwEmergency")} )
...FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}...
#end
#headlineext(${officeLoc}, ${backupSite}, ${extend})
#################################
######## FIRST BULLET ###########
#################################
* ##
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
FLASH FLOOD WARNING FOR...
#if(${hycType} != "")
<L> ${hycType}</L>
#end
#firstBullet(${areas})
#################################
####### SECOND BULLET ###########
#################################
* ##
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone})
################################################
#################################
######## THIRD BULLET ###########
#################################
#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 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 WARNING 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
#set($rainAmount = "")
#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 = "!** RAINFALL AMOUNTS **! INCHES OF RAIN HAVE FALLEN.")
#end
#if(${list.contains(${bullets}, "doppler")})
#set($report = "DOPPLER RADAR INDICATED HEAVY RAIN ACROSS THE WARNED AREA.")
#end
#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")})
#set($report = "DOPPLER RADAR INDICATED THUNDERSTORMS PRODUCING HEAVY RAIN ACROSS THE WARNED AREA.")
#end
#if(${list.contains(${bullets}, "dopplerGauge")})
#set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA.")
#end
#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")})
#set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THUNDERSTORMS PRODUCING HEAVY RAIN OVER THE AREA.")
#end
#if(${list.contains(${bullets}, "trainedSpotters")})
#set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")})
#set($report = "TRAINED WEATHER SPOTTERS REPORTED THUNDERSTORMS PRODUCING HEAVY RAIN IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "flash")})
#set($report = "TRAINED WEATHER SPOTTERS REPORTED FLASH FLOODING OCCURRING IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")})
#set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "public")})
#set($report = "THE PUBLIC REPORTED HEAVY RAIN IN !** LOCATION **!")
#end
#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")})
#set($report = "THE PUBLIC REPORTED HEAVY RAIN FROM THUNDERSTORMS IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "flash")})
#set($report = "THE PUBLIC REPORTED FLASH FLOODING OCCURRING IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")})
#set($report = "THE PUBLIC REPORTED HEAVY RAIN IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "lawEnforcement")})
#set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN OVER !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")})
#set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN DUE THUNDERSTORMS OVER !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "flash")})
#set($report = "LOCAL LAW ENFORCEMENT REPORTED FLASH FLOODING IS OCCURRING IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")})
#set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "emergencyManagement")})
#set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN OVER !** LOCATION **! ")
#end
#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "thunder")})
#set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN DUE TO THUNDERSTORMS OVER !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "flash")})
#set($report = "EMERGENCY MANAGEMENT REPORTED FLASH FLOODING IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "plainRain")})
#set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN IN !** LOCATION **!.")
#end
#if(${list.contains(${bullets}, "satellite")})
#set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN.")
#end
#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "thunder")})
#set($report = "SATELLITE ESTIMATES INDICATED THUNDERSTORMS PRODUCING HEAVY RAIN OVER THE WARNED AREA.")
#end
#if(${list.contains(${bullets}, "satelliteGauge")})
#set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE WARNED AREA.")
#end
#if(${list.contains(${bullets}, "satelliteGauge")} && ${list.contains(${bullets}, "thunder")})
#set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THUNDERSTORMS WERE PRODUCING HEAVY RAIN OVER THE WARNED AREA.")
#end
* ##
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. ##
#end
#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${report} ${rainAmount} ${isExpected} ${snowMelt}
#wrapText("${burnScar}" 2 2)
##########################################################################
## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet #
##########################################################################
#if(${list.contains(${bullets}, "ffwEmergency")} )
#wrapText("THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW!" 2 2)
#end
#############################################################
######## FOURTH BULLET (OPTIONAL IN FLOOD PRODUCTS) #########
#############################################################
#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!
#locationsList("SOME LOCATIONS THAT WILL EXPERIENCE FLOODING INCLUDE..." ${floodType} 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0)
#end
########################################## END OF OPTIONAL FOURTH BULLET ##############################
######################################
###### 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}, "drainages")})
#drainages(${riverdrainages})
#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
#wrapText("${burnDrainage}" 2 2)
## parse file command here is to pull in mile marker info
## #parse("mileMarkers.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
##
#if(${ctaSelected} == "YES")
PRECAUTIONARY/PREPAREDNESS ACTIONS...
#end
${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}, "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}, "urbanFloodingCTA")})
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}, "ruralFloodingCTA")})
EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE FLOODING OF SMALL CREEKS AND STREAMS...COUNTRY ROADS...AS WELL AS FARMLAND AS WELL AS OTHER DRAINAGE AREAS AND LOW LYING SPOTS.
#end
#if(${list.contains(${bullets}, "ruralUrbanCTA")})
EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE FLOODING OF SMALL CREEKS AND STREAMS...HIGHWAYS AND UNDERPASSES. ADDITIONALLY...COUNTRY ROADS AND FARMLANDS ALONG THE BANKS OF CREEKS...STREAMS AND OTHER LOW LYING AREAS ARE SUBJECT TO FLOODING.
#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}, "safetyCTA")})
DO NOT ENTER OR CROSS FLOWING WATER OR WATER OF UNKNOWN DEPTH.
#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}, "dontDriveCTA")})
DO NOT DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. THE WATER DEPTH MAY BE TOO GREAT TO ALLOW YOUR CAR TO CROSS SAFELY. MOVE TO HIGHER GROUND.
#end
#if(${list.contains(${bullets}, "turnAroundCTA")})
TURN AROUND...DONT DROWN WHEN ENCOUNTERING FLOODED ROADS. MOST FLOOD DEATHS OCCUR IN VEHICLES.
#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}, "autoSafetyCTA")})
FLOODING IS OCCURRING OR IS IMMINENT. MOST FLOOD RELATED DEATHS OCCUR IN AUTOMOBILES. DO NOT ATTEMPT TO CROSS WATER COVERED BRIDGES...DIPS...OR LOW WATER CROSSINGS. NEVER TRY TO CROSS A FLOWING STREAM...EVEN A SMALL ONE...ON FOOT. TO ESCAPE RISING WATER FIND ANOTHER ROUTE OVER HIGHER GROUND.
#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}, "lowSpotsCTA")})
IN HILLY TERRAIN THERE ARE HUNDREDS OF LOW WATER CROSSINGS WHICH ARE POTENTIALLY DANGEROUS IN HEAVY RAIN. DO NOT ATTEMPT TO TRAVEL ACROSS FLOODED ROADS. FIND AN ALTERNATE ROUTE. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY.
#end
#if(${list.contains(${bullets}, "ffwMeansCTA")})
A FLASH FLOOD WARNING MEANS THAT FLOODING IS IMMINENT OR OCCURRING. IF YOU ARE IN THE WARNING AREA MOVE TO HIGHER GROUND IMMEDIATELY. RESIDENTS LIVING ALONG STREAMS AND CREEKS SHOULD TAKE IMMEDIATE PRECAUTIONS TO PROTECT LIFE AND PROPERTY. DO NOT ATTEMPT TO CROSS SWIFTLY FLOWING WATERS OR WATERS OF UNKNOWN DEPTH BY FOOT OR BY AUTOMOBILE.
#end
#if(${list.contains(${bullets}, "powerFloodCTA")})
DO NOT UNDERESTIMATE THE POWER OF FLOOD WATERS. ONLY A FEW INCHES OF RAPIDLY FLOWING WATER CAN QUICKLY CARRY AWAY YOUR VEHICLE.
#end
#if(${list.contains(${bullets}, "reportFloodingCTA")})
PLEASE REPORT TO YOUR LOCAL LAW ENFORCEMENT AGENCY WHEN YOU CAN DO SO SAFELY.
#end
#if(${ctaSelected} == "YES")
&&
#end
#################################### END OF CTA STUFF ###################################
##########################################
########BOTTOM OF THE PRODUCT#############
##########################################
#if(${productClass}=="T")
THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE.
#end
#printcoords(${areaPoly}, ${list})
$$
#parse("forecasterName.vm")