diff --git a/cave/build/static/common/cave/etc/bundles/StationPlot.xml b/cave/build/static/common/cave/etc/bundles/StationPlot.xml index 4cc189019a..738e92ca0a 100644 --- a/cave/build/static/common/cave/etc/bundles/StationPlot.xml +++ b/cave/build/static/common/cave/etc/bundles/StationPlot.xml @@ -52,7 +52,7 @@ + isRequeryNecessaryOnTimeMatch="true" isTopOfTheHour="true" pixelSizeHint="45"> diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py b/cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py index fcc8c8ab4f..f7cebeb983 100644 --- a/cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py +++ b/cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py @@ -28,24 +28,39 @@ # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # 07/25/08 njensen Initial Creation. -# +# 09/05/13 #2329 randerso Added error handling # # -import sys +import sys, traceback, os, time, LogStream from java.util import ArrayList def getCombinations(comboName): - outercombos = ArrayList() - cmd = "md = __import__(\"" + comboName + "\")" - exec cmd - comList = md.Combinations - for i in comList: - combos = ArrayList() - innerList = i[0] - for zone in innerList: - combos.add(zone) - outercombos.add(combos) - return outercombos + try: + outercombos = ArrayList() + md = __import__(comboName) + comList = md.Combinations + for i in comList: + combos = ArrayList() + innerList = i[0] + for zone in innerList: + combos.add(zone) + outercombos.add(combos) + return outercombos + + except AttributeError as e: + filename = md.__file__ + if filename.endswith("pyc") or filename.endswith("pyo"): + filename = filename[:-1] + with open(filename,'r') as fd: + filecontents = fd.read() + + LogStream.logProblem("\nERROR loading combinations file: "+ comboName + + "\nmd.__file__: " + md.__file__ + + "\ndir(md): " + str(dir(md)) + + "\n" + md.__file__ + " last modified: " + time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(os.path.getmtime(md.__file__))) + + "\n" + filename + " last modified: " + time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(os.path.getmtime(filename))) + + "\nContents of " + filename + "\n" + filecontents) + raise e diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartScript.py b/cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartScript.py index 42a6445586..15e984f5ac 100644 --- a/cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartScript.py +++ b/cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartScript.py @@ -46,6 +46,7 @@ # Cleaned up some constants # Jun 21, 2013 14983 ryu Fixed encodeEditArea() to evaluate query # when necessary +# Oct 07, 2013 2424 randerso remove use of pytz # ######################################################################## import types, string, time, sys @@ -1479,14 +1480,14 @@ class SmartScript(BaseTool.BaseTool): This should be used instead of time.localtime() ''' - from pytz import timezone + import dateutil.tz if tz is None: tzname = self.__dataMgr.getClient().getSiteTimeZone() - tz = timezone(tzname) + tz = dateutil.tz.gettz(tzname) - utczone = timezone('UTC') - gmdt = utczone.localize(self._gmtime(date)) + utczone = dateutil.tz.gettz('UTC') + gmdt = self._gmtime(date).replace(tzinfo=utczone) tzdt = gmdt.astimezone(tz) return tzdt diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700_vv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700_vv.attr index 3e7cca1dfa..9669048933 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700_vv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700_vv.attr @@ -22,6 +22,7 @@ FINT=50;70;90 FLINE=0;24;23;22 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-1/~ 1000-470 MB RH, TEMP (BL yel,850 red), 700 Omega!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv.attr index f0b826e0b2..272221dc47 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv.attr @@ -20,6 +20,7 @@ FINT=50;70;90 FLINE=0;24;23;22 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-1/~ 1000-440 MB RH, TEMP (BL yel,850 red), 700 Omega!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv_global.attr index a2b3ce3cfd..c3f17241a1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-470mb_rh_rs_t_700mb_vv_global.attr @@ -20,7 +20,7 @@ FINT = 50;70;90 FLINE = 0;24;23;22 HILO = 0 HLSYM = 0 -!CLRBAR= 1 +CLRBAR=1 WIND = TITLE = 1/-2/~ 1000-440 MB RH, TEMP (BL yel,850 red), 700 Omega!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500_THKN.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500_THKN.attr index 3889ccf8a1..8958583263 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500_THKN.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500_THKN.attr @@ -11,6 +11,7 @@ FINT=5000;5050;5100;5150;5200 FLINE=0;18;17;16;15;14 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=5/-1/~ 1000-500 MB THICKNESS COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500mb_rh.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500mb_rh.attr index d869b7d9fc..2b91402122 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500mb_rh.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-500mb_rh.attr @@ -18,6 +18,7 @@ FINT=10;30;70;90 FLINE=18;8;0;22;23 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-2/~ @ MEAN LAYER RELATIVE HUMIDITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850_thkn.attr index 7aa9b880e9..9554ed1464 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850_thkn.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=1/-1/~ 1000-850 MB THKN!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850thk_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850thk_only.attr index 2642642881..23477e0e5c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850thk_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000-850thk_only.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM=1;1//22;22/1.4;1.4/hw +CLRBAR=1 WIND= TITLE=1/-1/~ PMSL, 1000-850mb THKN COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_absv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_absv.attr index 0561361cff..980c91f83e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_absv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_absv.attr @@ -17,6 +17,7 @@ FINT=08;12;16;20;24;28;32;36;40;44 FLINE=0;23-12 HILO=2;0/X/10-99!! HLSYM= +CLRBAR=1/V/LL WIND=0 !0 !0 !bk1/0.8/1 TITLE=1/-1/~ ^ @ HEIGHTS, AbsVORT AND WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_tmp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_tmp_wind.attr index a159d47133..90f9afe594 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_tmp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_hght_tmp_wind.attr @@ -18,6 +18,7 @@ FINT=-24;-18;-12;-6;0;18 FLINE=24;30;28;29;25;0;17 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_streamlines.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_streamlines.attr index 4d9b2f663c..3ead8cf2a6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_streamlines.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/1000mb_streamlines.attr @@ -17,6 +17,7 @@ FINT=20;35;50;65 FLINE=0;18;17;16;15 HILO= HLSYM= +CLRBAR=1 WIND=bk0 TITLE=1/-2/~ 1000 MB STREAMLINES, WIND|~1000 MB STMLNS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/100mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/100mb_hght_wind.attr index 18b4db77c8..dd8a56ac4d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/100mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/100mb_hght_wind.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind.attr index 1ae4fdbb43..3c75dcff26 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind_rap.attr index 1d7200060b..a0fa468ff5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/150mb_hght_wind_rap.attr @@ -17,7 +17,7 @@ FINT = 70;90;110;130;150 FLINE = 0;25;24;29;7;15 HILO = HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_absv_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_absv_wind.attr index 8dfdd70988..5755eda687 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_absv_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_absv_wind.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND= TITLE=5/-1/~ @ WINDS and VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs.attr index 5e8f848920..e122652e61 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs.attr @@ -17,6 +17,7 @@ FINT=!70;90;110;130;150;170;190!3;5;7;9;11;13! FLINE=!0;24;25;29;7;15;14;2!0;23;22;21;17;16;2! HILO=0!0!0!0!1/H#;L#/3 HLSYM=0!0!0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=0!0!1/V/LL!0 WIND=0 TITLE=1/-1/~ @ DIVERGENCE AND ISOTACHS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs_rap.attr index e8465141bc..af48f3c3e6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_div_isotachs_rap.attr @@ -17,7 +17,7 @@ FINT = !70;90;110;130;150;170;190!3;5;7;9;11;13! FLINE = !0;24;25;29;7;15;14;2!0;23;22;21;17;16;2! HILO = 0!0!0!0!1/H#;L#/3 HLSYM = 0!0!0!0!1.5;1.5//22;22/2;2/hw -!CLRBAR = 0!0!1/V/LL!0 +CLRBAR = 0!0!1/V/LL!0 WIND = 0 TITLE = 1/-1/~ @ DIVERGENCE AND ISOTACHS!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind.attr index 14f5b615f8..b1f3e0c46f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind.attr @@ -20,6 +20,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind_al.attr index 09032b6b32..88174b2656 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_hght_wind_al.attr @@ -18,6 +18,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_vorticity_pw.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_vorticity_pw.attr index 025fa74bcd..2336784893 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_vorticity_pw.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_vorticity_pw.attr @@ -18,6 +18,7 @@ FINT=!0.5;1.0;1.5;2.0 FLINE=!0;23;22;30;14 HILO=!!2;6/X;N/10-99;10-99 ! ! HLSYM= +CLRBAR=1 WIND=9/.8/2/112 TITLE=1/-1/~ 200mb HGHT, VORTICITY, PW AND 850 WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind.attr index 51e51b905e..e0307251d8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind.attr @@ -18,6 +18,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind_div_isotachs.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind_div_isotachs.attr index 59513082c2..f3cbfd8e7a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind_div_isotachs.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wind_div_isotachs.attr @@ -19,6 +19,7 @@ FINT=!70;90;110;130;150;170;190!3;5;7;9;11;13! FLINE=!0;24;25;29;7;15;14;2!0;23;22;21;17;16;2! HILO=0 HLSYM=0 +CLRBAR=0!0!1/V/LL!0 WIND=9/1/2/112 TITLE=1/-1/~ @ HGHTS, ISOTACHS (KTS), AND DIVERGENCE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wnd.attr index b0956266cc..b080a68c52 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/200mb_wnd.attr @@ -18,6 +18,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=0 !18//1 TITLE=5/-2/~ @ ISOTACHS AND WIND (KTS)|~@ WIND! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_al.attr index eabbcb81ec..10fae6bbf0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_al.attr @@ -17,7 +17,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.25;2.5;2.75;3;3.25;3.5;3.75;4 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2////y HLSYM = 1.5 -!CLRBAR = 1 +CLRBAR = 1 WIND = 0 TITLE = 1/-1/~ 24-HR OBS PRECIP (RFC, 40km avg) !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_spc_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_spc_al.attr index b2a012d72d..c89198b8d2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_spc_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/24-hr_obs_pcpn_spc_al.attr @@ -17,7 +17,7 @@ FINT = .01;.10;.25;.5;1;1.5;2;2.5;3;3.5;4;4.5;5;6;8;10.0 FLINE = 0;11;18;8;6;25;21;22;7;30;4;24;20;17;15;14;31 HILO = 0 HLSYM = 0 -!CLRBAR = 1//CL/0;.5/.75;.01 +CLRBAR = 1//CL/0;.5/.75;.01 WIND = TITLE = 1/-1/COOPERATIVE RAINFALL REPORTS FOR 24 hrs ENDING 12 UTC: ~ COLORS = diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs.attr index 95f6bdcd60..b9fe9bc712 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs.attr @@ -18,6 +18,7 @@ FINT=!70;90;110;130;150;170;190!2;4;6;8;10;12! FLINE=!0;24;25;30;28;14;2!0;23;22;21;17;16;2! HILO=0!0!0!0!1/H#;L#/3 HLSYM=0!0!0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=0!0!1/V/LL!0 WIND=16/0.7//211/0.5 TITLE=1/-1/~ @ DIVERGENCE, ISOTACHS (KTS), and AGEOSTROPHIC WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs_al.attr index ba056e5ed2..634ced2eac 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_ageo_div_isotachs_al.attr @@ -18,6 +18,7 @@ FINT=!70;90;110;130;150;170;190!2;4;6;8;10;12! FLINE=!0;24;25;30;28;14;2!0;23;22;21;17;16;2! HILO=0!0!0!0!1/H#;L#/3 HLSYM=0!0!0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=0!0!1/V/LL!0 WIND=16/0.7//211/0.5 TITLE=1/-1/~ @ DIV, ISOTACHS, and AGEOSTROPHIC WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_absv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_absv.attr index 703a74fd4d..60f7b0ccf1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_absv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_absv.attr @@ -18,6 +18,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS AND ABS VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind.attr index 2c8f77128f..6f3bffe954 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind.attr @@ -20,6 +20,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind_ncf.attr index 65d76a8d29..b6c60731da 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_hght_wind_ncf.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_streamlines.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_streamlines.attr index 5a9bf5a527..e5a00d842f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_streamlines.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_streamlines.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130 FLINE=0;18;17;16;15 HILO= HLSYM= +CLRBAR=1 WIND=bk0 TITLE=1/-2/~ 250 MB STREAMLINES, WIND|~250 MB STMLNS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_vorticity_pw.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_vorticity_pw.attr index 7ba5f55539..1d476d44f6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_vorticity_pw.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_vorticity_pw.attr @@ -18,6 +18,7 @@ FINT=!0.5;1.0;1.5;2.0 FLINE=!0;23;22;30;14 HILO=!!2;6/X;N/10-99;10-99 ! ! HLSYM= +CLRBAR=1 WIND=9/.8/2/112 TITLE=1/-1/~ 250mb HGHT, VORTICITY, PW AND 850 WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort.attr index 53eb026b35..9844c1af28 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort.attr @@ -17,6 +17,7 @@ FINT=4;6;8;10;12;14;16;18 FLINE=0;14;15;16;17;18;19;20;3 HILO=2;6/X;N/-99--4;4-99 ! 0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=6/.8/2/112 TITLE=1/-1/~ @ WIND AND RELATIVE VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort_rap.attr index 3af750c27b..2f242898e2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/250mb_wind_and_rel_vort_rap.attr @@ -18,7 +18,7 @@ FINT = 4;6;8;10;12;14;16;18 FLINE = 0;14-20;3 HILO = 2;6/X;N/-99--4;4-99 ! 0 HLSYM = 0 -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 6/.8/2/112 TITLE = 1/-1/~ @ WIND AND RELATIVE VORTICITY!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/296thta_pres_wnd_pres_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/296thta_pres_wnd_pres_adv.attr index 9c073c0f88..608509661a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/296thta_pres_wnd_pres_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/296thta_pres_wnd_pres_adv.attr @@ -18,6 +18,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND AND PRES ADV (omega)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-200mb_pv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-200mb_pv.attr index bc2fa956d2..d43281bf20 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-200mb_pv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-200mb_pv.attr @@ -18,7 +18,7 @@ FINT = 332;348;364!1;2;3;4 FLINE = 0;23;22;14!0;0;24;30;13 HILO = 0!0!0!0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 0!1/V/LL!0!0 +CLRBAR= 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 300-200mb PV, 300mb WIND (KTS) ,PMSL, BL THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_q-vctrs_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_q-vctrs_thkn.attr index 6a8db83362..0fa55e492e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_q-vctrs_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_q-vctrs_thkn.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=3/W;K HLSYM= +CLRBAR=0 WIND=27/.1/2//.5 TITLE=1/-1/~ @ Q-VECTORS and THICKNESS !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_qn-vectrs.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_qn-vectrs.attr index 75dcd019d6..4c5d052c4e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_qn-vectrs.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300-700_qn-vectrs.attr @@ -18,6 +18,7 @@ FINT=!70;90;110;130;150;170;190!0 FLINE=!0;24;25;30;28;14;2!0;23;22;21;17;16;2! HILO=!0!0!3/W;K!0 HLSYM= +CLRBAR=0 WIND=27/.2/2//.5 TITLE=1/-1/~ 300:700 Qn-VECTORS, THICKNESS AND 300mb ISOTACHS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_Divergence.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_Divergence.attr index 56ae4d0772..98a9e6cca1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_Divergence.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_Divergence.attr @@ -11,6 +11,7 @@ FINT=-4;-2;0;2;4 FLINE=0;18;17;16;15;14 HILO=1/H#;L#/3 HLSYM=1.5;1.5//22;22/2;2/hw +CLRBAR=1 WIND=18/1/1 TITLE=1/-1/~ @ DIVERGENCE COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_ageo_div_isotachs.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_ageo_div_isotachs.attr index 080b9e0126..93cce04304 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_ageo_div_isotachs.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_ageo_div_isotachs.attr @@ -18,6 +18,7 @@ FINT=!70;90;110;130;150;170;190!2;4;6;8;10;12! FLINE=!0;24;25;30;28;14;2!0;23;22;21;17;16;2! HILO=0!0!0!0!1/H#;L#/3 HLSYM=0!0!0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=0!0!1/V/LL!0 WIND=2/0.8/1.2/211/0.5 TITLE=1/-1/~ @ DIVERGENCE, ISOTACHS (KTS), and AGEOSTROPHIC WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_div_isotachs.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_div_isotachs.attr index 6cc4909220..334ca95b65 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_div_isotachs.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_div_isotachs.attr @@ -18,6 +18,7 @@ FINT=!70;90;110;130;150;170;190!3;5;7;9;11;13! FLINE=!0;24;25;29;7;15;14;2!0;23;22;21;17;16;2! HILO=0!0!0!0!1/H#;L#/3 HLSYM=0!0!0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=0!0!1/V/LL!0 WIND=0 TITLE=1/-1/~ @ DIVERGENCE AND ISOTACHS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv.attr index 99dbf5971d..23fe8cb179 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv.attr @@ -20,6 +20,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99! HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS AND ABS VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_adv.attr index ff45f51192..b655af6f0b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_adv.attr @@ -18,6 +18,7 @@ FINT=-12;-9;-6;-3;3;6;9;12 FLINE=29;30;25;24;0;14;15;17;5 HILO=!2;6/X;N/10-99;10-99! HLSYM=0 +CLRBAR=1 WIND=18/1/1 TITLE=5/0/~ @ HEIGHT, VORTICITY, VORTICITY ADV|~ @ HGHT, VORT ADV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_al.attr index a4cfdf28f2..d69fc9ddea 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_al.attr @@ -18,6 +18,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ $ @ HEIGHTS AND ABS VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_rap.attr index 87aac6cc1f..c3cab7b946 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_absv_rap.attr @@ -20,7 +20,7 @@ FINT = 16;20;24;28;32;36;40;44 FLINE = 0;23-15 HILO = 2;6/X;N/10-99;10-99! HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/-1/~ @ HEIGHTS AND ABS VORTICITY$!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_tmp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_tmp_wind.attr index 8fc95e9e8c..a246715d7c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_tmp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_tmp_wind.attr @@ -18,6 +18,7 @@ FINT=-60;-54;-48;-42;-36 FLINE=24;30;28;29;25;0 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind.attr index e30369addf..5ba3b99d2b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind.attr @@ -19,6 +19,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind_al.attr index 16b67906e1..4fbd43de57 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_hght_wind_al.attr @@ -18,6 +18,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_vorticity_pw.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_vorticity_pw.attr index e3333c50d0..f9a8aed2a5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_vorticity_pw.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300mb_vorticity_pw.attr @@ -19,6 +19,7 @@ FINT=!0.5;1.0;1.5;2.0 FLINE=!0;23;22;30;14 HILO=!!2;6/X;N/10-99;10-99 ! ! HLSYM= +CLRBAR=1 WIND=9/.8/2/112 TITLE=1/-1/~ 300mb HGHT, VORTICITY, PW AND 850 WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv.attr index 9af22675b3..fef57b7164 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv.attr @@ -18,6 +18,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND AND PRES ADV (omega)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv_al.attr index c77b0b6689..8e6c69f5be 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/300thta_pres_wnd_pres_adv_al.attr @@ -11,6 +11,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND, PRES, ADV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/304thta_pres_wnd_pres_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/304thta_pres_wnd_pres_adv.attr index 65ef9a0659..e5a7998245 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/304thta_pres_wnd_pres_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/304thta_pres_wnd_pres_adv.attr @@ -18,6 +18,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND AND PRES ADV (omega)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/308thta_pres_wnd_pres_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/308thta_pres_wnd_pres_adv.attr index 2670169009..b1a4cf9fa9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/308thta_pres_wnd_pres_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/308thta_pres_wnd_pres_adv.attr @@ -18,6 +18,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND AND PRES ADV (omega)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/312thta_pres_wnd_pres_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/312thta_pres_wnd_pres_adv.attr index 4a66f1d347..cb98008062 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/312thta_pres_wnd_pres_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/312thta_pres_wnd_pres_adv.attr @@ -18,6 +18,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND AND PRES ADV (omega)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/316thta_pres_wnd_pres_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/316thta_pres_wnd_pres_adv.attr index 7f28c76839..4af3e35d58 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/316thta_pres_wnd_pres_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/316thta_pres_wnd_pres_adv.attr @@ -18,6 +18,7 @@ FINT=2;4;6;8;10 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.7/2/212 TITLE=1/-1/~ @ PRESSURE, WIND AND PRES ADV (omega)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-200mb_pv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-200mb_pv.attr index 0041b3b3ce..45a31b76c2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-200mb_pv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-200mb_pv.attr @@ -18,7 +18,7 @@ FINT = 332;348;364!1;2;3;4 FLINE = 0;23;22;14!0;0;24;30;13 HILO = 0!0!0!0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 0!1/V/LL!0!0 +CLRBAR= 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 400-200mb PV, 300mb WIND (KTS), PMSL, BL THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv.attr index 70356afddf..a8b128deb2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv.attr @@ -20,6 +20,7 @@ FINT=332;348;364!1;2;3;4 FLINE=0;23;22;14!0;0;24;30;13 HILO=0!0!0!0!0!0!20/H#;L#/1020-1070;900-1008 HLSYM=0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=0!1/V/LL!0!0 WIND=9/0.9/2/112 TITLE=1/-1/~ 400-250mb PV,300mb WIND (KTS),PMSL,BL THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv_global.attr index bc42e268f9..ed5cd4fa84 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400-250mb_pv_global.attr @@ -18,7 +18,7 @@ FINT = 332;348;364!1;2;3;4 FLINE = 0;23;22;14!0;0;24;30;13 HILO = 0!0!0!0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 0!1/V/LL!0!0 +CLRBAR= 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 400-250mb PV, 300mb WIND (KTS), PMSL, BL THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400mb_avg_rh_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400mb_avg_rh_ncf.attr index bbb01a68dc..9fa5afd009 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400mb_avg_rh_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/400mb_avg_rh_ncf.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ @ HEIGHTS AND 500-300mb RH$!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-250mb_pv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-250mb_pv.attr index d4341222c2..38df05eefb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-250mb_pv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-250mb_pv.attr @@ -18,7 +18,7 @@ FINT = 332;348;364!1;2;3;4 FLINE = 0;23;22;14!0;0;24;30;13 HILO = 0!0!0!0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 0!1/V/LL!0!0 +CLRBAR= 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 500-250mb PV, 300mb WIND (KTS), PMSL, BL THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-300mb_pv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-300mb_pv.attr index e789af0173..cec17a73a2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-300mb_pv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500-300mb_pv.attr @@ -18,7 +18,7 @@ FINT = 332;348;364!1;2;3;4 FLINE = 0;23;22;14!0;0;24;30;13 HILO = 0!0!0!0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 0!1/V/LL!0!0 +CLRBAR= 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 500-300mb PV, 400mb WIND (KTS), PMSL, BL THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500_vort_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500_vort_only.attr index 78b6bab933..5cec792c57 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500_vort_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500_vort_only.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND= TITLE=5/-1/~ @ ABS VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_ncf.attr index f8ddd2b247..38f519e278 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_ncf.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ ABS VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_wind.attr index 11ac1d1006..bb4cd85e6b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_absv_wind.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND= TITLE=5/-1/~ @ WINDS and VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght.attr index 97b53b3dee..faf59aeb2b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ @ HEIGHTS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv.attr index bd2eda0a67..803fbcc38e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv.attr @@ -20,6 +20,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 SKIP=2 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHT AND ABS VORTICITY!0 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv.attr index 25d7573dc7..3a8ee9c136 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv.attr @@ -18,7 +18,7 @@ FINT = -12;-9;-6;-3;3;6;9;12 FLINE = 29;30;25;24;0;14;15;17;5 HILO = !2;6/X;N/10-99;10-99! HLSYM = 0 -!CLRBAR= 1 +CLRBAR= 1 WIND = 18/1/1 TITLE = 5/0/~ @ HEIGHT, VORTICITY AND VORTICITY ADV|~ @ HGHT AND VORT ADV!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv_rap.attr index 19056d250b..d4ce6f07ba 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_adv_rap.attr @@ -18,7 +18,7 @@ FINT = -12;-9;-6;-3;3;6;9;12 FLINE = 29;30;25;24;0;14;15;17;5 HILO = !2;6/X;N/10-99;10-99! HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/0/~ @ HEIGHT, VORTICITY AND VORTICITY ADV|~ @ HGHT AND VORT ADV!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_al.attr index 2bf83490c6..650b4d16d8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_al.attr @@ -18,6 +18,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ $ @ HEIGHTS AND ABS VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_ncf.attr index ef32059d8d..19c76acb2c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_ncf.attr @@ -20,6 +20,7 @@ FINT= FLINE= HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHT AND ABS VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_rap.attr index 2c6d3541d2..520b87bbb1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_rap.attr @@ -20,7 +20,7 @@ FINT = 16;20;24;28;32;36;40;44 FLINE = 0;23-15 HILO = 2;6/X;N/10-99;10-99!0 HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/-1/~ @ HEIGHT AND ABS VORTICITY!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_wnd.attr index a112190f9f..61c35e2ab8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_absv_wnd.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND=0 ! ! !18/1/1 TITLE=1/-1/~ @ HEIGHTS, ABS VORTICITY AND WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_avg.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_avg.attr index 2aa6b546d3..643551bfab 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_avg.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_avg.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ @ HEIGHTS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color.attr index 6f09612567..c1aaf55827 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color.attr @@ -19,6 +19,7 @@ FINT=504;510;516;522;528;534;540;546;552;558;564;570;576;582;588;594 FLINE=30;29;28;27;26;25;24;23;22;21;20;19;18;17;16;15;14 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=1/-1/~ 500mb HEIGHTS !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color_rap.attr index ddf7b2d17c..b28cc6a4fd 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_color_rap.attr @@ -19,7 +19,7 @@ FINT = 504;510;516;522;528;534;540;546;552;558;564;570;576;582;588;594 FLINE = 30-14 HILO = HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 1/-1/~ 500mb HEIGHTS !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv.attr index 0bd45c781f..e46535dafe 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv.attr @@ -20,7 +20,7 @@ FINT = 16;20;24;28;32;36;40;44 FLINE = 0;23-15 HILO = 2;6/X;N/10-99;10-99! ! HLSYM = -!CLRBAR= 1 +CLRBAR= 1 WIND = 18/1/1 TITLE = 5/0/~ @ HEIGHTS AND GEO ABS VORTICITY!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv_rap.attr index cb58966372..c55c295dd2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_geoabsv_rap.attr @@ -20,7 +20,7 @@ FINT = 16;20;24;28;32;36;40;44 FLINE = 0;23-15 HILO = 2;6/X;N/10-99;10-99! ! HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/0/~ @ HEIGHTS AND GEO ABS VORTICITY!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_rh_omega.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_rh_omega.attr index bcdb664136..61286e6012 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_rh_omega.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_rh_omega.attr @@ -18,6 +18,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmp_wind.attr index e3102c24e5..878c04197d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmp_wind.attr @@ -18,6 +18,7 @@ FINT=-36;-30;-24;-18;-12 FLINE=24;30;28;29;25;0 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmpc_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmpc_wind.attr index 32c42faf25..079e4b8724 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmpc_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_tmpc_wind.attr @@ -11,6 +11,7 @@ FINT=-36;-30;-24;-18;-12 FLINE=24;30;28;29;25;0 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHT, TEMPERATURE AND WIND (KTS) COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_wind.attr index 3ce326ecb5..9feea8f899 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_hght_wind.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_mean_hght.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_mean_hght.attr index 9fc87f14fb..70e9f8e572 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_mean_hght.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_mean_hght.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ @ MEAN HEIGHT AT 500 mb!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_streamlines.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_streamlines.attr index aa9687fd72..ecefffd8ae 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_streamlines.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_streamlines.attr @@ -17,6 +17,7 @@ FINT=50;70;90;110 FLINE=0;18;17;16;15 HILO= HLSYM= +CLRBAR=1 WIND=bk0 TITLE=1/-2/~ 500 MB STREAMLINES, WIND|~500 MB STMLNS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_tmpc.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_tmpc.attr index c97ae10d90..d39ca1f84c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_tmpc.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_tmpc.attr @@ -11,6 +11,7 @@ FINT=-36;-30;-24;-18;-12 FLINE=24;30;28;29;25;0 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ TEMPERATURE COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_windBarb.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_windBarb.attr index 234d01e3ed..93e6d6bbd1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_windBarb.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_windBarb.attr @@ -11,6 +11,7 @@ FINT=3000;3050;3100;3150;3200 FLINE=0;18;17;16;15;14 HILO=2;6/X;N/10-99;10-99 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ WIND BARB COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_wind_and_rel_vort.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_wind_and_rel_vort.attr index 306010884c..f7e7a69b53 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_wind_and_rel_vort.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mb_wind_and_rel_vort.attr @@ -18,6 +18,7 @@ FINT=4;6;8;10;12;14;16;18 FLINE=0;14;15;16;17;18;19;20;3 HILO=2;6/X;N/-99--4;4-99 ! 0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=6/.8/2/112 TITLE=1/-1/~ @ WIND (KTS) AND RELATIVE VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mbcomponly.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mbcomponly.attr index 3f8a55de7e..2f3ddefdbb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mbcomponly.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/500mbcomponly.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-3/~ @ ETA HEIGHTS!6/0/~ NGM HEIGHTS!3/-2/~ GFS HEIGHTS COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/50mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/50mb_hght_wind.attr index 258e597c80..8db7880e2f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/50mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/50mb_hght_wind.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/550mb_hght_absv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/550mb_hght_absv.attr index 75a214b576..41ab3de93a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/550mb_hght_absv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/550mb_hght_absv.attr @@ -11,6 +11,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99 HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHT AND ABS VORTICITY COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega.attr index 2c4a2c7876..e6aec473d0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega.attr @@ -17,6 +17,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/0/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega_rap.attr index daec984696..c0e17f8362 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/600mb_hght_rh_omega_rap.attr @@ -17,7 +17,7 @@ FINT = 70;90 FLINE = 0;23;22 HILO = HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/0/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_absv_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_absv_wind.attr index fa12ac9ef0..c045528ea6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_absv_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_absv_wind.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND= TITLE=5/-1/~ @ WINDS and VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_avg.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_avg.attr index 929e4c40ba..938d9bca5f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_avg.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_avg.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ @ HEIGHTS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_al.attr index 45f951a17b..8d76f19658 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_al.attr @@ -18,6 +18,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HGHTS, REL HUMIDITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega.attr index 8154406e2f..9651ce5a6e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega.attr @@ -20,6 +20,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/0/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_ncf.attr index eb5590dfc5..baf208622d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_ncf.attr @@ -19,6 +19,6 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/0/~ @ HEIGHT, REL HUMIDITY AND OMEGA! diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_rap.attr index c00ab0d992..31455126d0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_rh_omega_rap.attr @@ -20,7 +20,7 @@ FINT = 70;90 FLINE = 0;23;22 HILO = HLSYM = -!CLRBAR = 1 +CLRBAR = 1 WIND = 18/1/1 TITLE = 5/0/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_tmp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_tmp_wind.attr index 40a14f56fc..39fffef215 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_tmp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_tmp_wind.attr @@ -18,6 +18,7 @@ FINT=-24;-18;-12;-6;0;18 FLINE=24;30;28;29;25;0;17 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_wind_dwpt.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_wind_dwpt.attr index ff3a7874bf..c5590bcb78 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_wind_dwpt.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_hght_wind_dwpt.attr @@ -18,7 +18,7 @@ FINT = 0;4;8;12;16 FLINE = 0;23;22;30;14;2 HILO = 0!0!6/H#;L# HLSYM = 0!0!1.5;1.5//22;22/2;2/hw -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.9/2/212 TITLE = 1/-1/~ @ DEW POINT (GREATER THAN -8), WIND (KTS), AND HEIGHT!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp.attr index 56c3aaa774..232ef6a4f7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp.attr @@ -19,6 +19,7 @@ FINT=70;90;95 FLINE=0;24;23;22 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-1/~ 700 MB RH, TEMPERATURES (BL yel, 850 red, 700 cyan)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_al.attr index 8ad525e74a..7dc1c3ab22 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_al.attr @@ -18,6 +18,7 @@ FINT=70;90;95 FLINE=0;24;23;22 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-1/~ @ RH, near-0 TEMPERATURES (BL yel, 850 red, 700 cyan)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_nam.attr index 0d87a17459..770f6d72d5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_nam.attr @@ -20,7 +20,7 @@ FINT=70;90;95 FLINE=0;24;23;22 HILO=0 HLSYM=0 -!CLRBAR=1 +CLRBAR=1 WIND= TITLE=1/-1/~ 700 MB RH, TEMPERATURES (BL yel, 850 red, 700 cyan)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_streamlines.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_streamlines.attr index 1486df5c9f..5e8c3daedf 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_streamlines.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_streamlines.attr @@ -17,6 +17,7 @@ FINT=30;40;50;60 FLINE=0;18;17;16;15 HILO= HLSYM= +CLRBAR=1 WIND=bk0 TITLE=1/-2/~ 700 MB STREAMLINES, WIND|~700 MB STMLNS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_wind_and_rel_vort.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_wind_and_rel_vort.attr index 285b401e97..7602c01da5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_wind_and_rel_vort.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_wind_and_rel_vort.attr @@ -19,6 +19,7 @@ FINT=4;6;8;10;12;14;16;18 FLINE=0;14;15;16;17;18;19;20;3 HILO=2;6/X;N/-99--4;4-99 ! 0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=6/.8/2/112 TITLE=1/-1/~ @ WIND AND RELATIVE VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/70mb_hght_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/70mb_hght_wind.attr index a363ed3398..86aa6c4939 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/70mb_hght_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/70mb_hght_wind.attr @@ -17,6 +17,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-300mb_wind_shear.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-300mb_wind_shear.attr index ad6e688699..beabc0355f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-300mb_wind_shear.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-300mb_wind_shear.attr @@ -21,6 +21,7 @@ FINT=5/25 FLINE=0;24;30;29;23;22;14;15;16;17;20;5 HILO= HLSYM= +CLRBAR=1 WIND=! 7/.4/1/221/.4 ! 6/.4/1/221/.4 TITLE=1/-1/~ @ WIND SHEAR (850mb magenta, 300mb cyan)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-700_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-700_thkn.attr index a4b65791af..cc47c56c2a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-700_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850-700_thkn.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=1/-1/~ 850-700 MB THKN!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_absv_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_absv_wind.attr index 65ee0affc9..afcaab8117 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_absv_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_absv_wind.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28;32;36;40;44 FLINE=0;23;22;21;20;19;18;17;16 HILO=2;6/X;N/10-99;10-99!0 HLSYM= +CLRBAR=1 WIND= TITLE=5/-1/~ @ WINDS and VORTICITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport.attr index 19ecfeb59d..a195ad81b6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport.attr @@ -23,6 +23,7 @@ FINT=6;12;18;24;30;36 FLINE=0;23;22;21;14;15;2 HILO=0 !5/H#;L#!0 HLSYM=0 !1;1//22;22/2;2/hw!0 +CLRBAR=1/V/LL!0 WIND=16/0.9/2/211/0.5 TITLE=1/-1/~ @ MOISTURE TRANSPORT, HGHT, BL THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_al.attr index bb3115423e..19998c377b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_al.attr @@ -18,6 +18,7 @@ FINT=6;12;18;24;30;36 FLINE=0;23;22;21;14;15;2 HILO=0!5/H#;L#!0 HLSYM=0!1;1//22;22/2;2/hw!0 +CLRBAR=1/V/LL!0 WIND=16/0.9/2/211/0.5 TITLE=1/-1/~ @ MOISTURE TRANSPORT, HGHT, BL THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_nam.attr index 6cdd352ad2..53ed889fd7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_h2o_transport_nam.attr @@ -22,7 +22,7 @@ FINT = 6;12;18;24;30;36 FLINE = 0;23;22;21;14;15;2 HILO = 0 !5/H#;L#!0 HLSYM = 0 !1;1//22;22/2;2/hw!0 -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 16/0.9/2/211/0.5 TITLE = 1/-1/~ @ MOISTURE TRANSPORT, HGHT, BL THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_absv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_absv.attr index 7b93062247..1d4ac923df 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_absv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_absv.attr @@ -17,6 +17,7 @@ FINT=08;12;16;20;24;28;32;36;40;44 FLINE=0;23-12 HILO=2;0/X/10-99!! HLSYM= +CLRBAR=1/V/LL WIND=0 !0 !0 !bk1/0.8/1 TITLE=1/-1/~ ^ @ HEIGHTS, AbsVORT AND WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_avg.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_avg.attr index 6d754ed3d7..2f299d1702 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_avg.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_avg.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ @ HEIGHTS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_rh_omega.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_rh_omega.attr index 8256f5a7ca..0bc6bfdc46 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_rh_omega.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_rh_omega.attr @@ -19,6 +19,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind.attr index 6d5f0e5f40..8da4785894 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind.attr @@ -18,6 +18,7 @@ FINT=-24;-18;-12;-6; 0 FLINE=24; 30; 28;29;25; 0 HILO=0 HLSYM=0 +CLRBAR=1 WIND=3/.9/1 TITLE=1/-2/~ @ HEIGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_al.attr index 633e4e1dbb..c6b488d53d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_al.attr @@ -18,6 +18,7 @@ FINT=-24;-18;-12;-6;0;18 FLINE=24;30;28;29;25;0;17 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_ncf.attr index 14c17902b6..21c4a79433 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_tmp_wind_ncf.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=1 WIND=3/.9/1 TITLE=1/0/~ @ HEIGHT, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt.attr index 8bb286f790..e4c6562fd0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt.attr @@ -19,6 +19,7 @@ FINT=4;8;12;16;20 FLINE=0;23;22;30;14;2 HILO=0!0!6/H#;L# HLSYM=0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/-1/~ @ DEW POINT (GREATER THAN -4), WIND (KTS), AND HEIGHT!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt_al.attr index dbb8672f4e..be37367a86 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hght_wind_dwpt_al.attr @@ -18,6 +18,7 @@ FINT=4;8;12;16;20 FLINE=0;23;22;30;14;2 HILO=0!0!6/H#;L# HLSYM=0!0!1.5;1.5//22;22/2;2/hw +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/-1/~ @ DEW POINT, WIND (KTS), AND HGHT!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hgt_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hgt_wind.attr index 588404a4df..fe8c221748 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hgt_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_hgt_wind.attr @@ -17,7 +17,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0 !20/H#;L#/ HLSYM = 0 !1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ @HGT, WIND (KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_streamlines.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_streamlines.attr index 72600950e3..7e90a65227 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_streamlines.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_streamlines.attr @@ -17,6 +17,7 @@ FINT=20;35;50;65 FLINE=0;18;17;16;15 HILO= HLSYM= +CLRBAR=1 WIND=bk0 TITLE=1/-2/~ 850 MB STREAMLINES, WIND|~850 MB STMLNS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_advection.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_advection.attr index a48411c0c3..fde80c29dd 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_advection.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_advection.attr @@ -20,6 +20,7 @@ FINT=-14;-10;-6;-2;2;6;10;14 FLINE=7;29;30;24;0;14;15;18;5 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.8/2/112 TITLE=1/-1/~ @ HGHT, THTAE ADVECTION, THTAE, WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_ncf.attr index dc76def2b6..fc5cc185e1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_ncf.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-1/~ @ THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmp.attr index de1247d8cb..c385cdcaeb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmp.attr @@ -17,6 +17,7 @@ FINT=-24;-18;-12;-6;0;18 FLINE=24;30;28;29;25;0;17 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ TEMPERATURE! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmpc.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmpc.attr index 80dcc501a8..fe2727bc6a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmpc.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_tmpc.attr @@ -11,6 +11,7 @@ FINT=-36;-30;-24;-18;-12 FLINE=24;30;28;29;25;0 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ TEMPERATURE COLORS=3 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind.attr index 0f71d74aac..7bc317ae78 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind.attr @@ -18,6 +18,7 @@ FINT=70;90;110;130;150 FLINE=0;25;24;29;7;15 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, ISOTACHS AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_and_rel_vort.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_and_rel_vort.attr index 1b949c5172..2a411840a2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_and_rel_vort.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_and_rel_vort.attr @@ -19,6 +19,7 @@ FINT=4;6;8;10;12;14;16;18 FLINE=0;14;15;16;17;18;19;20;3 HILO=2;6/X;N/-99--4;4-99 ! 0 HLSYM=0 +CLRBAR= WIND=6/.8/2/112 TITLE=1/-1/~ @ WIND AND RELATIVE VORTICITY$!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw.attr index e530a05ce5..12e7dd2e3a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw.attr @@ -19,6 +19,7 @@ FINT=!0.5;1.0;1.5;2.0 FLINE=!0;23;22;21;2 HILO=0 HLSYM=0 +CLRBAR=0 !1/V/LL WIND=9/0.8/2/112 TITLE=1/-1/~ 850mb WIND (KTS) and PRECIPITABLE WATER COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm.attr index 6545d312bb..5a23f1a61e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm.attr @@ -18,6 +18,7 @@ FINT=!13;25;38;50 FLINE=!0;23;22;21;2 HILO=0 HLSYM=0 +CLRBAR=0 !1/V/LL WIND=! !9/0.9/2/112 TITLE=1/-1/~ 850 mb WIND (KTS) and PRECIP WATER (MM)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm_ncf.attr index 2d93535fdd..10c0ae5bb8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_mm_ncf.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 0 +CLRBAR= 0 WIND = ! ! !9/0.9/2/112 TITLE = 1/-1/~ 850mb WIND (KTS) and PRECIP WATER (MM) !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf.attr index dd271a577d..61bb152d86 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 850mb WIND (KTS) and PRECIP WATER COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf_nam.attr index 70e6cee265..834c0d0832 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wind_pw_ncf_nam.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 0 +CLRBAR = 0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 850mb WIND (KTS) and PRECIP WATER COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wnd.attr index ca5a941615..16b49a3315 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_wnd.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND=18/.8 TITLE=5/-1/~ @ WIND! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/900mb_hght_rh_omega.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/900mb_hght_rh_omega.attr index 8e2d3d7f30..513c9e2ebb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/900mb_hght_rh_omega.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/900mb_hght_rh_omega.attr @@ -19,6 +19,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_rh_omega.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_rh_omega.attr index bad8168ea2..05771d2f93 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_rh_omega.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_rh_omega.attr @@ -19,6 +19,7 @@ FINT=70;90 FLINE=0;23;22 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ @ HEIGHTS, REL HUMIDITY AND OMEGA! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_tmp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_tmp_wind.attr index 5111329272..476edbd8e0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_tmp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_hght_tmp_wind.attr @@ -18,6 +18,7 @@ FINT=-24;-18;-12;-6;0;18 FLINE=24;30;28;29;25;0;17 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ @ HEIGHTS, TEMPERATURE AND WIND (KTS)! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_streamlines.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_streamlines.attr index ce6d444ebd..ee2f959f43 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_streamlines.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/925mb_streamlines.attr @@ -17,6 +17,7 @@ FINT=20;35;50;65 FLINE=0;18;17;16;15 HILO= HLSYM= +CLRBAR=1 WIND=bk0 TITLE=1/-2/~ 925 MB STREAMLINES, WIND|~925 MB STMLNS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/FFG0124hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/FFG0124hr.attr index 81909a1894..cdae49a68a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/FFG0124hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/FFG0124hr.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ FFG0124hr !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ICIP.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ICIP.attr index a1d68ac080..8878b286bc 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ICIP.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ICIP.attr @@ -16,6 +16,7 @@ FINT= FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND= TITLE=1/-1/~ ICIP COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/MOS_TMPF_AK.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/MOS_TMPF_AK.attr index 5091954c3b..5b05e31cda 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/MOS_TMPF_AK.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/MOS_TMPF_AK.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ Temperature (in F) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/P48M.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/P48M.attr index ec3c07ade1..e19c61798c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/P48M.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/P48M.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 48-HR TOTAL PRECIPITATION! COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/SBT122.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/SBT122.attr index 73586e9a20..7868580afa 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/SBT122.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/SBT122.attr @@ -16,6 +16,7 @@ FINT=10;15;20;25;30 FLINE=0;20;21;22;23;0 HILO= HLSYM= +CLRBAR=0 WIND=0 TITLE=1/-1/~ Simulated Brightness Temperature for GOES12 channel 2 !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP1hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP1hr.attr index 21cbc11fcf..50fe47b11e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP1hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP1hr.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ TP1HR !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP6hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP6hr.attr index d31785e314..4df46b0e77 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP6hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/TP6hr.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ TP6HR !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/WS-25000E3.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/WS-25000E3.attr index cdd3ac2713..cc96924721 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/WS-25000E3.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/WS-25000E3.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ WS-25000E3 !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/best_li.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/best_li.attr index 8fd05bb03f..074ca25de9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/best_li.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/best_li.attr @@ -17,6 +17,7 @@ FINT=0 FLINE=0 HILO=0 HLSYM=0 +CLRBAR=0 WIND=0 TITLE=1/-2/~ BEST LI (0-180 MB AGL)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin.attr index 749122d4c4..982f9ef7b1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin.attr @@ -20,6 +20,7 @@ FINT=1000;2000;3000;4000;5000 FLINE=0;23;30;15;2;5 HILO=0!0 HLSYM=1;1//22;22/2;2/hw +CLRBAR=1/V/LL!0 WIND=0 TITLE=1/-1/~ 0-180 MB AGL BEST CAPE (jkg-1), CIN (cyan)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_nam.attr index f6ae31f681..bde2083732 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_nam.attr @@ -19,7 +19,7 @@ FINT = 1000;2000;3000;4000;5000 FLINE = 0;23;30;15;2;5 HILO = 0!0 HLSYM = 1;1//22;22/2;2/hw -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 0 TITLE = 1/-1/~ 0-180 MB AGL BEST CAPE (jkg-1) AND CIN (cyan)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf.attr index 6f2547184e..d17ba12a44 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf.attr @@ -20,6 +20,7 @@ FINT=0 FLINE=0 HILO=0!0 HLSYM=0 +CLRBAR=0 WIND=0 TITLE=1/-1/~ BEST CAPE (0-180 MB AGL)(jkg-1) CIN (cyan)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf_nam.attr index b34c1c923c..31a63273d6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bestcape_cin_ncf_nam.attr @@ -19,7 +19,7 @@ FINT = 0 FLINE = 0 HILO = 0!0 HLSYM = 0 -!CLRBAR= 0 +CLRBAR= 0 WIND = 0 TITLE = 1/-1/~ BEST CAPE (0-180 MB AGL)(jkg-1) AND CIN (cyan)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh.attr index 552a812191..42ba569119 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh.attr @@ -20,6 +20,7 @@ FINT=70;80;90;95 FLINE=0;24;23;22;14 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.8/2/112 TITLE=1/-1/~ 0-30MB AGL RELH AND WIND (KTS) AND 60-90MB AGL OMEGA!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh_nam.attr index a63256055c..1ac6858600 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl1_rh_nam.attr @@ -22,7 +22,7 @@ FLINE=0;24;23;22;14 HILO=0 HLSYM=0 WIND=9/0.8/2/112 -!CLRBAR=1/V/LL!0 +CLRBAR=1/V/LL!0 TITLE=1/-1/~ 0-30MB AGL RELH AND WIND (KTS) AND 60-90MB AGL OMEGA!0 COLORS=2 MARKER=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl2-5_rh.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl2-5_rh.attr index fad75639f3..c548bfc062 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl2-5_rh.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl2-5_rh.attr @@ -21,6 +21,7 @@ FINT=70;80;90;95 FLINE=0;24;23;22;14 HILO=0!0!0 HLSYM=0!0!0 +CLRBAR=1/V/LL!0 WIND=9/0.8/2/112 TITLE=1/-1/~ 20-160MB AGL RH, 60-90MB AGL OMEGA, WND (0-30MB AGL)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_1000mb_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_1000mb_temp.attr index 0f2dbd86ba..79626647d7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_1000mb_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_1000mb_temp.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 1000 MB TEMPERATURE (F)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp.attr index b32b6a0aa7..243304b447 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp.attr @@ -19,6 +19,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 2-METER 12-HR MAX TEMPERATURE (F)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp_c.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp_c.attr index 7305ef395d..0e7daf5008 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp_c.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmax_temp_c.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 2-METER 12-HR MAX TEMPERATURE (C)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp.attr index 3b368f17a2..cf195b0e1f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp.attr @@ -19,6 +19,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 2-METER 12-HR MIN TEMPERATURE (F)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp_c.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp_c.attr index 6222a8a0a6..67a40c3eef 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp_c.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_12hrmin_temp_c.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 2-METER 12-HR MIN TEMPERATURE (C)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp.attr index 31c6bc5de4..faa3eeac93 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 2-METER TEMPERATURE (F)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp_c.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp_c.attr index fe19780473..3d7cfd0fa4 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp_c.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_2-meter_temp_c.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ 2-METER TEMPERATURE (C)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_dwpt_c.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_dwpt_c.attr index 39a69b90b4..8f506d2504 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_dwpt_c.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_dwpt_c.attr @@ -17,6 +17,7 @@ FINT=0 FLINE=0 HILO=0 HLSYM=0 +CLRBAR=0 WIND=9/0.7/2/112 TITLE=1/-1/~ BL WIND (KTS) AND DEW POINT!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv.attr index 1ccae467f3..1cdae2420d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv.attr @@ -21,6 +21,7 @@ FINT=-9;-7;-5;-3;-1 FLINE=2;15;21;22;23;0 HILO=!!!!6/H#;L#/1020-1070;900-1016 HLSYM=1;1/2//4;1.5/0 +CLRBAR=1 WIND=10/0.75/1.5/112 TITLE=1/-1/~ BL (18MB AGL)MOISTURE CONVERGENCE, WIND (KTS) and THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_nam.attr index a2ade5506d..75e0af2958 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_nam.attr @@ -20,7 +20,7 @@ FINT = -9;-7;-5;-3;-1 FLINE = 2;15;21;22;23;0 HILO = !!!!6/H#;L#/1020-1070;900-1016 HLSYM = 1;1/2//4;1.5/0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 10/0.75/1.5/112 TITLE = 1/-1/~ BL (18MB AGL)MOISTURE CONVERGENCE, WIND (KTS) and THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf.attr index 10b4d59247..3d98515802 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf.attr @@ -19,7 +19,7 @@ FINT = 0 FLINE = 0 HILO = 0 HLSYM = 0 -!CLRBAR= 1 +CLRBAR= 1 WIND = 10/0.75/1.5/112 TITLE = 1/-1/~ BL (18MB AGL) MOIST CONV, WIND (KTS) and THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_global.attr index 844c674419..f3ce2dcaa4 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_global.attr @@ -18,7 +18,7 @@ FINT = 0 FLINE = 0 HILO = 0 HLSYM = 0 -!CLRBAR= 1 +CLRBAR= 1 WIND = 10/0.75/1.5/112 TITLE = 1/-1/~ (~995 MB) BL MOIST CONV, WIND (KTS) and THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_nam.attr index cc5c0ff048..a02b4345eb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_conv_ncf_nam.attr @@ -19,7 +19,7 @@ FINT = 0 FLINE = 0 HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 10/0.75/1.5/112 TITLE = 1/-1/~ BL (18MB AGL) MOIST CONV, WIND (KTS) and THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_trnsp_omgq.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_trnsp_omgq.attr index eec0e6ae53..003308394a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_trnsp_omgq.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_h2o_trnsp_omgq.attr @@ -18,6 +18,7 @@ FINT=1;3;5;7;9 FLINE=0;23;22;28;15;2 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=6/0.6/2/222/0.4 TITLE=1/-1/~ BL H2O TRNSP,OROG OMG*MIXR,SFC HT!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moist_conv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moist_conv.attr index e0d6d36708..1139bc679c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moist_conv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moist_conv.attr @@ -17,5 +17,6 @@ FINT=-7;-5;-3;-1 FLINE=2;23;22;3;0 HILO=0 HLSYM=0!1;1//22;22/2;2/hw +CLRBAR=1/V/LL!0 WIND=bk0!bk0!bk0!bk0!bk9/0.7/2/112 TITLE=1/-2/~ RUC2 1000 MB MOIST CONV,SFC DEWPOINT, WIND|~1000 MB MST CONV!0 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt.attr index c27155e0eb..9fd05fe443 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt.attr @@ -20,6 +20,7 @@ FINT=-7;-5;-3;-1 FLINE=2;23;22;3;0 HILO=0 HLSYM=0!1;1//22;22/2;2/hw +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/-1/~ 18 MB AGL MOIST CONVERGENCE, WIND (KTS), DEW POINT!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt_global.attr index b4e4564422..5b534df2ed 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moistconv_wind_dwpt_global.attr @@ -18,7 +18,7 @@ FINT = -7;-5;-3;-1 FLINE = 2;23;22;3;0 HILO = 0 HLSYM = 0!1;1//22;22/2;2/hw -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ BL MOIST FLUX CONVERGENCE, WIND (KTS), DEW POINT!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv.attr index 246f66be54..39dc3ff7b1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv.attr @@ -18,6 +18,7 @@ FINT=-8;-6;-4;-2 FLINE=2;16;24;3;0 HILO=0 HLSYM=0 +CLRBAR=1 WIND=9/0.8/2/112 TITLE=1/-1/~ 40m AGL MOISTURE CONVERGENCE AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv_thtae.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv_thtae.attr index 0b83f3ba88..a1980c826e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv_thtae.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_moisture_conv_thtae.attr @@ -18,7 +18,7 @@ FINT = -9;-7;-5;-3;-1 FLINE = 2;15;21;22;23;0 HILO = !!!!6/H#;L#/1020-1070;900-1012 HLSYM = 1;1/2//4;1.5/0 -!CLRBAR= 1 +CLRBAR= 1 WIND = 10/0.75/1.5/112 TITLE = 1/-1/~ (~995 MB) MOISTURE CONVERGENCE, WIND (KTS), THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh.attr index f60323223a..039b487775 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh.attr @@ -19,6 +19,7 @@ FINT=70;80;90 FLINE=0;23;22;3 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/0/~ BL (~30 MB MEAN AGL) RH, WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh_lake.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh_lake.attr index e4a677bfae..e17d5ab852 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh_lake.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_rh_lake.attr @@ -19,6 +19,7 @@ FINT=80;90 FLINE=0;23;22 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/-1/~ BL3-6 RH, BL1 WIND (KTS), BL6 OMG, 850-2m dT (YEL), 850 T (RED)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_sgma_9950_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_sgma_9950_temp.attr index 0950f7d397..84f3de4d42 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_sgma_9950_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_sgma_9950_temp.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=1/-2/~ BL (9950 SGMA) TEMPERATURE (F)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf.attr index 9151ad3e15..e7a60c1a6c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 1/V/LL +CLRBAR= 1/V/LL WIND = TITLE = 1/-1/~ BL THTE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_cmc.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_cmc.attr index 9f19cc2152..43a01dd23e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_cmc.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_cmc.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 1/V/LL +CLRBAR = 1/V/LL WIND = TITLE = 1/-1/~ BL THTE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_nam.attr index 11ae503949..79ad11faa2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_ncf_nam.attr @@ -17,7 +17,7 @@ FINT = 0 FLINE = 0 HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 1/-1/~ BL (18MB AGL) THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind.attr index 621bb5075e..99062dada2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind.attr @@ -20,6 +20,7 @@ FINT=328;336;344;352;360;368 FLINE=0;24;30;29;15;18;20 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.7/2/112 TITLE=1/-1/~ BL (0-30 MB AGL) THTE AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_global.attr index dd5eab5a35..d3eb449ef6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_global.attr @@ -22,7 +22,7 @@ HILO= 0 HLSYM= 0 WIND= 9/0.7/2/112 TITLE= 1/-1/~ BL (5 MB AGL) THTE AND WIND (KTS)!0 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 COLORS= 2 MARKER= 2 GRDLBL= 5 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono.attr index c12f450cd3..641ee39e10 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono.attr @@ -17,6 +17,7 @@ FINT=0 FLINE=00 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=18/0.8/1/112 TITLE=1/-1/~ BL (18MB AGL) THTE AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_global.attr index 06fbffe9cb..920df81142 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_global.attr @@ -17,7 +17,7 @@ FINT = 0 FLINE = 00 HILO = 0 HLSYM = 0 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 18/0.8/1/112 TITLE = 1/-1/~ BL (5 MB AGL) THTE AND WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_nam.attr index 34f859f3e6..af3014c3fd 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_thte_wind_mono_nam.attr @@ -17,7 +17,7 @@ FINT = 0 FLINE = 00 HILO = 0 HLSYM = 0 -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 18/0.8/1/112 TITLE = 1/-1/~ BL (18MB AGL) THTE AND WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_wind.attr index 81c545681d..6ba6851c04 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_wind.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=18/1/1 TITLE=1/-2/~TEMPERATURE (F)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only.attr index aab71d057f..d03d510e5f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR= WIND=9/0.7/1.5/112 TITLE=1/-1/~ BL WIND (40m; KTS) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_global.attr index 9cc6aec420..81a7546039 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_global.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.7/1.5/112 TITLE = 1/-1/~ BL WIND (40m; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_nogaps.attr index 718e65d480..30605f5aec 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_nogaps.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR = 0 +CLRBAR = 0 WIND = 9/0.7/1.5/112 TITLE = 1/-1/~ BL WIND (10m; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_ukmet.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_ukmet.attr index b95de84fb9..db4bcb8230 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_ukmet.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/bl_winds_only_ukmet.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.7/1.5/112 TITLE = 1/-1/~ SFC WIND (KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/categorical_rain.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/categorical_rain.attr index 3c9f64dd14..82afa21fe5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/categorical_rain.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/categorical_rain.attr @@ -17,6 +17,7 @@ FINT=1 FLINE=0;21-30;14-20;5 HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=5/-1/~ CRAIN COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index.attr index a470b45e74..62c7c46f23 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index.attr @@ -17,6 +17,7 @@ FINT=16;20;24;28 FLINE=0;24;30;14;2 HILO=0!0!0!6/H#;L# HLSYM=!!!1.5;1.5//22;22/3;3/hw +CLRBAR=1 WIND=bk0 TITLE=1/0/~ CT INDEX, 700mb TEMP (GREATER THAN 6 C), BL DWPT AND MSLP|~CT INDEX COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index_global.attr index 953cb6c815..9a475988f4 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ct_index_global.attr @@ -18,7 +18,7 @@ FINT = 16;20;24;28 FLINE = 0;24;30;14;2 HILO = 0!0!0!6/H#;L# HLSYM = !!!1.5;1.5//22;22/3;3/hw -!CLRBAR= 1 +CLRBAR= 1 WIND = bk0 TITLE = 1/0/~ CT INDEX, 700mb TEMP (GREATER THAN 6 C), BL DWPT AND MSLP|~CT INDEX FILTER= 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/dewpoint.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/dewpoint.attr index 27858e7aa3..f7ef65d8d6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/dewpoint.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/dewpoint.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=1 WIND=18/1/1 TITLE=1/-1/~ Dewpoint (in Kelvin) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/direction_of_wind_wave.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/direction_of_wind_wave.attr index e1b6361462..ab280de576 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/direction_of_wind_wave.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/direction_of_wind_wave.attr @@ -16,6 +16,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=1/-1/~ Direction Of Wind Wave !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/directional_width_of_wind_wave.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/directional_width_of_wind_wave.attr index 3b429773b6..bb90f01192 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/directional_width_of_wind_wave.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/directional_width_of_wind_wave.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ Directional width Of Wind Wave !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_10m_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_10m_wind.attr index c8eddc6bcb..98631ebd19 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_10m_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_10m_wind.attr @@ -18,7 +18,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ EMSL, 10m WIND (AGL; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_bl_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_bl_wind.attr index 04c3d510fe..a009939c3d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_bl_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_bl_wind.attr @@ -18,7 +18,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.6/2/112 TITLE = 1/-1/~ EMSL, BL WIND (0-30 MB AGL; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_ll_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_ll_wind.attr index 2049cf283e..e9d7d328f2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_ll_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_and_ll_wind.attr @@ -18,7 +18,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.6/2/112 TITLE = 1/-1/~ EMSL, LL WIND (2nd Eta LVL 30-60 MB ABOVE SFC; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl1_wind_850mb_tad.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl1_wind_850mb_tad.attr index c041528677..ff43e79ece 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl1_wind_850mb_tad.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl1_wind_850mb_tad.attr @@ -20,7 +20,7 @@ FINT=-7;-5;-3;-1;1;3;5;7 FLINE=7;29;30;24;0;14;15;18;5 HILO=0!0!1/H#;L#/1020-1070;900-1012 HLSYM=0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR=1/V/LL!0 +CLRBAR=1/V/LL!0 WIND=9/0.8/2/112 TITLE=1/-1/~ EMSL, (0-30MB AGL) WIND (KTS) AND 850 MB TMP ADV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempc_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempc_wind.attr index fa576e4e8d..2aa724c4de 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempc_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempc_wind.attr @@ -20,6 +20,7 @@ FINT=-24;-12;0 ! FLINE=29;30;24;0 ! HILO=0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM=0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND=9/0.7/2/112 TITLE=1/-1/~ EMSL PRESSURE, BL TEMPERATURE (0-30MB AGL, WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempf_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempf_wind.attr index 8290382f48..75958e7071 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempf_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_bl_tempf_wind.attr @@ -17,7 +17,7 @@ FINT = 20;32;0! FLINE = 29;30;24;0! HILO = 0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ EMSL PRESSURE, BL TEMPERATURE (0-30MB AGL), WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn.attr index f14c2bbec0..34f90bc884 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=!! 26;2/H#;L#/1018-1070;900-1012//30;30/y HLSYM=2;1.5//21//hw +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ EMSL, 1000-500 MB THICKNESS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn_wind.attr index 558f2dc195..5b40f8c118 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/emsl_thkn_wind.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = !! 26;2/H#;L#/1018-1070;900-1012//30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = 9/0.8/2/112 TITLE = 5/-1/~ EMSL, 1000-500 MB THICKNESS, BL WIND !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ethkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ethkn.attr index ab3b2baa6c..809e90570f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ethkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ethkn.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=! !26;2/H#;L#///30;30/y HLSYM=! !2;1.5//21//hw +CLRBAR=1 WIND=0 TITLE=1/-2/~ EST 1000-500 MB THICKNESS|~EST 1000-500 THKN! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/extra_tropical_storm_surge.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/extra_tropical_storm_surge.attr index c309d4f0a0..eb99b968bb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/extra_tropical_storm_surge.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/extra_tropical_storm_surge.attr @@ -16,6 +16,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR= WIND= TITLE=1/-1/~ ETSRG !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ffg1224hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ffg1224hr.attr index 16b96072dd..9a055ecce6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ffg1224hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ffg1224hr.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ FFG1224HR !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght.attr index e7bb440709..73ae5d01a7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght.attr @@ -20,6 +20,7 @@ FINT=20;40;60;80;100;120 FLINE=0;12;19;18; 17; 23;0 HILO=0 HLSYM=0 +CLRBAR=1!0 WIND=0 TITLE=1/-1/~ FRZNG LEVEL HGHT, 0-30MB AGL 0C TEMP!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_and_rh.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_and_rh.attr index 52fbec3cd0..6e74eec5f2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_and_rh.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_and_rh.attr @@ -19,6 +19,7 @@ FINT=70;90;95 !!!-100;25! FLINE=0;24;23;22 !!!8;8;0! HILO=0 HLSYM=0 +CLRBAR=1!0 WIND=0 TITLE=1/-1/~ FRZNG LEVEL HGHT, RH and 0-30MB AGL 0C TEMP!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_ncf.attr index 0ded67ced5..451d36c9f9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/frzg_lvl_hght_ncf.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=1 WIND=0 TITLE=1/-1/~ FRZNG LEVEL HGHT, 0-30MB AGL 0C TEMP!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow.attr index 99ab9cf0cd..18dd05040a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow.attr @@ -21,6 +21,7 @@ FINT=80;90 FLINE=0;23;22 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/-1/~ 60-90MB(AGL) RH,0-30MB WND,150-180MB OMG,850-2m dT (YEL),850 T(RED)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2.attr index 441981e60f..bb48401c12 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2.attr @@ -17,6 +17,7 @@ FINT=80;90 FLINE=0;23;22 HILO=0 HLSYM=0 +CLRBAR=1/V/LL!0 WIND=9/0.9/2/112 TITLE=1/-1/~ 60-90MB(AGL) RH,0-30MB STRM,150-180MB OMG,850-2m dT (YEL),850 T(RED)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2_global.attr index 2d830ae37e..069184b9d7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow2_global.attr @@ -17,7 +17,7 @@ FINT = 80;90 FLINE = 0;23;22 HILO = 0 HLSYM = 0 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 720-940 MB RH,9950 SG STRM,850 MB OMG,850-2m dT (YEL),850 T(RED)!0 COLORS= 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow_global.attr index dc1e45ffed..80e57159e0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/great_lakes_snow_global.attr @@ -17,7 +17,7 @@ FINT = 80;90 FLINE = 0;23;22 HILO = 0 HLSYM = 0 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 720-940 MB RH,9950 SG WIND,850 MB OMG,850-2m dT (YEL),850 T(RED)!0 COLORS= 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/iceg.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/iceg.attr index f448b2de21..8d0d31c891 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/iceg.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/iceg.attr @@ -17,6 +17,7 @@ FINT= FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND= TITLE=1/-1/~ ICEG COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icprb_6400.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icprb_6400.attr index 928669d1cb..c674eba011 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icprb_6400.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icprb_6400.attr @@ -16,6 +16,7 @@ FINT=5;6;7;8;9 FLINE=0;20;21;22;23;0 HILO= HLSYM= +CLRBAR=1/V/LL!0 WIND=18/1/1 TITLE=1/-1/~ Icing Probability !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icsev_6400.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icsev_6400.attr index 3b0885b60b..aac52fb59e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icsev_6400.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/icsev_6400.attr @@ -16,6 +16,7 @@ FINT=10;15;20;25;30 FLINE=0;20;21;22;23;0 HILO= HLSYM= +CLRBAR=1/V/LL!0 WIND=18/1/1 TITLE=1/-1/~ Icing Severity !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp.attr index 42625693ad..9326ec32d8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp.attr @@ -20,6 +20,7 @@ FINT=15;24;33;42 FLINE=0;24;30;14;2 HILO=0!0!0!6/H#;L#/1020-1070;900-1012 HLSYM=!!!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND= TITLE=1/-1/~ K INDEX, 700mb TMP (GREATER THAN 6 C), BL (0-30 MB AGL) DWPT (deg F), EMSL!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp_global.attr index 5e95db9fd2..c4571da995 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/kindex_700mbtemp_bldwpt_mslp_global.attr @@ -18,7 +18,7 @@ FINT = 15;24;33;42 FLINE = 0;24;30;14;2 HILO = 0!0!0!6/H#;L#/1020-1070;900-1012 HLSYM = !!!1.5;1.5//22;22/3;3/hw -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = TITLE = 1/-1/~ K INDEX, 700mb TEMP (GREATER THAN 6 C), BL DWPT AND MSLP!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index.attr index 0be16514d2..025db086c6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index.attr @@ -19,6 +19,7 @@ FINT=-8;-6;-4;-2;0.05;10 FLINE=2;15;21;22;23;0;24 HILO=0!0 HLSYM=1;1//22;22/2;2/hw +CLRBAR=1/V/LL!0 WIND=10/0.9/2/112 TITLE=1/-1/~ BEST LI (0-180 MB AGL) AND BL (0-30 MB AGL) WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_global.attr index 3f2b24b464..d59e4a30e1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_global.attr @@ -20,7 +20,7 @@ FINT =-8;-6;-4;-2;0;10 FLINE =2;15;21;22;23;0;24 HILO =0 HLSYM =1;1//22;22/2;2/hw -!CLRBAR=1/V/LL!0 +CLRBAR=1/V/LL!0 WIND =!!!10/0.9/2/112 TITLE =1/-2/~ Best LIFTED INDEX AND BL WINDS (KTS)!0 COLORS =2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_nam.attr index 13ea6bb521..24bb38711c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_nam.attr @@ -18,7 +18,7 @@ FINT = -8;-6;-4;-2;0.05;10 FLINE = 2;15;21;22;23;0;24 HILO = 0!0 HLSYM = 1;1//22;22/2;2/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 10/0.9/2/112 TITLE = 1/-1/~ BEST LI (0-180 MB AGL) AND BL (0-30 MB AGL) WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf.attr index e4b6a8fc0c..375023e671 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf.attr @@ -16,7 +16,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 10/0.9/2/112 TITLE = 1/-1/~ Best LIFTED INDEX AND BL WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_global.attr index d3ab6f050d..2d4afb2f57 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_global.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 10/0.9/2/112 TITLE = 1/-1/~ Best LIFTED INDEX AND BL WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_nam.attr index 2e8c6233af..a497809e5f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/lifted_index_ncf_nam.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 10/0.9/2/112 TITLE = 1/-1/~ BEST LI (0-180 MB AGL) AND BL (0-30 MB AGL)WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ll_turb.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ll_turb.attr index 796d37da71..8c7aa850f0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ll_turb.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ll_turb.attr @@ -19,6 +19,7 @@ FINT=-7;-5;-3;-1;1;3;5;7 FLINE=7;29;30;24;0;14;15;18;5 HILO=0!0!1/H#;L#/1020-1070;900-1012 HLSYM=0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND=9/0.8/2/112 TITLE=1/-1/~ EMSL, BL1 (sfc-240m) WIND (KTS) AND 850 mb T ADV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts.attr index 1747c18419..3ad5cf4a0b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts.attr @@ -17,6 +17,7 @@ FINT=-9;-7;-5;-3;-1 ! FLINE=2;15;21;22;23;0 ! HILO= HLSYM= +CLRBAR= WIND=9/0.7/1.5/112 TITLE=1/-1/~ 1000-850mb THK, BL MOISTURE CONVERGENCE AND WIND (KT)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts_nam.attr index b947d6ffee..51da0e4e84 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/marine_fronts_nam.attr @@ -17,7 +17,7 @@ FINT = -9;-7;-5;-3;-1 ! FLINE = 2;15;21;22;23;0 ! HILO = HLSYM = -!CLRBAR= 1 +CLRBAR= 1 WIND = 9/0.7/1.5/112 TITLE = 1/-1/~ 1000-850mb THK, BL MOISTURE CONVERGENCE AND WIND (KT)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mean_layer_rh.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mean_layer_rh.attr index 7a4cb6116b..3e2e96d3df 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mean_layer_rh.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mean_layer_rh.attr @@ -18,6 +18,7 @@ FINT=10;30;70;90 FLINE=18;8;0;22;23 HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ @ MEAN LAYER RELATIVE HUMIDITY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_1000mb_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_1000mb_wind.attr index 92136a56f7..5e9d8b3f95 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_1000mb_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_1000mb_wind.attr @@ -17,6 +17,7 @@ FINT=20;35;65 FLINE=0;25;17;2 HILO=! !;31/;L#1//3//yes HLSYM=2;1.5//21//hw +CLRBAR=1 WIND= TITLE=5/-1/~ 1000MB WINDS (KTS), MIN PRESSURE !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_35m_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_35m_wind.attr index 3ed1d7c770..dcdd4ec794 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_35m_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/minpres_35m_wind.attr @@ -17,6 +17,7 @@ FINT=20;35;65 FLINE=0;25;17;2 HILO=! !;31/;L#1//3//yes HLSYM=2;1.5//21//hw +CLRBAR=1 WIND= TITLE=5/-1/~ 35M WINDS (KTS), MIN PRESSURE !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mlw_pmsl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mlw_pmsl.attr index 306e41f4a2..a496df02ea 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mlw_pmsl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mlw_pmsl.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0!26;2/H#;L#/1020-1070;900-1012//30;30/y HLSYM = 0!2;1.5//21//hw -!CLRBAR= 0 +CLRBAR= 0 WIND = bk10/0.9/1.4/112!bk0 TITLE = 1/-2/~ 850-400 MB MLW and MSLP|~850-400mb MLW AND MSLP!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mmsl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mmsl.attr index c31f6e3abb..f50799f70c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mmsl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mmsl.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=4;2/H#;L#/1020-1060;900-1012 HLSYM=1.3;1.3//22/3/hw +CLRBAR=0 WIND= TITLE=1/-2/~ MMSL!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mslp_thkn_850mb_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mslp_thkn_850mb_wind.attr index 807878f1d3..4f36901fab 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mslp_thkn_850mb_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/mslp_thkn_850mb_wind.attr @@ -17,6 +17,7 @@ LINE=3/3/2 ! 20//3 FINT= FLINE= HILO=! 26;2/H#;L#///30;30/y +CLRBAR=0 HLSYM=2;1.5//21//hw WIND=9/0.9/2/112 TITLE=5/-1/~ MSL PRESSURE, 1000-500mb THICKNESS AND 850mb WIND (KTS)!0 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_12hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_12hr.attr index 0a437ae146..b75e607880 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_12hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_12hr.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO= HLSYM= +CLRBAR=1 !HILO 31;0/x#2/0.2-99/10/100;0/y !HLSYM 1.5 WIND= diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_24hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_24hr.attr index 2d8f22c63f..4894a917fc 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_24hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_24hr.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO= HLSYM= +CLRBAR=1 !HILO 31;0/x#2/0.2-99/10/100;0/y !HLSYM 1.5 WIND= diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_6hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_6hr.attr index 05d277593a..131534f55c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_6hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ndfd_6hr.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO= HLSYM= +CLRBAR=1 !HILO 31;0/x#2/0.2-99/10/100;0/y !HLSYM 1.5 WIND= diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential.attr index fb27379b72..1377f75ebf 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential.attr @@ -19,6 +19,7 @@ FINT=.6;.8;1;1.2;1.4;1.6 FLINE=0;23;22;21;2;30;7 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-2/~ PCPN POTENTIAL (PW X (1000-470 MB RH)) INCHES OF PW!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_global.attr index eca2281792..337c44324d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_global.attr @@ -17,7 +17,7 @@ FINT = .6;.8;1;1.2;1.4;1.6 FLINE = 0;23;22;21;2;30;7 HILO = 0 HLSYM = 0 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 1/-2/~ PCPN POTENTIAL (PW X (1000-440 MB RH)) INCHES OF PW!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf.attr index 4fd7a6b22c..6df425d112 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf.attr @@ -19,6 +19,7 @@ FINT= FLINE= HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=1/-2/~ PCPN POTENTIAL (PW X (1000-470 MB RH)) INCHES OF PW!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_global.attr index e6e46f34e1..7de33f8ac7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_global.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 1/-2/~ PCPN POTENTIAL (PW X (1000-440 MB RH)) INCHES OF PW!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_nam.attr index 941fbdc23d..61cac030dc 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pcpn_potential_ncf_nam.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 1/-2/~ PCPN POTENTIAL (PW X (1000-470 MB RH)) INCHES OF PW!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_per_gridded.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_per_gridded.attr index 594c69c6b9..210ad1d880 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_per_gridded.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_per_gridded.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = -!CLRBAR = +CLRBAR = WIND = TITLE = 5/-1/~ GRIDPOINT PEAK SWELL PERIOD (sec)!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_period_contoured.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_period_contoured.attr index c1b5d5c76d..729e2a5ba9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_period_contoured.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/peak_swell_period_contoured.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 0 HLSYM = -!CLRBAR = +CLRBAR = WIND = !!!ak31/.7/1.2/112/.5 TITLE = 5/-1/~ PEAK SWELL PERIOD (sec) and DIRECTION!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl.attr index 1aaf88d1ee..786d6c5084 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = 26;2/H#;L#/1018-1070;900-1012//30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ MEAN SEA LEVEL PRESSURE COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk.attr index 9321437b73..39bdc24ba8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=!26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM=1;1//22;22/1.4;1.4/hw +CLRBAR=1 WIND= TITLE=1/-1/~ PMSL, 1000-500mb THKN !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_global.attr index 8981b5d7fa..dd12b4809d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_global.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = !26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM = 1;1//22;22/1.4;1.4/hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 1/-1/~ PMSL, 1000-500mb THKN !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_nogaps.attr index 8981b5d7fa..dd12b4809d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-500thk_nogaps.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = !26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM = 1;1//22;22/1.4;1.4/hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 1/-1/~ PMSL, 1000-500mb THKN !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk.attr index f9630120d1..d496e044a5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk.attr @@ -20,6 +20,7 @@ FINT= FLINE= HILO=!26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM=2;1.5//21//hw +CLRBAR=1 WIND=9/0.7/2/112 TITLE=1/-1/~ PMSL, 1000-850mb THKN AND BL (0-30 MB AGL) WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_global.attr index 9d156ecc3e..3fccbb2599 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_global.attr @@ -20,7 +20,7 @@ FINT = FLINE = HILO =!26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM =!2;1.5//21//hw -!CLRBAR=1 +CLRBAR=1 WIND =!!22/0.7/2/112 TITLE =1/-1/~ PMSL, 1000-850mb THKN AND BL (~995 MB) WIND (KTS)!0 COLORS =2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nam.attr index 87cf004522..72429eb2b4 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nam.attr @@ -19,7 +19,7 @@ FINT = FLINE = HILO = !26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = 9/0.7/2/112 TITLE = 1/-1/~ PMSL, 1000-850mb THKN AND BL (0-30 MB AGL) WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nogaps.attr index 02b396eec6..1a86df5e39 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850_thk_nogaps.attr @@ -21,7 +21,7 @@ FINT = FLINE = HILO = !26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM = !2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = !!9/0.7/2/112 TITLE = 1/-1/~ PMSL, 1000-850mb THKN AND BL (~10m) WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk.attr index cf06c722c5..fcb54f788a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO=!26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM=1;1//22;22/1.4;1.4/hw +CLRBAR=1 WIND= TITLE=1/-1/~ PMSL, 1000-850mb THKN !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_global.attr index ce81e30744..5f9de689ba 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_global.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = !26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM = 1;1//22;22/1.4;1.4/hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 1/-1/~ PMSL, 1000-850mb THKN !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_nam.attr index 006b90323f..84d321dcc4 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000-850thk_nam.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = !26;2/H#;L#/1020-1070;900-1012/3/30;30/y HLSYM = 1;1//22;22/1.4;1.4/hw -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 1/-1/~ PMSL, 1000-850mb THKN !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000mb_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000mb_wind.attr index 43a15d8f98..3ec70b357c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000mb_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_1000mb_wind.attr @@ -17,6 +17,7 @@ FINT=20;35;65 FLINE=0;25;17;2 HILO=! !;31/;L#1//3//yes HLSYM=2;1.5//21//hw +CLRBAR=1 WIND= TITLE=5/-1/~ MSLP, 1000MB WINDS (KTS) !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind.attr index 36bf6943b2..3d12d164d5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind.attr @@ -18,6 +18,7 @@ FINT=20;35;50;65 FLINE=0;24;25;30;15 HILO=0!20/H#;L#/1020-1070;900-1012 HLSYM=0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND=9/0.7/2/112 TITLE=1/-1/~ PMSL, 10m WIND (AGL; KTS) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind_nam.attr index 20d5a919ae..fbc56d7d1a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_10m_wind_nam.attr @@ -17,7 +17,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ PMSL, 10m WIND (AGL; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind.attr index a2c1dfdcb4..25a1bd41c0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind.attr @@ -19,6 +19,7 @@ FINT=20;35;50;65 FLINE=0;24;25;30;15 HILO=0!20/H#;L#/1020-1070;900-1012 HLSYM=0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND=9/0.6/2/112 TITLE=1/-1/~ PMSL, BL WIND (0-30 MB AGL; KTS) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_global.attr index ca84b73c42..5fbb14f29c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_global.attr @@ -18,7 +18,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ PMSL, BL WIND (40m AGL (~995 MB); KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_nogaps.attr index bd3ab581fc..a73d9920bd 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_bl_wind_nogaps.attr @@ -20,7 +20,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ PMSL, BL WIND (10m, KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind.attr index 01ac2df7b9..06c724ebe5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind.attr @@ -19,6 +19,7 @@ FINT=20;35;50;65 FLINE=0;24;25;30;15 HILO=0!20/H#;L#/1020-1070;900-1012 HLSYM=0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND=9/0.6/2/112 TITLE=1/-1/~ PMSL, LL WIND (2nd Eta LVL 30-60 MB AGL; KTS) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind_nam.attr index 76958a45da..811c9eef15 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_ll_wind_nam.attr @@ -18,7 +18,7 @@ FINT = 20;35;50;65 FLINE = 0;24;25;30;15 HILO = 0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 1/V/LL!0 +CLRBAR = 1/V/LL!0 WIND = 9/0.6/2/112 TITLE = 1/-1/~ PMSL, LL WIND (2nd Eta LVL 30-60 MB AGL; KTS) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_sfc_temp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_sfc_temp.attr index a362e0a20a..7b42bde98c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_sfc_temp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_and_sfc_temp.attr @@ -19,6 +19,7 @@ FINT=-24;-12;0 ! FLINE=29;30;24;0 ! HILO=0!0!0!20/H#;L#////y HLSYM=0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0 WIND=9/0.6/2/112 TITLE=1/-1/~ MSL PRESSURE, SFC TEMPERATURE AND WIND (KTS)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_bl_temp_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_bl_temp_wind.attr index 0be8b47ccc..04e79e15c3 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_bl_temp_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_bl_temp_wind.attr @@ -18,7 +18,7 @@ FINT = -24;-12;0 ! FLINE = 29;30;24;0 ! HILO = 0!0!0!20/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.8/2/112 TITLE = 1/-1/~ PMSL, BL TEMPERATURE (C), WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_estthkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_estthkn.attr index aea9f1369d..b31b599131 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_estthkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_estthkn.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=!! 26;2/H#;L#///30;30/y HLSYM=2;1.5//21//hw +CLRBAR=1 WIND=18/1/1 TITLE=5/-1/~ ^ MEAN SEA LEVEL PRESSURE, EST 1000-500 MB THICKNESS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_ethkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_ethkn.attr index a5e66dd206..97bdb1f70b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_ethkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_ethkn.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=! !26;2/H#;L#///30;30/y HLSYM=! !2;1.5//21//hw +CLRBAR=1 WIND=0 TITLE=5/-2/~ PMSL, EST 1000-500 MB THICKNESS|~MSLP, EST 1000-500 THKN! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only.attr index 69c47ebd18..5ba9dddf10 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only.attr @@ -11,7 +11,7 @@ FINT = FLINE = HILO = 26;2/H#;L#/1020-1070;900-1012 HLSYM = 1;1//22;22/1.4;1.4/hw -!CLRBAR= 0 +CLRBAR= 0 WIND = TITLE = 1/-1/~ PMSL COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only_nogaps.attr index 1c7f333bd4..55d3a1b471 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_only_nogaps.attr @@ -11,7 +11,7 @@ FINT = FLINE = HILO = 26;2/H#;L#/1020-1070;900-1012 HLSYM = 1;1//22;22/1.4;1.4/hw -!CLRBAR = 0 +CLRBAR = 0 WIND = TITLE = 1/-1/~ PMSL COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn.attr index 1cf823c835..7cd29470f5 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn.attr @@ -21,7 +21,7 @@ FINT = FLINE = HILO = !! 26;2/H#;L#/1018-1070;900-1012//30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ PMSL, 1000-500 MB THICKNESS!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_850mb_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_850mb_wind.attr index 8b6a0e0973..11f8c87dd2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_850mb_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_850mb_wind.attr @@ -17,7 +17,7 @@ FINT = FLINE = HILO = ! 26;2/H#;L#///30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = 9/0.9/2/112 TITLE = 5/-1/~ MSL PRESSURE, 1000-500mb THICKNESS AND 850mb WIND (KTS)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind.attr index 38c18fbc34..b994af6873 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=!! 26;2/H#;L#/1018-1070;900-1012//30;30/y HLSYM=2;1.5//21//hw +CLRBAR=1 WIND=3/0.8/1/112 TITLE=1/-2/~ PMSL, 1000-500 MB THICKNESS, BL WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono.attr index 23e62c64fc..79853542ac 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=!! 23;23/H#;L#/1018-1070;900-1012//30;30/y HLSYM=2;1.5//21//hw +CLRBAR=1 WIND=23/0.8/1/112 TITLE=23/-1/~ PMSL, 1000-500 MB THICKNESS, BL WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_global.attr index 5aa67fb07c..b3ec8edb2a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_global.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = !! 23;23/H#;L#/1018-1070;900-1012//30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = 23/0.8/1/112 TITLE = 23/-1/~ PMSL, 1000-500 MB THICKNESS, BL (~995 MB)WIND !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_nam.attr index be828e1c9c..066d224486 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_mono_nam.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = !! 23;23/H#;L#/1018-1070;900-1012//30;30/y HLSYM = 2;1.5//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = 23/0.8/1/112 TITLE = 23/-1/~ PMSL, 1000-500 MB THICKNESS, BL WIND !0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_nam.attr index 881a5ec013..b994af6873 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_thkn_wind_nam.attr @@ -18,7 +18,7 @@ FINT= FLINE= HILO=!! 26;2/H#;L#/1018-1070;900-1012//30;30/y HLSYM=2;1.5//21//hw -!CLRBAR=1 +CLRBAR=1 WIND=3/0.8/1/112 TITLE=1/-2/~ PMSL, 1000-500 MB THICKNESS, BL WIND!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmslcomponly.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmslcomponly.attr index eebfd8c4b6..10046f4778 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmslcomponly.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pmslcomponly.attr @@ -18,6 +18,7 @@ FINT= FLINE= HILO=5/H#;L#/1020-1070;900-1012!6/H#;L#/1020-1070;900-1012!3/H#;L#/1020-1070;900-1012 HLSYM=1;1//22;22/1;1/hw +CLRBAR=0 WIND= TITLE=5/-3/~ ETA PMSL!6/0/~ NGM PMSL!3/-2/~ GFS PMSL COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pop_p1.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pop_p1.attr index 5d77652d94..af508c4fd9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pop_p1.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pop_p1.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=0 HLSYM=0 +CLRBAR=0 WIND= TITLE=5/-1/~ POP COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb.attr index 73997698d9..c1546dc582 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb.attr @@ -20,6 +20,7 @@ FINT=332;348;364!1;2;3;4 FLINE=0;23;22;14!0;0;24;30;13 HILO=0!0!0!0!0!0!20/H#;L#/1020-1070;900-1008 HLSYM=0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=0!1/V/LL!0!0 WIND=9/0.9/2/112 TITLE=1/-1/~ 400-250mb PV,300mb WIND (KTS),PMSL,BL THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_al.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_al.attr index f9b8122f63..5987ea4682 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_al.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_al.attr @@ -19,6 +19,7 @@ FINT=332;348;364!1;2;3;4 FLINE=0;23;22;21!0;0;24;30;13 HILO=0!0!0!0!0!0!20/H#;L# HLSYM=0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=0!1/V/LL!0!0 WIND=9/0.9/2/112 TITLE=1/-1/~ 400-250mb PV,300mb WIND (KTS) and 850mb THTAE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_rap.attr index 1b51c1c90d..888d666842 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400-250mb_rap.attr @@ -18,7 +18,7 @@ FINT = 332;348;364!1;2;3;4 FLINE = 0;23;22;21!0;0;24;30;13 HILO = 0!0!0!0!0!0!20/H#;L# HLSYM = 0!0!0!0!0!0!1.5;1.5//22;22/3;3/hw -!CLRBAR = 0!1/V/LL!0!0 +CLRBAR = 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ 400-250mb PV,300mb WIND (KTS) and 850mb THTAE!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr.attr index f27cdf6d52..6bd165d44a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 12-HR TOTAL PRECIPITATION ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_avg.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_avg.attr index 918b4bc7d4..57cdc2634d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_avg.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_avg.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=31;0/x#2/0.1-99//100;0/y HLSYM=1.5 +CLRBAR=1 WIND= TITLE=5/-1/~ 12-HR AVERAGE PRECIPITATION ! 0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm.attr index 1b54a76ef1..59aab83923 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm.attr @@ -20,7 +20,7 @@ FINT = 2;4;7;13;19;26;32;39;45;52;58;65;72;78;84;91;98;104 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#/3-200//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 12-HR TOTAL PRECIPITATION (MM)! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_cmc.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_cmc.attr index 502c852dce..70e84bbaf2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_cmc.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_cmc.attr @@ -20,7 +20,7 @@ FINT = 2;4;7;13;19;26;32;39;45;52;58;65;72;78;84;91;98;104 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#/3-200//100;0/y HLSYM = 1.5 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 12-HR TOTAL PRECIPITATION (MM)! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_nogaps.attr index 3f929b16a2..ac3e62cda0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_mm_nogaps.attr @@ -17,7 +17,7 @@ FINT = 1;5;10;15;20;25;30;35;40;45;50;55;60;65;70;75;80;85 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#/5-500///y HLSYM = 1.5 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 12-HR TOTAL PRECIPITATION!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_nogaps.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_nogaps.attr index d4fbb74d77..7e25c80ee9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_nogaps.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_12hr_nogaps.attr @@ -17,7 +17,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.25;2.5;2.75;3;3.25;3.5;3.75;4 FLINE = 0;21-30;14-20;5 HILO = 0!31;0/x#2/0.1-99//100;0/y HLSYM = 0!1.5 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 12-HR TOTAL PRECIPITATION ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr.attr index e13521fbbf..a62c583248 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 24-HR TOTAL PRECIPITATION ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_avg.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_avg.attr index d6f8761652..b9904651b0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_avg.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_avg.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=31;0/x#2/0.1-99//100;0/y HLSYM=1.5 +CLRBAR=1 WIND= TITLE=5/-1/~ 24-HR AVERAGE PRECIPITATION ! 0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_mm.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_mm.attr index a3c6c3ebc1..9f40566915 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_mm.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_24hr_mm.attr @@ -20,7 +20,7 @@ FINT = 2;4;7;13;19;26;32;39;45;52;58;65;72;78;84;91;98;104 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#/3-200//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 24-HR TOTAL PRECIPITATION (MM)! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3-day.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3-day.attr index 881da258ce..951781a076 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3-day.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3-day.attr @@ -19,7 +19,7 @@ FINT = .01;.1;.25;.5;.75;1;1.5;2;2.5;3;4;5;6;7;8;9;10 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = TITLE = 5/-1/3-day (F72-F144) PCPN ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr.attr index fcbf0ea6a1..aa7ab0e496 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr.attr @@ -20,6 +20,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=31;0/x#2/0.1-99//100;0/y HLSYM=1.5 +CLRBAR=1 WIND= TITLE=5/-1/~ 3hr TOTAL PRECIPITATION (IN) COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_emsl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_emsl.attr index ed3715ea03..8f5562ad82 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_emsl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_emsl.attr @@ -20,6 +20,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=!26;2/H#;L#//5/50;50/y HLSYM=!2;1.5//21//hw +CLRBAR=1 WIND= TITLE=5/-1/~ 3-HR TOTAL PRECIPITATION, MSLP (ETA REDUCTION)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_rap.attr index fbd38923b8..e41c00ff03 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_3hr_rap.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 3hr TOTAL PRECIPITATION (IN) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_4-day.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_4-day.attr index dffa8da868..c32aac2791 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_4-day.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_4-day.attr @@ -19,7 +19,7 @@ FINT = .01;.1;.25;.5;.75;1;1.5;2;2.5;3;4;5;6;7;8;9;10 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = TITLE = 5/-1/~ 4-day (F24-F120) PCPN!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_48hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_48hr.attr index 4272d57b80..da67b44631 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_48hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_48hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 48-HR TOTAL PRECIPITATION!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_5-day.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_5-day.attr index 21a1ad92dc..9873c98598 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_5-day.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_5-day.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.5;2;2.5;3;4;5;6;7;8;9;10 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = TITLE = 5/-1/~ 5-day (120-HR) PCPN!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_54hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_54hr.attr index 2d64ec81ff..09e09f2ec7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_54hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_54hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 54-HR TOTAL PRECIPITATION ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_60hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_60hr.attr index 121ae9e036..aa60771633 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_60hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_60hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 60-HR TOTAL PRECIPITATION ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_66hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_66hr.attr index 851470d3d9..dcc5a558c9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_66hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_66hr.attr @@ -19,7 +19,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 66-HR TOTAL PRECIPITATION ! 0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr.attr index cdbfcd4bce..4562bdb081 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr.attr @@ -25,7 +25,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 6hr TOTAL PRECIPITATION (IN) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_1000-500_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_1000-500_thkn.attr index 3672dbf90f..c0b37b7a82 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_1000-500_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_1000-500_thkn.attr @@ -21,6 +21,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=0!0!0!5/H#;L#/1020-1070;900-1012 HLSYM=0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=1 WIND= TITLE=1/-1/~ 6-H TOTAL PRECIPITATION, PMSL, 1000-500mb THICKNESS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl.attr index 0487a51373..9e02093210 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl.attr @@ -20,6 +20,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=!26;2/H#;L#//6/20;20/y HLSYM=!2;1.5//21//hw +CLRBAR=1 WIND= TITLE=5/-1/~ 6-HOUR TOTAL PRECIPITATION, MSLP (ETA REDUCTION)!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl_rap.attr index 23f76b9140..e6628b1a71 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_emsl_rap.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = !26;2/H#;L#//6/20;20/y HLSYM = !2;1.5//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 6-HOUR TOTAL PRECIPITATION, MSLP (ETA REDUCTION)!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mdl_topography.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mdl_topography.attr index 1865a632f2..4b140c1795 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mdl_topography.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mdl_topography.attr @@ -18,6 +18,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.25;2.5;2.75;3;3.25;3.5;3.75;4 FLINE=0;21-30;14-20;5 HILO=0!31;0/x#2/0.1-99//100;0/y!5/H#;L#/1020-1070;900-1012!0 HLSYM=0!1.5!1;1//22;22/2;2/hw!0 +CLRBAR=1 WIND= TITLE=5/-1/~ 6-HR TOTAL PCPN, MSLP, MDL TOPOGRAPHY!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp.attr index 04f39018fa..0fd19554a6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = !26;2////30;30/y HLSYM = !2;1.5//21//hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 6-HOUR TOTAL PCPN, MSLP!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_rap.attr index 725ead3957..a1a50f03c7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_rap.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = !26;2////30;30/y HLSYM = !2;1.5//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 6-HOUR TOTAL PCPN, MSLP!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght.attr index f8d1743f65..fb4adfddea 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y!5/H#;L#/1020-1070;900-1012!0 HLSYM = 1.5!1;1//22;22/2;2/hw!0 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 6-HR TOTAL PCPN, MSLP, MDL TOPOGRAPHY!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght_rap.attr index 144bc7677b..ab10937d53 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslp_sfchght_rap.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y!5/H#;L#/1020-1070;900-1012!0 HLSYM = 1.5!1;1//22;22/2;2/hw!0 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 6-HR TOTAL PCPN, MSLP, MDL TOPOGRAPHY!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo.attr index ef2ec44189..147832531e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y!17/H#;L# HLSYM = 1.5 !1;1//22;22/2;2/hw -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 6-HR TOTAL PCPN, MSLP!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo_rap.attr index 7851bb670e..9bd4e97b1e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mslphilo_rap.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y!17/H#;L# HLSYM = 1.5 !1;1//22;22/2;2/hw -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 6-HR TOTAL PCPN, MSLP!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_rap.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_rap.attr index 229dd045b7..53bcc48975 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_rap.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_rap.attr @@ -25,7 +25,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ 6hr TOTAL PRECIPITATION (IN) COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_72hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_72hr.attr index 1f69ebe37e..65cc1d240c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_72hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_72hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 72-HR TOTAL PRECIPITATION!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_78hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_78hr.attr index ec003bcd5e..52662cdf64 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_78hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_78hr.attr @@ -20,7 +20,7 @@ FINT = .01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE = 0;21-30;14-20;5 HILO = 31;0/x#2/0.1-99//100;0/y HLSYM = 1.5 -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 5/-1/~ 78-HR TOTAL PRECIPITATION!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type.attr index 69e9762db9..6747aec642 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type.attr @@ -17,6 +17,7 @@ FINT=50;200 !50;200 !50;200 !50;200 FLINE=0;23;23 !0;25;25 !0;30;30 !0;15;15 HILO=0 HLSYM=0 +CLRBAR=0 WIND=9/0.7/2/112 TITLE=1/-1/~ PCPN TYPE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_12hr_amounts.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_12hr_amounts.attr index 2eea639725..7aaca12349 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_12hr_amounts.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_12hr_amounts.attr @@ -19,6 +19,7 @@ FINT=.1;.25;.5;.75!.05;1000! FLINE=0;6;26;25;24!0;11! HILO=31/x#2/.15-7///y!7/x#2/.1-7///y!2/x#2/.1-7///y!22/x#2/.1-7///y HLSYM=1.2//22/2/hw!1.4//22;22/2;2/hw!1.4//22;22/2;2/hw!1.1//22;22/2;2/hw +CLRBAR=1 WIND= TITLE=1/-2/~ 12-HR PCPN BY TYPE (INST)|~ 12-HR PCPN BY TYPE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_24hr_amounts.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_24hr_amounts.attr index 961b760249..25da97d110 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_24hr_amounts.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_24hr_amounts.attr @@ -18,6 +18,7 @@ FINT=.1;.25;.5;.75!.05;1000! FLINE=0;6;26;25;24!0;11! HILO=31/x#2/.15-7///y!7/x#2/.1-7///y!2/x#2/.1-7///y!22/x#2/.1-7///y HLSYM=1.2//22/2/hw!1.4//22;22/2;2/hw!1.4//22;22/2;2/hw!1.1//22;22/2;2/hw +CLRBAR=1 WIND= TITLE=1/-2/~ 24-HR PCPN BY TYPE (INST)|~ 24-HR PCPN BY TYPE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_48hr_amounts.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_48hr_amounts.attr index 3cadd102dd..ecafb80278 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_48hr_amounts.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_48hr_amounts.attr @@ -18,6 +18,7 @@ FINT=.1;.25;.5;.75!.05;1000! FLINE=0;6;26;25;24!0;11! HILO=31/x#2/.15-7///y!7/x#2/.1-7///y!2/x#2/.1-7///y!22/x#2/.1-7///y HLSYM=1.2//22/2/hw!1.4//22;22/2;2/hw!1.4//22;22/2;2/hw!1.1//22;22/2;2/hw +CLRBAR=1 WIND= TITLE=1/-2/~ 48-HR PCPN BY TYPE (INST)|~ 48-HR PCPN BY TYPE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_6hr_amounts.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_6hr_amounts.attr index 81ee01f678..b25f48aa46 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_6hr_amounts.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_6hr_amounts.attr @@ -18,6 +18,7 @@ FINT=.1;.25;.5;.75!.05;1000! FLINE=0;6;26;25;24!0;11! HILO=31/x#2/.15-7///y!7/x#2/.1-7///y!2/x#2/.1-7///y!22/x#2/.1-7///y HLSYM=1.2//22/2/hw!1.4//22;22/2;2/hw!1.4//22;22/2;2/hw!1.1//22;22/2;2/hw +CLRBAR=1 WIND= TITLE=1/-2/~ ETA 6-HR PCPN BY TYPE (INST)|~ 6-HR PCPN BY TYPE!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_global.attr index 60954b026b..199e2c0376 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_global.attr @@ -17,7 +17,7 @@ FINT = 50;200 !50;200 !50;200 !50;200 FLINE = 0;23;23 !0;25;25 !0;30;30 !0;15;15 HILO = 0 HLSYM = 0 -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.7/2/112 TITLE = 1/-2/~ PCPN TYPE |~PCPN TYPE AND VV!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv.attr index 4217642861..f26fe724f2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv.attr @@ -23,6 +23,7 @@ FINT=50;200!50;200!50;200!50;200 FLINE=0;23;23!0;25;25!0;30;30!0;15;15 HILO=0 HLSYM=0 +CLRBAR=0 WIND=9/0.7/2/112 TITLE=1/-1/~ PCPN Type, 1000-470 MB RH AND 700-500 MB VV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_global.attr index 4c5add8e9e..b9e06502a4 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_global.attr @@ -18,7 +18,7 @@ FINT = 50;200!50;200!50;200!50;200 FLINE = 0;23;23!0;25;25!0;30;30!0;15;15 HILO = 0 HLSYM = 0 -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.7/2/112 TITLE = 1/-2/~ GFS PCPN TYPE, 1000-500 RH AND 700-500 VV|~PCPN TYPE AND VV!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf.attr index ea91d565d3..2021b483fb 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf.attr @@ -18,6 +18,7 @@ FINT=50;200!50;200!50;200!50;200 FLINE=0;23;23!0;25;25!0;30;30!0;15;15 HILO=0 HLSYM=0 +CLRBAR=0 WIND=9/0.7/2/112 TITLE=1/-1/~ Precip Type, 1000-470 MB RH AND 700-500 MB Vertical Velocity!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_global.attr index 2f4e6c8109..b1509db28e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_global.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.7/2/112 TITLE = 1/-2/~ GFS PCPN TYPE, 1000-500 RH AND 700-500 VV|~PCPN TYPE AND VV!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_nam.attr index ddaf6ce524..3943d9e12e 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_type_vv_ncf_nam.attr @@ -18,7 +18,7 @@ FINT = 50;200!50;200!50;200!50;200 FLINE = 0;23;23!0;25;25!0;30;30!0;15;15 HILO = 0 HLSYM = 0 -!CLRBAR= 1/V/LL!0 +CLRBAR= 1/V/LL!0 WIND = 9/0.7/2/112 TITLE = 1/-1/~ Precip Type, 1000-470 MB RH AND 700-500 MB Vertical Velocity!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_mslp.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_mslp.attr index 31702725ac..b441c52745 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_mslp.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_mslp.attr @@ -18,6 +18,7 @@ FINT=1.0;1.5;2.0;2.5! FLINE=0;23;22;14;2! HILO=0!0!0!0!6/H#;L# HLSYM=0!0!0!0!1.5;1.5//22;22/3;3/hw +CLRBAR=1/V/LL!0!0!0 WIND=18/1/1 TITLE=5/-1/~ PRECIPITABLE WATER, EST MSL PRESSURE, THICKNESS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl.attr index 383cd1a525..dd62d27f68 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl.attr @@ -18,7 +18,7 @@ FINT = 1.0;1.5;2.0;2.5! FLINE = 0;23;22;14;2! HILO = 0!0!0!0!6/H#;L#/1020-1070;900-1012 HLSYM = 0!0!0!0!1;1//22;22/3;3/hw -!CLRBAR= 1/V/LL!0!0!0 +CLRBAR= 1/V/LL!0!0!0 WIND = 0 TITLE = 1/-1/~ PW, PMSL, THICKNESS!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl_mm.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl_mm.attr index 308c577748..318688155b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl_mm.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/precip_water_pmsl_mm.attr @@ -17,7 +17,7 @@ FINT = !13;25;38;50 ! FLINE = !0;23;22;21;2 ! HILO = 0 !0 !0 !0 !6/H#;L#/1020-1080;900-1012 HLSYM = 0 !0 !0 !0 !1.5;1.5//22;22/3;3/hw -!CLRBAR= !1/V/LL !0 +CLRBAR= !1/V/LL !0 WIND = 18/1/1 TITLE = 5/-1/~ PRECIPITABLE WATER, PMSL, THICKNESS!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/primary_wave_dir.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/primary_wave_dir.attr index 1fab0d2758..8bc10b1094 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/primary_wave_dir.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/primary_wave_dir.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ Direction Of Primary Wave !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/prob_precip_above_normal.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/prob_precip_above_normal.attr index a5bbd9b85f..21346979c2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/prob_precip_above_normal.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/prob_precip_above_normal.attr @@ -16,6 +16,7 @@ FINT= FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND= TITLE=1/-1/~ PPAN COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip.attr index b2942c0423..164f8bfeaa 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=5/-1/~ POP COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip_3hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip_3hr.attr index 94178678cb..c68f4ff16c 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip_3hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/probability_of_precip_3hr.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=0 HLSYM=0 +CLRBAR=1 WIND= TITLE=5/-1/~ POP 3hr COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_emsl_c-vec.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_emsl_c-vec.attr index 86f1c8a245..bb5b171dc8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_emsl_c-vec.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_emsl_c-vec.attr @@ -20,6 +20,7 @@ FINT=!0.5;1.0;1.5;2.0 FLINE=!0;23;22;30;14 HILO=0!0!6/H#;L#/1020-1070;900-1012!0 HLSYM=0!0!1.5;1.5//22;22/3;3/hw!0 +CLRBAR=0!1/V/LL!0!0 WIND=9/0.9/2/112 TITLE=1/-1/~ PW, EMSL, 1000-500 THICKNESS, C-VEC!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_mslp_c-vec.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_mslp_c-vec.attr index d3388a37ec..8e0bed61d7 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_mslp_c-vec.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pw_mslp_c-vec.attr @@ -17,7 +17,7 @@ FINT = !0.5;1.0;1.5;2.0 FLINE = !0;23;22;30;14 HILO = 0!0!6/H#;L#/1020-1070;900-1012!0 HLSYM = 0!0!1.5;1.5//22;22/3;3/hw!0 -!CLRBAR= 0!1/V/LL!0!0 +CLRBAR= 0!1/V/LL!0!0 WIND = 9/0.9/2/112 TITLE = 1/-1/~ PW, MSL PRESSURE, THICKNESS, C-VEC!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pws50.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pws50.attr index 05461b8d87..abd11ef079 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pws50.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/pws50.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ PWS50 !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/q-vectrs_thkn.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/q-vectrs_thkn.attr index 1c1df28298..46d5754b89 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/q-vectrs_thkn.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/q-vectrs_thkn.attr @@ -19,6 +19,7 @@ FINT= FLINE= HILO=3/W;K HLSYM= +CLRBAR=0 WIND=27/.1/2//.5 TITLE=1/-1/~ @ Q-VECTORS and THICKNESS!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/radar_spectra1.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/radar_spectra1.attr index b0deb79926..1b3548e32f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/radar_spectra1.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/radar_spectra1.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR=0 WIND= TITLE=5/-1/~ Radar Spectra 1! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_500-850.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_500-850.attr index 67e540d4f5..ff4714fd81 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_500-850.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_500-850.attr @@ -18,6 +18,6 @@ FINT = 70;80;90 FLINE = 0;24;23;22 HILO = HLSYM = -!CLRBAR= 1 +CLRBAR= 1 WIND = TITLE = 1/-2/~ 850-700 RH,T(BL y,850 r,700 cyan),850-500 EPV|~ 850-700 RH, R/S T, EPV!0 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_600-800.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_600-800.attr index 87742bfec7..f86c2c68af 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_600-800.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_600-800.attr @@ -18,6 +18,7 @@ FINT=70;80;90 FLINE=0;24;23;22 HILO= HLSYM= +CLRBAR=1 WIND= TITLE=1/-2/~ 850-700 RH,T(BL y,850 r,700 cyan),800-600 EPV|~ 850-700 RH, R/S T, EPV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_700-850.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_700-850.attr index d83a729942..1545947f48 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_700-850.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ransnocsi_700-850.attr @@ -18,6 +18,7 @@ FINT=70;80;90 FLINE=0;24;23;22 HILO= HLSYM= +CLRBAR=1 WIND= TITLE=1/-2/~ 850-700 RH,T(BL y,850 r,700 cyan),850-700 EPV|~ 850-700 RH, R/S T, EPV!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/remotely_sensed_snow_cover.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/remotely_sensed_snow_cover.attr index 097e03c20f..20060430d3 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/remotely_sensed_snow_cover.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/remotely_sensed_snow_cover.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ Remotely Sensed Snow Cover COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ri3hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ri3hr.attr index d0292dc847..9bf212f092 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ri3hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/ri3hr.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ RI3hr COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice.attr index 1b29ed2ac9..dd565e1868 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ Sea Ice !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice_points.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice_points.attr index ed03b71bf6..7e7007af70 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice_points.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/seaice_points.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR=0 WIND=18/1/1 TITLE=1/-1/~ Sea Ice !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sfclifted_index.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sfclifted_index.attr index 4485000e04..f3cfb08637 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sfclifted_index.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sfclifted_index.attr @@ -18,6 +18,7 @@ FINT=-8;-6;-4;-2;0;10 FLINE=2;15;21;22;23;0;24 HILO=0 HLSYM=0 +CLRBAR=1 WIND=!!!bk10/0.9/2/112 TITLE=1/-2/~ SFC LIFTED INDEX, BL WINDS|~SFC LIFTED INDEX!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_feet.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_feet.attr index 1f4ec13766..e81cf5dfcd 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_feet.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_feet.attr @@ -20,7 +20,7 @@ FINT = 6;12;18;24;30 FLINE = 0;24;25;30;14;2 HILO = ! ! 26;2/H#;L#///30;30/y HLSYM = ! ! 1.2;0.8//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/0.9/1.5/112 TITLE = 5/-1/~ SIG WAVE HEIGHT (ft) with GFS PMSL and BL WIND!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_meters.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_meters.attr index 1911097429..5fd5a28055 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_meters.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_and_mslp_meters.attr @@ -20,7 +20,7 @@ FINT = 2;4;6;8;10 FLINE = 0;24;25;30;14;2 HILO = ! !26;2/H#;L#///30;30/y HLSYM = ! !1.2;0.8//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/0.9/1.5/112 TITLE = 5/-1/~ SIG WAVE HEIGHT (m) with GFS PMSL and BL WIND!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_feet.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_feet.attr index ba5737a3ea..9a846539e8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_feet.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_feet.attr @@ -18,7 +18,7 @@ FINT = 6;12;18;24;30 FLINE = 0;24;25;30;14;2 HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/0.9/1.5/112 TITLE = 5/-1/~ SIG WAVE HEIGHT (ft) and NWW3 10m WIND!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_meters.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_meters.attr index c6eff6c440..0f6d4bc60d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_meters.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_cont_fill_meters.attr @@ -18,7 +18,7 @@ FINT = 2;4;6;8;10 FLINE = 0;24;25;30;14;2 HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/0.9/1.5/112 TITLE = 5/-1/~ SIG WAVE HEIGHT (m) and NWW3 10m WIND!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_dir_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_dir_only.attr index 97cc8270bf..14b2230092 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_dir_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_dir_only.attr @@ -19,7 +19,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR = +CLRBAR = WIND = 3/.7/.6/212/.6 TITLE = 5/-1/~ GRIDPOINT PEAK SWELL DIR!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet.attr index d5802cfed2..f62d433023 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet.attr @@ -19,7 +19,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/.8/1.8/112 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (ft) and NWW3 10m WIND!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_dir.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_dir.attr index 750527c1df..3ff4bfc2e3 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_dir.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_dir.attr @@ -20,7 +20,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR = +CLRBAR = WIND = 3/.7/.6/212/.6 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (ft) and PEAK SWELL DIR!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_only.attr index e10275da74..f970371f7b 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_only.attr @@ -19,7 +19,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 0 +CLRBAR = 0 WIND = TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (ft)!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_opc.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_opc.attr index 13c23b7a81..8b791f5577 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_opc.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_feet_opc.attr @@ -18,7 +18,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/.8/1.8/112 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (ft) COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters.attr index 9d44946a20..fe962635f9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters.attr @@ -19,7 +19,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 0 +CLRBAR = 0 WIND = 17/0.8/1.8/112 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (m) and NWW3 10m WIND!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_dir.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_dir.attr index 201de23650..a33bdbe8ef 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_dir.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_dir.attr @@ -20,7 +20,7 @@ FINT = FLINE = HILO = HLSYM = -!CLRBAR = +CLRBAR = WIND = 3/.7/.6/212/.6 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (m) and PEAK SWELL DIR!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_only.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_only.attr index d4f88c082b..14a049918f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_only.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_meters_only.attr @@ -19,7 +19,7 @@ FINT = FLINE = HILO = 0 HLSYM = 0 -!CLRBAR = 0 +CLRBAR = 0 WIND = TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (m)!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet.attr index a7666239e6..9202e02e37 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet.attr @@ -21,7 +21,7 @@ FINT = FLINE = HILO = ! !26;2/H#;L#///30;30/y HLSYM = ! !1.2;0.8//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = !17/0.8/1.8/112 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (ft) with GFS PMSL and BL Winds!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet_nw.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet_nw.attr index db1198e689..773dd8118a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet_nw.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_feet_nw.attr @@ -21,7 +21,7 @@ FINT = FLINE = HILO = !26;2/H#;L#///30;30/y HLSYM = !1.2;0.8//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (ft) with GFS PMSL!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters.attr index ee2ced5cab..cca650d7d8 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters.attr @@ -21,7 +21,7 @@ FINT = FLINE = HILO = ! !26;2/h#;l#///30;30/y HLSYM = ! !.9;0.8//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = 17/1/1.4/112 TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (m) with GFS PMSL and BL WIND!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters_nw.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters_nw.attr index 37a3cdf9a5..0a7924e4b9 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters_nw.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sig_wave_gridded_mslp_meters_nw.attr @@ -21,7 +21,7 @@ FINT = FLINE = HILO = !26;2/h#;l#///30;30/y HLSYM = !.9;0.8//21//hw -!CLRBAR = 1 +CLRBAR = 1 WIND = TITLE = 5/-1/~ GRIDDED SIG WAVE HEIGHT (m) with GFS PMSL!0 COLORS = 1 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sipd_6400.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sipd_6400.attr index c50914ddf1..6d37c8bd16 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sipd_6400.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/sipd_6400.attr @@ -16,6 +16,7 @@ FINT=5;6;7;8;9 FLINE=0;20;21;22;23;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ Supercooled Large Droplet Icing COLORS=21 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/slight_risk_conv_outlook.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/slight_risk_conv_outlook.attr index a70e2895fa..b7331ba28f 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/slight_risk_conv_outlook.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/slight_risk_conv_outlook.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ tp12c1 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd.attr index 7849f3786c..8307c783a2 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd.attr @@ -20,6 +20,7 @@ FINT=35;50;65 FLINE=0;25;30;15 HILO=0!20/;N#/;-30--12!0!20/H#;L#/1018-1070;900-1014 HLSYM=0!1.2;1.2//21;21/2;2/hw!0!1.2;1.2//21;21/2;2/hw +CLRBAR=0 WIND=9/0.8/1.8/112 TITLE=1/-1/~ 850mb Wind, Lapse Rate (850-SFC) [Unstable less than -12 (SOLID)]!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd_global.attr index 94540f4bf1..d04bf2dc49 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_850mb_wnd_global.attr @@ -17,7 +17,7 @@ FINT = 35;50;65 FLINE = 0;25;30;15 HILO = 0!7/;N#/;-30--12!0!20/H#;L#/1018-1070;900-1014 HLSYM = 0!1.2;1.2//21;21/2;2/hw!0!1.2;1.2//21;21/2;2/hw -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.8/1.8/112 TITLE = 1/-1/~ 850mb Wind, Lapse Rate (850-SFC) [Unstable less than -12 (SOLID)]!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_900mb_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_900mb_wnd.attr index 03b17b886a..524e726765 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_900mb_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_900mb_wnd.attr @@ -17,6 +17,7 @@ FINT=35;50;65 FLINE=0;25;30;15 HILO=0!20/;N#/;-30--8!0!20/H#;L#/1018-1070;900-1014 HLSYM=0!1.2;1.2//21;21/2;2/hw!0!1.2;1.2//21;21/2;2/hw +CLRBAR=0 WIND=9/0.8/1.8/112 TITLE=1/-1/~ 900mb Wind, Lapse Rate (900-SFC) [Unstable less than -8 (SOLID)]!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_925mb_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_925mb_wnd.attr index 03ff00f9a7..1dd2413da6 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_925mb_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_925mb_wnd.attr @@ -18,6 +18,7 @@ FINT=35;50;65 FLINE=0;25;30;15 HILO=0!7/;N#/;-30--6!0!20/H#;L#/1018-1070;900-1014 HLSYM=0!1.2;1.2//21;21/2;2/hw!0!1.2;1.2//21;21/2;2/hw +CLRBAR=0 WIND=9/0.8/1.8/112 TITLE=1/-1/~ 925mb Wind, Lapse Rate (925-SFC) [Unstable less than -6 (SOLID)]!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_950mb_wnd.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_950mb_wnd.attr index dd484f3e67..3106c6a2aa 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_950mb_wnd.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/stability_950mb_wnd.attr @@ -17,7 +17,7 @@ FINT = 35;50;65 FLINE = 0;25;30;15 HILO = 0!20/;N#/;-30--4!0!20/H#;L#/1018-1070;900-1014 HLSYM = 0!1.2;1.2//21;21/2;2/hw!0!1.2;1.2//21;21/2;2/hw -!CLRBAR= 0 +CLRBAR= 0 WIND = 9/0.8/1.8/112 TITLE = 1/-1/~ 950mb Wind, Lapse Rate (950-SFC) [Unstable less than -4 (SOLID)]!0 COLORS = 2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_pressure.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_pressure.attr index 79ffc74042..c4a30951b1 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_pressure.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_pressure.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR= WIND= TITLE=5/-1/~ SURFACE PRESSURE! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature.attr index 6a02e65f68..aca89d39da 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR= WIND= TITLE=5/-1/~ SURFACE TEMPERATURE! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature_as_points.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature_as_points.attr index af55a989ce..3a0e1cf413 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature_as_points.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/surface_temperature_as_points.attr @@ -17,6 +17,7 @@ FINT= FLINE= HILO= HLSYM= +CLRBAR= WIND= TITLE=5/-1/~ @ SURFACE TEMPERATURE! COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx.attr index 5afb7cbf14..e8501e2a73 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx.attr @@ -21,6 +21,7 @@ FINT=0;50 !50;56;62;68;74 FLINE=0;8;0 !0;23;22;30;14;2 HILO=0!0!0!0!5/H#;L#/1080-2000;900-1012!0 HLSYM=!!!!!1.5;1.5//22/3/hw! +CLRBAR=0!1/V/LL!0 WIND=!!!!!!9/0.8/2/112!6/.3/2/221/.4 TITLE=1/-2/~ BL (0-30 MB AGL)DWPT AND WIND, 700mb TEMP, RH AND WND, EMSL!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_global.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_global.attr index d475c6c376..5351126741 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_global.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_global.attr @@ -17,6 +17,6 @@ FINT = 0;50 !50;56;62;68;74 FLINE = 0;8;0 !0;23;22;30;14;2 HILO = 0!0!0!0!5/H#;L#/1080-2000;900-1012!0 HLSYM = !!!!!1.5;1.5//22/3/hw! -!CLRBAR= 0!1/V/LL!0 +CLRBAR= 0!1/V/LL!0 WIND = !!!!!!9/0.8/2/112!6/.3/2/221/.4 TITLE = 1/-2/~ BL DWPT AND WIND, 700mb TEMP, RH AND WND, PMSL!0 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_intl.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_intl.attr index 4cfd9decec..14d938d47d 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_intl.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_intl.attr @@ -17,6 +17,7 @@ FINT=0;50 !15;18;21;24;27 FLINE=0;8;0 !0;23;22;30;14;2 HILO=0!0!0!0!5/H#;L#/1080-2000;900-1012!0 HLSYM=!!!!!1.5;1.5//22/3/hw! +CLRBAR=0!1/V/LL!0 WIND=!!!!!!9/0.8/2/112!6/.3/2/221/.4 TITLE=1/-2/~ BL DWPT AND WIND, 700mb TEMP, RH AND WND, PMSL!0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_nam.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_nam.attr index 758756d9d8..12ea8ac97a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_nam.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/svrwx_nam.attr @@ -20,6 +20,6 @@ FINT = 0;50 !50;56;62;68;74 FLINE = 0;8;0 !0;23;22;30;14;2 HILO = 0!0!0!0!5/H#;L#/1080-2000;900-1012!0 HLSYM = !!!!!1.5;1.5//22/3/hw! -!CLRBAR= 0!1/V/LL!0 +CLRBAR= 0!1/V/LL!0 WIND = !!!!!!9/0.8/2/112!6/.3/2/221/.4 TITLE = 1/-2/~ BL (0-30 MB AGL)DWPT AND WIND, 700mb TEMP, RH AND WND, EMSL!0 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tmxk.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tmxk.attr index 02a3836e08..ae62effa33 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tmxk.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tmxk.attr @@ -17,6 +17,7 @@ FINT=.01;.1;.25;.5;.75;1;1.25;1.5;1.75;2;2.5;3;4;5;6;7;8;9 FLINE=0;21-30;14-20;5 HILO=0 HLSYM=0 +CLRBAR= WIND= TITLE=5/-1/~ TMXK COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/total_cloud_cover.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/total_cloud_cover.attr index 81a4e6995f..861948b296 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/total_cloud_cover.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/total_cloud_cover.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ Total Cloud Cover COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tp12c1.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tp12c1.attr index cf085bcd1c..3f54c18089 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tp12c1.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tp12c1.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ tp12c1 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpFWR.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpFWR.attr index 7ece720ece..07484a2a5a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpFWR.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpFWR.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ tpFWR COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpHPC.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpHPC.attr index 645b3ee667..ea2cb88c68 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpHPC.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tpHPC.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ tpHPC COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tstorm_prob_2hr.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tstorm_prob_2hr.attr index b113b28ac4..3c5f8e75b0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tstorm_prob_2hr.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/tstorm_prob_2hr.attr @@ -17,6 +17,7 @@ FINT= FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND= TITLE=1/-1/~ 2-Hr Thunderstorm Probability COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/turb_6400.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/turb_6400.attr index 2e514c87fc..b99fb64c1a 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/turb_6400.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/turb_6400.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ TURBULENCE !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/water_temperature.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/water_temperature.attr index 7e67c1ca86..63b8686fc0 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/water_temperature.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/water_temperature.attr @@ -17,6 +17,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ WATER TEMPERATURE !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/wave_height.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/wave_height.attr index a2b3ef1de2..d86e4dd318 100644 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/wave_height.attr +++ b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/ModelFcstGridContours/wave_height.attr @@ -16,6 +16,7 @@ FINT=50;60;70;80;90 FLINE=0;29;28;27;26;0 HILO= HLSYM= +CLRBAR= WIND=18/1/1 TITLE=1/-1/~ Wave Height !0 COLORS=2 diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/PGEN-PGEN.xml b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/PGEN-PGEN.xml deleted file mode 100644 index 3d2a5383c9..0000000000 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/PGEN-PGEN.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - PGEN - PGEN - default,monocolor-green,monocolor-white - diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/default.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/default.attr deleted file mode 100644 index 77ce42af86..0000000000 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/default.attr +++ /dev/null @@ -1,6 +0,0 @@ -! Attributes for PGEN XML -! -color=RGB {155, 155, 155} -monoColorEnable=false -monoColor=RGB {0, 255, 0} -fillModeEnable=true diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/monocolor-green.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/monocolor-green.attr deleted file mode 100644 index 2b33d0a877..0000000000 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/monocolor-green.attr +++ /dev/null @@ -1,6 +0,0 @@ -! Attributes for PGEN XML -! -color=RGB {155, 155, 155} -monoColorEnable=true -monoColor=RGB {0, 255, 0} -fillModeEnable=true diff --git a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/monocolor-white.attr b/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/monocolor-white.attr deleted file mode 100644 index eb83b96354..0000000000 --- a/cave/build/static/common/cave/etc/ncep/AttributeSetGroups/PGEN/monocolor-white.attr +++ /dev/null @@ -1,6 +0,0 @@ -! Attributes for PGEN XML -! -color=RGB {255, 255, 255} -monoColorEnable=true -monoColor=RGB {255, 255, 255} -fillModeEnable=true diff --git a/cave/build/static/common/cave/etc/ncep/ColorMaps/Satellite/wv_tpc.cmap b/cave/build/static/common/cave/etc/ncep/ColorMaps/Satellite/wv_tpc.cmap index 09ed55f377..d52e70eb01 100644 --- a/cave/build/static/common/cave/etc/ncep/ColorMaps/Satellite/wv_tpc.cmap +++ b/cave/build/static/common/cave/etc/ncep/ColorMaps/Satellite/wv_tpc.cmap @@ -1,131 +1,131 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_bufrmos_total_skyc.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_bufrmos_total_skyc.txt new file mode 100644 index 0000000000..22e0a2bdb2 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_bufrmos_total_skyc.txt @@ -0,0 +1,5 @@ +s2s +default : SKY_COVER_00 +1 : SKY_COVER_00 +4 : SKY_COVER_08 +7 : SKY_COVER_06 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_clouds_best_cat.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_clouds_best_cat.txt new file mode 100644 index 0000000000..c95fc03865 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_clouds_best_cat.txt @@ -0,0 +1,13 @@ +s2s +0 : SKY_COVER_00 +1 : SKY_COVER_02 +2 : SKY_COVER_03 +4 : SKY_COVER_08 +5 : SKY_COVER_00 +6 : SKY_COVER_05 +8 : SKY_COVER_09 +9 : SKY_COVER_03 +11 : SKY_COVER_03 +12 : SKY_COVER_02 +13 : SKY_COVER_02 +14 : SKY_COVER_00 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_icing.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_icing.txt new file mode 100644 index 0000000000..9bee2585c2 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_icing.txt @@ -0,0 +1,11 @@ +s2s +SEV : ICING_08 +MODSEV : ICING_06 +MOD : ICING_05 +LGTMOD : ICING_04 +LGT : ICING_03 +TRACELGT: ICING_02 +TRACE : ICING_01 +NEG : ICING_00 + + diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_pressure_tendency.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_pressure_tendency.txt new file mode 100644 index 0000000000..3c80406877 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_pressure_tendency.txt @@ -0,0 +1,10 @@ +s2s +0 : PRESSURE_TENDENCY_00 +1 : PRESSURE_TENDENCY_01 +2 : PRESSURE_TENDENCY_02 +3 : PRESSURE_TENDENCY_03 +4 : PRESSURE_TENDENCY_04 +5 : PRESSURE_TENDENCY_05 +6 : PRESSURE_TENDENCY_06 +7 : PRESSURE_TENDENCY_07 +8 : PRESSURE_TENDENCY_08 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_skyc.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_skyc.txt new file mode 100644 index 0000000000..0b559de136 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_skyc.txt @@ -0,0 +1,11 @@ +s2s +default : SKY_COVER_10 +BLNK : SKY_COVER_10 +SKC : SKY_COVER_00 +CLR : SKY_COVER_00 +FEW : SKY_COVER_02 +SCT : SKY_COVER_03 +BKN : SKY_COVER_06 +OVC : SKY_COVER_08 +OBS : SKY_COVER_09 +VV : SKY_COVER_09 diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_total_cloud_amount.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_total_cloud_amount.txt new file mode 100644 index 0000000000..7b01d5854b --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_total_cloud_amount.txt @@ -0,0 +1,10 @@ +s2s +default : SKY_COVER_10 +1 : SKY_COVER_10 +2 : SKY_COVER_00 +3 : SKY_COVER_00 +4 : SKY_COVER_03 +5 : SKY_COVER_02 +6 : SKY_COVER_06 +7 : SKY_COVER_08 +8 : SKY_COVER_09 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_turbulence.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_turbulence.txt new file mode 100644 index 0000000000..fe751ef101 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_turbulence.txt @@ -0,0 +1,9 @@ +s2s +EXTRM :TURBULENCE_7 +SEV :TURBULENCE_6 +MODSEV:TURBULENCE_5 +MOD :TURBULENCE_4 +LGTMOD:TURBULENCE_3 +LGT :TURBULENCE_2 +NEGLGT:TURBULENCE_1 +NEG :TURBULENCE_0 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_wsym.txt b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_wsym.txt new file mode 100644 index 0000000000..91c9d8f966 --- /dev/null +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/pgen_wsym.txt @@ -0,0 +1,71 @@ +s2s +-SHRA : PRESENT_WX_080 ++SHRA : PRESENT_WX_082 +SHRA : PRESENT_WX_081 +-SHSN : PRESENT_WX_085 ++SHSN : PRESENT_WX_086 +SHSN : PRESENT_WX_086 +-TSRA : PRESENT_WX_095 ++TSRA : PRESENT_WX_097 +TSRA : PRESENT_WX_095 +-TSSN : PRESENT_WX_095 ++TSSN : PRESENT_WX_097 +TSSN : PRESENT_WX_095 +FZRASN : PRESENT_WX_066 +BCBR : PRESENT_WX_010 +MIBR : PRESENT_WX_010 +BR : PRESENT_WX_010 +FZFG : PRESENT_WX_048 +BCFG : PRESENT_WX_041 +MIFG : PRESENT_WX_044 +FG : PRESENT_WX_045 +TS : PRESENT_WX_095 ++TS : PRESENT_WX_097 +FC : PRESENT_WX_019 ++FC : PRESENT_WX_019 +PO : PRESENT_WX_008 +DRSN : PRESENT_WX_036 ++DRSN : PRESENT_WX_037 +BLSN : PRESENT_WX_038 ++BLSN : PRESENT_WX_039 +FU : PRESENT_WX_004 +HZ : PRESENT_WX_005 +-SH : PRESENT_WX_080 +SH : PRESENT_WX_081 +DU : PRESENT_WX_006 +SA : PRESENT_WX_007 +SS : PRESENT_WX_009 +DS : PRESENT_WX_009 ++SS : PRESENT_WX_009 ++DS : PRESENT_WX_009 +-FZRA : PRESENT_WX_066 +-FZDZ : PRESENT_WX_056 +FZRA : PRESENT_WX_067 +FZDZ : PRESENT_WX_057 +GR : PRESENT_WX_088 +IC : PRESENT_WX_078 +PE : PRESENT_WX_079 +PL : PRESENT_WX_079 +GS : PRESENT_WX_087 +DZRA : PRESENT_WX_058 +RADZ : PRESENT_WX_058 +RASN : PRESENT_WX_069 +SNRA : PRESENT_WX_069 +-RA : PRESENT_WX_061 ++RA : PRESENT_WX_065 +RA : PRESENT_WX_063 +-DZ : PRESENT_WX_051 ++DZ : PRESENT_WX_055 +DZ : PRESENT_WX_053 +-SN : PRESENT_WX_071 ++SN : PRESENT_WX_075 +SN : PRESENT_WX_073 +-UP : PRESENT_WX_203 ++UP : PRESENT_WX_203 +UP : PRESENT_WX_203 +IP : PRESENT_WX_079 +SG : PRESENT_WX_077 +VA : PRESENT_WX_201 +PRFG : PRESENT_WX_044 +SQ : PRESENT_WX_018 +BLDU : PRESENT_WX_007 diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosETA.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosETA.xml index 28e1d0e1ba..487bdf2fb7 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosETA.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosETA.xml @@ -149,7 +149,7 @@ + plotLookupTable="pgen_clouds_best_cat.txt" /> \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFS.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFS.xml index a809d6533c..37efd067f6 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFS.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFS.xml @@ -117,7 +117,7 @@ + dbParamName="windDir" plotUnit="°"/> + plotLookupTable="pgen_clouds_best_cat.txt" /> diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFSX.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFSX.xml index efa5477695..8e650deff4 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFSX.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosGFSX.xml @@ -120,7 +120,7 @@ + plotLookupTable="pgen_bufrmos_total_skyc.txt" /> diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosLAMP.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosLAMP.xml index fd66d12e81..6c23b40e62 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosLAMP.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrmosLAMP.xml @@ -115,6 +115,6 @@ + plotLookupTable="pgen_clouds_best_cat.txt" /> \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrua.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrua.xml index 346a4eae80..482c4d9c8a 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrua.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_bufrua.xml @@ -68,9 +68,9 @@ - + - + diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_ncairep.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_ncairep.xml index 1c7355a089..50bcd88324 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_ncairep.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_ncairep.xml @@ -62,16 +62,13 @@ wtop top of wx in ft + plotLookupTable="pgen_icing.txt"/> + dbParamName="iceType"/> + + dbParamName="iceType"/> + + dbParamName="skyCover" /> - + plotLookupTable="pgen_icing.txt"/> + + dbParamName="iceType"/> + + + plotLookupTable="pgen_turbulence.txt"/> + + dbParamName="turbFreq"/> + + dbParamName="turbType" /> + + + dbParamName="skyCover" /> + plotLookupTable="pgen_wsym.txt"/> diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_nctaf.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_nctaf.xml index c8dfe8c55a..593242f664 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_nctaf.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_nctaf.xml @@ -66,7 +66,7 @@ plotMode="table" symbolFont="WxSymbolFont" dbParamName="SCVR_TYPE" prioritySelectTable="cloud_select.txt" - plotLookupTable="cloud_chars.txt" /> + plotLookupTable="pgen_skyc.txt" /> + plotLookupTable="pgen_skyc.txt" /> diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_obs.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_obs.xml index c012a3d3fc..3e63853f24 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_obs.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/PlotParameters/plotParameters_obs.xml @@ -17,23 +17,21 @@ + plotFormat="PMSL"/> - + + plotMode="table" + prioritySelectTable="wx_sym_select.txt" + plotLookupTable="pgen_wsym.txt"/> @@ -117,7 +117,9 @@ prioritySelectTable="cloud_select.txt" plotLookupTable="cloud_chars.txt" /> --> - + - + diff --git a/cave/build/static/common/cave/etc/ncep/PlotModels/bufrmosMRF/standard.xml b/cave/build/static/common/cave/etc/ncep/PlotModels/bufrmosMRF/standard.xml index 0f6a7252f8..1572e755db 100644 --- a/cave/build/static/common/cave/etc/ncep/PlotModels/bufrmosMRF/standard.xml +++ b/cave/build/static/common/cave/etc/ncep/PlotModels/bufrmosMRF/standard.xml @@ -1,25 +1,27 @@ - + LR - + UR - + UL + ML diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/GRID/FFG_TIR_HIRES/FFG_TIR_HIRES.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/GRID/FFG_TIR_HIRES/FFG_TIR_HIRES.xml index e054b089db..c2fcbc01d6 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/GRID/FFG_TIR_HIRES/FFG_TIR_HIRES.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/GRID/FFG_TIR_HIRES/FFG_TIR_HIRES.xml @@ -13,7 +13,7 @@ BasicWX_US pluginName=grid -GDFILE=FFG-TIR-HiRes +GDFILE=FFG-TIR true diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/FFA/FFA.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/FFA/FFA.xml index 90228011b7..ea44e2afe9 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/FFA/FFA.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/FFA/FFA.xml @@ -4,7 +4,7 @@ MISC pluginName=aww -reportType=FLASH_FLOOD_ADVISORY,FLASH_FLOOD_WARNING,FLASH_FLOOD_WATCH,FLASH_FLOOD_STATEMENT,FLOOD_WATCH +reportType=FLASH FLOOD ADVISORY,FLASH FLOOD WARNING,FLASH FLOOD WATCH,FLASH FLOOD STATEMENT,FLOOD WATCH legendName=FFA color=RGB {155, 155, 155} diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG/LTNG.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG/LTNG.xml index 5708b00615..45cb3d3c8e 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG/LTNG.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG/LTNG.xml @@ -4,6 +4,7 @@ MISC pluginName=binlightning +lightSource=NLDN,GLN colorByIntensity=false legendColor=RGB {200, 200, 200} diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG2/LTNG2.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG2/LTNG2.xml index 4cbc9ee99f..f763f9e8bb 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG2/LTNG2.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/LTNG2/LTNG2.xml @@ -4,6 +4,7 @@ MISC pluginName=binlightning +lightSource=NLDN,GLN colorByIntensity=true legendColor=RGB {200, 200, 200} diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SGWH/WaveSat.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SGWH/SGWH.xml similarity index 100% rename from cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SGWH/WaveSat.xml rename to cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SGWH/SGWH.xml diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SVRL/SVRL.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SVRL/SVRL.xml index 9e5f1219fb..c555a0541a 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SVRL/SVRL.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/SVRL/SVRL.xml @@ -4,7 +4,7 @@ MISC pluginName=aww -reportType=SEVERE_THUNDERSTORM_WATCH,TORNADO_WATCH_OUTLINE_UPDATE +reportType=SEVERE THUNDERSTORM WATCH,TORNADO WATCH OUTLINE UPDATE color=RGB {155, 155, 155} SVRL diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WARN/WARN.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WARN/WARN.xml index d54e7f2cce..43909acf2b 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WARN/WARN.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WARN/WARN.xml @@ -4,7 +4,7 @@ MISC pluginName=aww -reportType=SEVERE_THUNDERSTORM_WARNING,TORNADO_WARNING,FLASH_FLOOD_WARNING +reportType=SEVERE THUNDERSTORM WARNING,TORNADO WARNING,FLASH FLOOD WARNING color=RGB {155, 155, 155} Warn diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WATCH/WATCH.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WATCH/WATCH.xml index 04af7b9c73..ba82ca4974 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WATCH/WATCH.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WATCH/WATCH.xml @@ -4,7 +4,9 @@ MISC pluginName=aww -reportType=THUNDERSTORM_REPORT,TORNADO_REPORT,STATUS_REPORT +! There don't appear to be reports for STATUS_REPORT or THUNDERSTORM REPORT +! SEVERE WEATHER STATEMENT and SEVERE THUNDERSTORM WATCH +reportType=THUNDERSTORM REPORT,TORNADO REPORT,STATUS REPORT color=RGB {155, 155, 155} legendName=WATCH diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WCN/WCN.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WCN/WCN.xml index 4f10e2a6c8..e731ee6af5 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WCN/WCN.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WCN/WCN.xml @@ -4,7 +4,7 @@ MISC pluginName=aww -reportType=WATCH_COUNTY_NOTIFICATION +reportType=WATCH COUNTY NOTIFICATION color=RGB {155, 155, 155} WCN diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WOU/WOU.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WOU/WOU.xml index 40a50e2027..1ab163e449 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WOU/WOU.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WOU/WOU.xml @@ -4,7 +4,7 @@ MISC pluginName=aww -reportType=SEVERE_THUNDERSTORM_WATCH,TORNADO_WATCH_OUTLINE_UPDATE +reportType=SEVERE THUNDERSTORM WATCH,TORNADO WATCH OUTLINE UPDATE color=RGB {155, 155, 155} WOU diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WSTM/WSTM.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WSTM/WSTM.xml index 097aabfeaf..3505bb4c14 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WSTM/WSTM.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/MISC/WSTM/WSTM.xml @@ -4,7 +4,8 @@ MISC pluginName=aww -reportType=WINTER_WEATHER_ADVISORY,WINTER_STORM_WARNING,WINTER_STORM_WATCH,ADVISORY,URGENT_WEATHER_MESSAGE,WEATHER_ADVISORY,WINTER_STORM +! removed 'ADVISORY' which seemed to be result of WIND CHILL ADVISORY +reportType=WINTER WEATHER ADVISORY,WINTER STORM WARNING,WINTER STORM WATCH,URGENT WEATHER MESSAGE,WEATHER ADVISORY,WINTER STORM legendColor=RGB {255, 255, 255} WSTM diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/PGEN/Volcano/Volcano.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/PGEN/Volcano/Volcano.xml deleted file mode 100644 index c9c8690392..0000000000 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/PGEN/Volcano/Volcano.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Volcano - PGEN - -! the sub-directory under the current PGEN working directory -! TODO : may want to change pgenDirectory to productType/activity and get the directory of the productType -pgenDirectory=/home/awp2pgen/activities/Volcano/xml - - PGEN - productName - - CLOSEST_BEFORE_OR_AFTER - 60 - USE_FRAME_INTERVAL - 10 - 24 - BasicWX_US - diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/RADAR/LocalRadar/LocalRadar.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/RADAR/LocalRadar/LocalRadar.xml index 502a6ed535..83e44106b1 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/RADAR/LocalRadar/LocalRadar.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/RADAR/LocalRadar/LocalRadar.xml @@ -5,7 +5,7 @@ RADAR pluginName=radar -format=Radial,Raster,Graphic +format=Radial,Raster legendColor=RGB {200, 200, 200} LocalRadar diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/DPD/DPD.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/DPD/DPD.xml index 32941ea6c5..686c679f3b 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/DPD/DPD.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/DPD/DPD.xml @@ -1,5 +1,6 @@ + true DPD SATELLITE McidasSatellite diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Composite/GINI_Composite.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Composite/GINI_Composite.xml index 7fd62ba2de..c68f2c8ebb 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Composite/GINI_Composite.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Composite/GINI_Composite.xml @@ -2,6 +2,7 @@ GINI_Composite SATELLITE + true ! This must match the "creatingEntity" in the ! satellite DB table valid values are diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES10/GINI_GOES10.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES10/GINI_GOES10.xml index 3a36d2a458..9eccc5ef12 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES10/GINI_GOES10.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES10/GINI_GOES10.xml @@ -1,5 +1,6 @@ + true GINI_GOES10 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES11/GINI_GOES11.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES11/GINI_GOES11.xml index 459a7e8306..b8dfb3a64d 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES11/GINI_GOES11.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES11/GINI_GOES11.xml @@ -1,5 +1,6 @@ + true GINI_GOES11 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES12/GINI_GOES12.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES12/GINI_GOES12.xml index 728bd7c287..ff3ddaa793 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES12/GINI_GOES12.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES12/GINI_GOES12.xml @@ -1,5 +1,6 @@ + true GINI_GOES12 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES13/GINI_GOES13.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES13/GINI_GOES13.xml index 7584e4be2d..0e5a84870a 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES13/GINI_GOES13.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES13/GINI_GOES13.xml @@ -1,5 +1,6 @@ + true GINI_GOES13 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES14/GINI_GOES14.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES14/GINI_GOES14.xml index 44a6967f4d..7ba3b77a9f 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES14/GINI_GOES14.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES14/GINI_GOES14.xml @@ -1,5 +1,6 @@ + true GINI_GOES14 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES15/GINI_GOES15.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES15/GINI_GOES15.xml index ba7d1e7d28..93992bba18 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES15/GINI_GOES15.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_GOES15/GINI_GOES15.xml @@ -1,5 +1,6 @@ + true GINI_GOES15 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Miscellaneous/GINI_Miscellaneous.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Miscellaneous/GINI_Miscellaneous.xml index ac2968580c..ceed522909 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Miscellaneous/GINI_Miscellaneous.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_Miscellaneous/GINI_Miscellaneous.xml @@ -1,5 +1,6 @@ + true GINI_Miscellaneous SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_POES-NPOESS/GINI_POES-NPOESS.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_POES-NPOESS/GINI_POES-NPOESS.xml index 50cd2f82fc..03cb20366b 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_POES-NPOESS/GINI_POES-NPOESS.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GINI_POES-NPOESS/GINI_POES-NPOESS.xml @@ -1,5 +1,6 @@ + true GINI_POES-NPOESS SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES12/GOES12.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES12/GOES12.xml index d2c115263a..aa35a22d0d 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES12/GOES12.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES12/GOES12.xml @@ -1,5 +1,6 @@ + true GOES12 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES13/GOES13.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES13/GOES13.xml index f4c4400c81..23fdd83ad4 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES13/GOES13.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES13/GOES13.xml @@ -1,5 +1,6 @@ + true GOES13 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES14/GOES14.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES14/GOES14.xml index a866fd86b3..f4203eae75 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES14/GOES14.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES14/GOES14.xml @@ -1,5 +1,6 @@ + true GOES14 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES15/GOES15.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES15/GOES15.xml index 7aa9130e86..84bbb05682 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES15/GOES15.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/GOES15/GOES15.xml @@ -1,5 +1,6 @@ + true GOES15 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/Global/Global.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/Global/Global.xml index e778cbeac1..6be83ca260 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/Global/Global.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/Global/Global.xml @@ -1,5 +1,6 @@ + true Global SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/IND/IND.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/IND/IND.xml index c0cb73b9ed..13726535c9 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/IND/IND.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/IND/IND.xml @@ -1,5 +1,6 @@ + true IND SATELLITE McidasSatellite diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT10/METEOSAT10.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT10/METEOSAT10.xml index 24cba51651..9063b930fb 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT10/METEOSAT10.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT10/METEOSAT10.xml @@ -1,5 +1,6 @@ + true METEOSAT10 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT8/METEOSAT8.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT8/METEOSAT8.xml index 9ab01f2f31..79e5f8c3ca 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT8/METEOSAT8.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT8/METEOSAT8.xml @@ -1,5 +1,6 @@ + true METEOSAT8 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT9/METEOSAT9.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT9/METEOSAT9.xml index 1915b8cbfb..4b71ec0c80 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT9/METEOSAT9.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/METEOSAT9/METEOSAT9.xml @@ -1,5 +1,6 @@ + true METEOSAT9 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTS/MTS.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTS/MTS.xml index 46effe9a5b..ecfc811be2 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTS/MTS.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTS/MTS.xml @@ -1,5 +1,6 @@ + true MTS SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTSAT2/MTSAT2.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTSAT2/MTSAT2.xml index 5d3d207c04..2421c4f5df 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTSAT2/MTSAT2.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/MTSAT2/MTSAT2.xml @@ -1,5 +1,6 @@ + true MTSAT2 SATELLITE diff --git a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/VAAC/VAAC.xml b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/VAAC/VAAC.xml index 6504014870..35b5b437ab 100644 --- a/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/VAAC/VAAC.xml +++ b/cave/build/static/common/cave/etc/ncep/ResourceDefns/SATELLITE/VAAC/VAAC.xml @@ -1,5 +1,6 @@ + true VAAC SATELLITE diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/milemarkers.vm b/cave/com.raytheon.uf.viz.archive.feature/com.raytheon.uf.viz.archive.feature.ecl similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/milemarkers.vm rename to cave/com.raytheon.uf.viz.archive.feature/com.raytheon.uf.viz.archive.feature.ecl diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/milemarkers.xml b/cave/com.raytheon.uf.viz.archive/com.raytheon.uf.viz.archive.ecl similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/milemarkers.xml rename to cave/com.raytheon.uf.viz.archive/com.raytheon.uf.viz.archive.ecl diff --git a/cave/com.raytheon.uf.viz.base.feature/com.raytheon.uf.viz.base.feature.ecl b/cave/com.raytheon.uf.viz.base.feature/com.raytheon.uf.viz.base.feature.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cave/com.raytheon.uf.viz.core.rsc/src/com/raytheon/uf/viz/core/rsc/tools/GenericToolsResourceData.java b/cave/com.raytheon.uf.viz.core.rsc/src/com/raytheon/uf/viz/core/rsc/tools/GenericToolsResourceData.java index dfc28e204f..94ff2abc70 100644 --- a/cave/com.raytheon.uf.viz.core.rsc/src/com/raytheon/uf/viz/core/rsc/tools/GenericToolsResourceData.java +++ b/cave/com.raytheon.uf.viz.core.rsc/src/com/raytheon/uf/viz/core/rsc/tools/GenericToolsResourceData.java @@ -48,6 +48,7 @@ import com.raytheon.viz.core.ColorUtil; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Mar 21, 2013 1638 mschenke Renamed to better represent purpose + * Aug 29, 2103 DR 16550 D. Friedman Fix reflection constructor args * * * @@ -101,7 +102,7 @@ public class GenericToolsResourceData> public T construct(LoadProperties loadProperties, IDescriptor descriptor) throws VizException { try { - Class[] ctorParams = new Class[] { this.getClass(), + Class[] ctorParams = new Class[] { GenericToolsResourceData.class, LoadProperties.class }; Object[] ctorArgs = new Object[] { this, loadProperties }; @@ -110,7 +111,7 @@ public class GenericToolsResourceData> ctor = classT.getConstructor(ctorParams); } catch (NoSuchMethodException e) { // check for ctor with additional descriptor parameter - ctorParams = new Class[] { this.getClass(), + ctorParams = new Class[] { GenericToolsResourceData.class, LoadProperties.class, MapDescriptor.class }; ctorArgs = new Object[] { this, loadProperties, descriptor }; ctor = classT.getConstructor(ctorParams); diff --git a/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/AbstractAWTFont.java b/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/AbstractAWTFont.java index 667e9374f4..699e3335f6 100644 --- a/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/AbstractAWTFont.java +++ b/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/AbstractAWTFont.java @@ -34,6 +34,8 @@ import java.util.List; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jul 24, 2013 2189 mschenke Initial creation + * Sep 13, 2013 16581 kshrestha Variables scaleFont and smoothing + * initialized to true. * * * @@ -45,9 +47,9 @@ public abstract class AbstractAWTFont implements IFont { protected Font font; - protected boolean scaleFont; + protected boolean scaleFont = true; - protected boolean smoothing; + protected boolean smoothing = true; protected AbstractAWTFont(String fontName, float fontSize, Style[] styles) { this(new Font(fontName, toAwtStyle(styles), (int) fontSize)); diff --git a/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/tile/TileSetRenderable.java b/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/tile/TileSetRenderable.java index 90b1801cc1..7ca384ffae 100644 --- a/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/tile/TileSetRenderable.java +++ b/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/tile/TileSetRenderable.java @@ -446,12 +446,15 @@ public class TileSetRenderable implements IRenderable { TileLevel level = tileSet.getTileLevel(lastPaintedLevel); double[] grid = level.crsToGrid(localX, localY); Tile tile = level.getTile(grid[0], grid[1]); - DrawableImage di = imageMap.get(tile); - if (di != null) { - IImage image = di.getImage(); - if (image instanceof IColormappedImage) { - return ((IColormappedImage) image).getValue((int) grid[0] - % tileSize, (int) grid[1] % tileSize); + if (tile != null) { + DrawableImage di = imageMap.get(tile); + if (di != null) { + IImage image = di.getImage(); + if (image instanceof IColormappedImage) { + return ((IColormappedImage) image).getValue( + (int) grid[0] % tileSize, (int) grid[1] + % tileSize); + } } } } catch (TransformException e) { diff --git a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/actions/ToggleTool.java b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/actions/ToggleTool.java index 5e794b1c4e..bab5c079f6 100644 --- a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/actions/ToggleTool.java +++ b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/actions/ToggleTool.java @@ -43,6 +43,7 @@ import com.raytheon.viz.ui.tools.AbstractTool; * ------------ ---------- ----------- -------------------------- * Feb 23, 2007 chammack Initial Creation. * Nov 3, 2009 3457 bsteffen Updated to change blend on all DisplayPanes, not just the active ones. + * Aug 30, 2013 DR 16555 D. Friedman Prevent NPE. * * * @@ -65,7 +66,7 @@ public class ToggleTool extends AbstractTool { ResourceList rscs = mapDescriptor.getResourceList(); for (ResourcePair rp : rscs) { AbstractVizResource rsc = rp.getResource(); - if (rsc.getCapabilities().hasCapability( + if (rsc != null && rsc.getCapabilities().hasCapability( BlendableCapability.class)) { rsc.getCapability(BlendableCapability.class).toggle(); } diff --git a/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/CCP.xml b/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/CCP.xml index 0286ffc47a..cf79288958 100644 --- a/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/CCP.xml +++ b/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/CCP.xml @@ -22,7 +22,7 @@ - + diff --git a/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/P.xml b/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/P.xml index 504cdcaa72..292878fd2f 100644 --- a/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/P.xml +++ b/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/P.xml @@ -77,7 +77,7 @@ + HPCqpfNDFD HPCGuide-2.5km" name="NoDerivation" /> diff --git a/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/wx.xml b/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/wx.xml index 773145dd25..10df5ebf26 100644 --- a/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/wx.xml +++ b/cave/com.raytheon.uf.viz.derivparam/localization/derivedParameters/definitions/wx.xml @@ -29,7 +29,7 @@ - + diff --git a/cave/com.raytheon.uf.viz.kml.export/src/com/raytheon/uf/viz/kml/export/graphics/ext/point/KmlPointImageExtension.java b/cave/com.raytheon.uf.viz.kml.export/src/com/raytheon/uf/viz/kml/export/graphics/ext/point/KmlPointImageExtension.java index 24e7829b77..eac078893e 100644 --- a/cave/com.raytheon.uf.viz.kml.export/src/com/raytheon/uf/viz/kml/export/graphics/ext/point/KmlPointImageExtension.java +++ b/cave/com.raytheon.uf.viz.kml.export/src/com/raytheon/uf/viz/kml/export/graphics/ext/point/KmlPointImageExtension.java @@ -57,15 +57,17 @@ import de.micromata.opengis.kml.v_2_2_0.Style; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Jun 1, 2012 bsteffen Initial creation + * Jun 1, 2012 bsteffen Initial creation + * Aug 27, 2013 #2287 randerso Removed 180 degree adjustment required by error + * in Maputil.rotation * * * * @author bsteffen * @version 1.0 */ -public class KmlPointImageExtension extends GraphicsExtension - implements IPointImageExtension { +public class KmlPointImageExtension extends + GraphicsExtension implements IPointImageExtension { private static final transient IUFStatusHandler statusHandler = UFStatus .getHandler(KmlRasterImageExtension.class); @@ -113,7 +115,7 @@ public class KmlPointImageExtension extends GraphicsExtension IconStyle iconStyle = style.createAndSetIconStyle(); iconStyle.setScale(options.getPlotIconScale()); - double heading = 180 + MapUtil.rotation( + double heading = MapUtil.rotation( new com.vividsolutions.jts.geom.Coordinate(loc .getLongitude(), loc.getLatitude()), gridGeometry); diff --git a/cave/com.raytheon.uf.viz.npp.nucaps/com.raytheon.uf.viz.npp.nucaps.ecl b/cave/com.raytheon.uf.viz.npp.nucaps/com.raytheon.uf.viz.npp.nucaps.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cave/com.raytheon.uf.viz.npp.sounding/com.raytheon.uf.viz.npp.sounding.ecl b/cave/com.raytheon.uf.viz.npp.sounding/com.raytheon.uf.viz.npp.sounding.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cave/com.raytheon.uf.viz.npp/com.raytheon.uf.viz.npp.ecl b/cave/com.raytheon.uf.viz.npp/com.raytheon.uf.viz.npp.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cave/com.raytheon.uf.viz.objectiveanalysis/src/com/raytheon/uf/viz/objectiveanalysis/rsc/OAResource.java b/cave/com.raytheon.uf.viz.objectiveanalysis/src/com/raytheon/uf/viz/objectiveanalysis/rsc/OAResource.java index 3deb89e391..a01a68b1f4 100644 --- a/cave/com.raytheon.uf.viz.objectiveanalysis/src/com/raytheon/uf/viz/objectiveanalysis/rsc/OAResource.java +++ b/cave/com.raytheon.uf.viz.objectiveanalysis/src/com/raytheon/uf/viz/objectiveanalysis/rsc/OAResource.java @@ -79,6 +79,7 @@ import com.raytheon.uf.viz.core.style.VizStyleException; import com.raytheon.uf.viz.core.style.level.SingleLevel; import com.raytheon.viz.core.contours.rsc.displays.GriddedContourDisplay; import com.raytheon.viz.core.contours.rsc.displays.GriddedVectorDisplay; +import com.raytheon.viz.core.contours.util.VectorGraphicsRenderableFactory; import com.raytheon.viz.core.drawables.ColorMapParameterFactory; import com.raytheon.viz.core.rsc.displays.GriddedImageDisplay; import com.raytheon.viz.core.rsc.displays.GriddedImageDisplay.GriddedImagePaintProperties; @@ -93,8 +94,10 @@ import com.vividsolutions.jts.geom.Coordinate; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Nov 5, 2009 randerso Initial creation - * Jan 8, 2010 4205 jelkins add equals checking for OA resources + * Nov 5, 2009 randerso Initial creation + * Jan 8, 2010 4205 jelkins add equals checking for OA resources + * Aug 27, 2013 2287 randerso Added new parameters to GriddedVectorDisplay + * constructor * * * @@ -424,9 +427,10 @@ public class OAResource extends FloatBuffer mag = data; data.position(transformer.getNx() * transformer.getNy()); FloatBuffer dir = data.slice(); + VectorGraphicsRenderableFactory factory = new VectorGraphicsRenderableFactory(); GriddedVectorDisplay vector = new GriddedVectorDisplay(mag, - dir, descriptor, transformer.getGridGeom(), 80, - displayType); + dir, descriptor, transformer.getGridGeom(), 80, 0.75, + true, displayType, factory); renderableMap.put(dataTime, vector); break; diff --git a/cave/com.raytheon.uf.viz.personalities.cave/com.raytheon.uf.viz.personalities.cave.ecl b/cave/com.raytheon.uf.viz.personalities.cave/com.raytheon.uf.viz.personalities.cave.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/cachedata/PythonCacheGuidanceJob.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/cachedata/PythonCacheGuidanceJob.java index 8741bbc213..7e906888b8 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/cachedata/PythonCacheGuidanceJob.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/cachedata/PythonCacheGuidanceJob.java @@ -55,6 +55,7 @@ import com.raytheon.viz.aviation.monitor.AvnPyUtil; * Nov 11, 2012 1298 rferrel Non-blocking dialog discovered problem * adding dispose listener when not on the * UI thread. + * Aug 26, 2013 #2283 lvenable Cleaned up some synchronized code. * * * @@ -200,7 +201,7 @@ public class PythonCacheGuidanceJob extends * * @param req */ - private synchronized void waitAdd(CacheGuidanceRequest req) { + private void waitAdd(CacheGuidanceRequest req) { synchronized (waitMonitor) { if (waitList.contains(req) == false) { waitList.add(req); @@ -213,7 +214,7 @@ public class PythonCacheGuidanceJob extends * * @param req */ - private synchronized void waitRemove(CacheGuidanceRequest req) { + private void waitRemove(CacheGuidanceRequest req) { synchronized (waitMonitor) { waitList.remove(req); waitMonitor.notify(); @@ -286,11 +287,13 @@ public class PythonCacheGuidanceJob extends * - Unique tag * @return siteObj */ - public synchronized String getSiteObj(String siteID, String tag) { + public String getSiteObj(String siteID, String tag) { String siteObj = null; - Map siteObjs = siteObjMaps.get(siteID); - if (siteObjs != null) { - siteObj = siteObjs.get(tag); + synchronized (siteObjMaps) { + Map siteObjs = siteObjMaps.get(siteID); + if (siteObjs != null) { + siteObj = siteObjs.get(tag); + } } return siteObj; } @@ -303,10 +306,12 @@ public class PythonCacheGuidanceJob extends * @param tag * - Unique tag */ - private synchronized void clearSiteObj(String siteID, String tag) { + private void clearSiteObj(String siteID, String tag) { Map siteObjs = siteObjMaps.get(siteID); - if (siteObjs != null) { - siteObjs.remove(tag); + synchronized (siteObjMaps) { + if (siteObjs != null) { + siteObjs.remove(tag); + } } } @@ -317,7 +322,7 @@ public class PythonCacheGuidanceJob extends * A map with key of stites an array of tags to clear for the * site */ - public synchronized void clearSiteObjs(Map> tags) { + public void clearSiteObjs(Map> tags) { for (Object s : tags.keySet().toArray()) { String siteID = s.toString(); for (String tag : tags.get(siteID)) { @@ -336,14 +341,15 @@ public class PythonCacheGuidanceJob extends * @param siteObj * - Pickle string to cache */ - private synchronized void setSiteObj(String siteID, String tag, - String siteObj) { - Map siteObjs = siteObjMaps.get(siteID); - if (siteObjs == null) { - siteObjs = new HashMap(); - siteObjMaps.put(siteID, siteObjs); + private void setSiteObj(String siteID, String tag, String siteObj) { + synchronized (siteObjMaps) { + Map siteObjs = siteObjMaps.get(siteID); + if (siteObjs == null) { + siteObjs = new HashMap(); + siteObjMaps.put(siteID, siteObjs); + } + siteObjs.put(tag, siteObj); } - siteObjs.put(tag, siteObj); } /* diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/CigVisByHourTabComp.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/CigVisByHourTabComp.java old mode 100755 new mode 100644 diff --git a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/AbstractGriddedDisplay.java b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/AbstractGriddedDisplay.java index 0d9d1dd4c4..db50729cbe 100644 --- a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/AbstractGriddedDisplay.java +++ b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/AbstractGriddedDisplay.java @@ -65,6 +65,11 @@ import com.vividsolutions.jts.geom.Coordinate; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Apr 23, 2010 bsteffen Initial creation + * Aug 27, 2013 #2287 randerso Replaced hard coded constant with densityFactor + * parameter to allow application specific density + * scaling to better match A1 displays + * Sep 10, 2013 DR 16257 MPorricelli Fix so that wind for global grids displays on + * mercator maps. * * * @@ -111,6 +116,8 @@ public abstract class AbstractGriddedDisplay implements IRenderable { protected final int size; + protected final double densityFactor; + protected RGB color; protected double density = 1.0; @@ -128,16 +135,18 @@ public abstract class AbstractGriddedDisplay implements IRenderable { * @param descriptor * @param gridGeometryOfGrid * @param size - * @param plotLocations - * Pre-configured plot locations. If null, they will be created. + * @param densityFactor + * adjustment factor to make density match A1 */ public AbstractGriddedDisplay(IMapDescriptor descriptor, - GeneralGridGeometry gridGeometryOfGrid, int size) { + GeneralGridGeometry gridGeometryOfGrid, int size, + double densityFactor) { this.calculationQueue = new ConcurrentLinkedQueue(); this.descriptor = descriptor; this.gridGeometryOfGrid = gridGeometryOfGrid; this.size = size; + this.densityFactor = densityFactor; this.gridDims = new int[] { this.gridGeometryOfGrid.getGridRange().getSpan(0), @@ -208,14 +217,31 @@ public abstract class AbstractGriddedDisplay implements IRenderable { // space // Linear distance(between (0,0) and (0,1) makes more sense but // looks to sparse. - DirectPosition2D p1 = new DirectPosition2D(0, 0); - DirectPosition2D p2 = new DirectPosition2D(1, 1); - try { - grid2grid.transform(p1, p1); - grid2grid.transform(p2, p2); - } catch (TransformException e) { - throw new VizException(e); - } + DirectPosition2D p1 = new DirectPosition2D(); + DirectPosition2D p2 = new DirectPosition2D(); + + boolean doneTryingCoords = false; + int i = -1; + // starting with coords (0,0), (1,1), try until tranform succeeds, + // or until have gone through a set of diagonal coords + do { + try { + i++; + if (i + 1 < gridDims[0] && i + 1 < gridDims[1]) { + p1.x = p1.y = i; + p2.x = p2.y = i + 1; + grid2grid.transform(p1, p1); + grid2grid.transform(p2, p2); + doneTryingCoords = true; + } + } catch (TransformException e) { + if (i + 1 >= gridDims[0] || i + 1 >= gridDims[1]) { + doneTryingCoords = true; + throw new VizException(e); + } + } + } while (!doneTryingCoords); + pixelSize = p1.distance(p2); IExtent viewPixelExtent = paintProps.getView().getExtent(); @@ -233,7 +259,8 @@ public abstract class AbstractGriddedDisplay implements IRenderable { List renderables = new ArrayList(); int increment = Math.max( - (int) Math.ceil(adjSize * 0.75 / pixelSize / density), 1); + (int) Math.ceil(adjSize * densityFactor / pixelSize / density), + 1); for (int x = 0; x < gridDims[0]; x += increment) { for (int y = 0; y < gridDims[1]; y += increment) { diff --git a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/GriddedVectorDisplay.java b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/GriddedVectorDisplay.java index dd79a5f704..321186e971 100644 --- a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/GriddedVectorDisplay.java +++ b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/GriddedVectorDisplay.java @@ -34,6 +34,7 @@ import com.raytheon.uf.viz.core.drawables.PaintProperties; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.uf.viz.core.map.IMapDescriptor; import com.raytheon.uf.viz.core.rsc.DisplayType; +import com.raytheon.viz.core.contours.util.IVectorGraphicsRenderableFactory; import com.raytheon.viz.core.contours.util.VectorGraphicsRenderable; import com.vividsolutions.jts.geom.Coordinate; @@ -53,6 +54,17 @@ import com.vividsolutions.jts.geom.Coordinate; * Jun 22, 2010 bsteffen Initial creation * Feb 07, 2011 7948 bkowal added a public method to get * the direction. + * Aug 27, 2013 2287 randerso Added VectorGraphicsRenderable Factory to allow + * application specific rendering of wind barbs and + * arrows. + * Added densityFactor to allow application specific + * adjustment of density. + * Added gridRelative flag to indicate whether direction + * data is relative to grid or true north + * Sep 9, 2013 DR16257 MPorricelli When setDestinationGeographicPoint fails (which can + * happen for global lat/lon grid winds displayed on + * Equidistant Cylindrical map) try again with different + * pixel location. * * * @@ -69,36 +81,43 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { private LineStyle lineStyle; - private double scale = 0.6; - private IExtent lastExtent; private VectorGraphicsRenderable vectorRenderable; + private boolean gridRelative; + private DisplayType displayType; private GeodeticCalculator gc; + private IVectorGraphicsRenderableFactory factory; + /** * @param magnitude * @param direction - * @param mode * @param descriptor * @param gridGeometryOfGrid - * @param imageSize - * @param gridLocation - * @param forceCircle - * @param plotLocations - * Pre-configured plot locations. If null, they will be created. + * @param size + * @param densityFactor + * adjustment factor to make density match A1 + * @param gridRelative + * true if direction is grid relative, false if relative to true + * north + * @param displayType + * @param factory */ public GriddedVectorDisplay(FloatBuffer magnitude, FloatBuffer direction, IMapDescriptor descriptor, GeneralGridGeometry gridGeometryOfGrid, - int size, DisplayType displayType) { - super(descriptor, gridGeometryOfGrid, size); + int size, double densityFactor, boolean gridRelative, + DisplayType displayType, IVectorGraphicsRenderableFactory factory) { + super(descriptor, gridGeometryOfGrid, size, densityFactor); this.magnitude = magnitude; this.direction = direction; + this.gridRelative = gridRelative; this.displayType = displayType; this.gc = new GeodeticCalculator(descriptor.getCRS()); + this.factory = factory; } @Override @@ -110,8 +129,8 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { lastExtent = paintProps.getView().getExtent().clone(); } if (vectorRenderable == null) { - vectorRenderable = new VectorGraphicsRenderable(descriptor, target, - this.size, this.scale); + vectorRenderable = factory.createRenderable(descriptor, target, + this.size); super.paint(target, paintProps); } vectorRenderable.setColor(this.color); @@ -126,12 +145,13 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { super.issueRefresh(); } + @Override protected void paint(Coordinate ijcoord, PaintProperties paintProps, Coordinate plotLoc, double adjSize) throws VizException { int idx = (int) (ijcoord.x + (ijcoord.y * this.gridDims[0])); float spd = this.magnitude.get(idx); - float dir = this.direction.get(idx) - 180; + float dir = this.direction.get(idx); if (dir < -999999 || dir > 9999999) { // perhaps this check should limit +/- 180 @@ -141,7 +161,7 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { if (Float.isNaN(spd) || Float.isNaN(dir)) { return; } - + int tryDiffPixLoc = 0; try { ReferencedCoordinate rCoord = new ReferencedCoordinate( gridGeometryOfGrid, ijcoord); @@ -153,18 +173,35 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { if (stationPixelLocation != null) { stationPixelLocation[1]--; - double[] newWorldLocation = this.descriptor - .pixelToWorld(stationPixelLocation); - this.gc.setStartingGeographicPoint(stationLocation[0], - stationLocation[1]); - this.gc.setDestinationGeographicPoint(newWorldLocation[0], - newWorldLocation[1]); + do { + try { + double[] newWorldLocation = this.descriptor + .pixelToWorld(stationPixelLocation); + this.gc.setStartingGeographicPoint(stationLocation[0], + stationLocation[1]); + this.gc.setDestinationGeographicPoint( + newWorldLocation[0], newWorldLocation[1]); + tryDiffPixLoc = 2; // setting of pts succeeded; do not need to try again + + } catch (Exception e2) { + if (tryDiffPixLoc == 0) { // setting of points failed first time through + stationPixelLocation[1] += 2; // try pixel location in opposite dir of 1st try + tryDiffPixLoc++; + } else + throw new VizException(e2); // failed on second try; give up + } + } while (tryDiffPixLoc < 2); } - dir = dir - + (float) MapUtil.rotation(latLon, - GridGeometry2D.wrap(gridGeometryOfGrid)); + if (gridRelative) { + // rotate data from grid up to true north + dir += (float) MapUtil.rotation(latLon, + GridGeometry2D.wrap(gridGeometryOfGrid)); + } + + // rotate dir from true north to display up dir -= this.gc.getAzimuth(); + } catch (Exception e) { throw new VizException(e); } @@ -185,14 +222,6 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { } } - /** - * - * @param color - */ - public void setScale(double scale) { - this.scale = scale; - } - public void setLineWidth(int lineWidth) { this.lineWidth = lineWidth; } @@ -208,6 +237,7 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { * @param density * the density to set */ + @Override public boolean setDensity(double density) { if (super.setDensity(density)) { disposeResources(); @@ -223,6 +253,7 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { * @param magnification * the magnification to set */ + @Override public boolean setMagnification(double magnification) { if (super.setMagnification(magnification)) { disposeResources(); @@ -245,6 +276,7 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { return direction; } + @Override protected void disposeResources() { if (vectorRenderable != null) { vectorRenderable.dispose(); @@ -252,6 +284,7 @@ public class GriddedVectorDisplay extends AbstractGriddedDisplay { } } + @Override protected Coordinate createResource(Coordinate coord) throws VizException { return coord; } diff --git a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/PlotLocationCache.java b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/PlotLocationCache.java index b38f451b56..7495ed6b1e 100644 --- a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/PlotLocationCache.java +++ b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/rsc/displays/PlotLocationCache.java @@ -44,6 +44,10 @@ import org.opengis.referencing.operation.TransformException; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Oct 13, 2011 bsteffen Initial creation + * Sep 10, 2013 DR 16257 MPorricelli Eliminate values that + * fail to be tranformed,e.g. + * when too close to pole for + * mercator projections * * * @@ -146,7 +150,19 @@ public class PlotLocationCache { ConcatenatedTransform.create(grid2crs, crs2crs), crs2grid); - grid2grid.transform(result, 0, result, 0, xDim * yDim); + try { + grid2grid.transform(result, 0, result, 0, xDim * yDim); + } catch (TransformException e1) { + // Set values to NaN when fail transform + for (int i = 0; i < result.length; i += 2) { + try { + grid2grid.transform(result, i, result, i, 1); + } catch (TransformException e2) { + result[i] = Float.NaN; + result[i + 1] = Float.NaN; + } + } + } } catch (FactoryException e) { throw new RuntimeException(e); } catch (InvalidGridGeometryException e) { diff --git a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/IVectorGraphicsRenderableFactory.java b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/IVectorGraphicsRenderableFactory.java new file mode 100644 index 0000000000..0084db2e60 --- /dev/null +++ b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/IVectorGraphicsRenderableFactory.java @@ -0,0 +1,46 @@ +/** + * This software was developed and / or modified by Raytheon Company, + * pursuant to Contract DG133W-05-CQ-1067 with the US Government. + * + * U.S. EXPORT CONTROLLED TECHNICAL DATA + * This software product contains export-restricted data whose + * export/transfer/disclosure is restricted by U.S. law. Dissemination + * to non-U.S. persons whether in the United States or abroad requires + * an export license or other authorization. + * + * Contractor Name: Raytheon Company + * Contractor Address: 6825 Pine Street, Suite 340 + * Mail Stop B8 + * Omaha, NE 68106 + * 402.291.0100 + * + * See the AWIPS II Master Rights File ("Master Rights File.pdf") for + * further licensing information. + **/ +package com.raytheon.viz.core.contours.util; + +import com.raytheon.uf.viz.core.IGraphicsTarget; +import com.raytheon.uf.viz.core.drawables.IDescriptor; + +/** + * Interface for factory class to create a VectorGraphicsRenderable for + * GriddedVectorDisplay + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * Aug 22, 2013     #2287  randerso     Initial creation
+ * 
+ * 
+ * + * @author randerso + * @version 1.0 + */ + +public interface IVectorGraphicsRenderableFactory { + public VectorGraphicsRenderable createRenderable(IDescriptor descriptor, + IGraphicsTarget target, double size); +} diff --git a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderable.java b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderable.java index 7216f7465f..4fee99f2d2 100644 --- a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderable.java +++ b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderable.java @@ -38,7 +38,8 @@ import com.vividsolutions.jts.geom.Coordinate; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * May 27, 2011 bsteffen Initial creation + * May 27, 2011 bsteffen Initial creation + * Aug 27, 2013 #2287 randerso Refactored to allow subclassing * * * @@ -47,17 +48,17 @@ import com.vividsolutions.jts.geom.Coordinate; */ public class VectorGraphicsRenderable { - private IWireframeShape lastShape; + protected IWireframeShape lastShape; - private double size = 80; + protected double size = 80; - private double scale = 1.0; + protected double scale = 1.0; - private RGB color; + protected RGB color; - private float lineWidth = 1.0f; + protected float lineWidth = 1.0f; - private LineStyle lineStyle; + protected LineStyle lineStyle; public VectorGraphicsRenderable(IDescriptor descriptor, IGraphicsTarget target, double size, double scale) { @@ -89,36 +90,7 @@ public class VectorGraphicsRenderable { public void paintBarb(Coordinate plotLoc, double adjSize, double spd, double dir) { if (spd < 2.5) { - double[][] line = new double[9][2]; - - double aa = adjSize * .030; - double saa = aa * 0.707; - - line[8][0] = line[0][0] = plotLoc.x + aa; - line[8][1] = line[0][1] = plotLoc.y; - line[1][0] = plotLoc.x + saa; - line[1][1] = plotLoc.y + saa; - - line[2][0] = plotLoc.x; - line[2][1] = plotLoc.y + aa; - - line[3][0] = plotLoc.x - saa; - line[3][1] = plotLoc.y + saa; - - line[4][0] = plotLoc.x - aa; - line[4][1] = plotLoc.y; - - line[5][0] = plotLoc.x - saa; - line[5][1] = plotLoc.y - saa; - - line[6][0] = plotLoc.x; - line[6][1] = plotLoc.y - aa; - - line[7][0] = plotLoc.x + saa; - line[7][1] = plotLoc.y - saa; - - lastShape.addLineSegment(line); - + paintPoint(plotLoc, adjSize); return; } @@ -198,6 +170,38 @@ public class VectorGraphicsRenderable { } } + protected void paintPoint(Coordinate plotLoc, double adjSize) { + double[][] line = new double[9][2]; + + double aa = adjSize * .030; + double saa = aa * 0.707; + + line[8][0] = line[0][0] = plotLoc.x + aa; + line[8][1] = line[0][1] = plotLoc.y; + line[1][0] = plotLoc.x + saa; + line[1][1] = plotLoc.y + saa; + + line[2][0] = plotLoc.x; + line[2][1] = plotLoc.y + aa; + + line[3][0] = plotLoc.x - saa; + line[3][1] = plotLoc.y + saa; + + line[4][0] = plotLoc.x - aa; + line[4][1] = plotLoc.y; + + line[5][0] = plotLoc.x - saa; + line[5][1] = plotLoc.y - saa; + + line[6][0] = plotLoc.x; + line[6][1] = plotLoc.y - aa; + + line[7][0] = plotLoc.x + saa; + line[7][1] = plotLoc.y - saa; + + lastShape.addLineSegment(line); + } + public void paintDualArrow(Coordinate plotLoc, double adjSize, double spd, double dir) { if (spd < 4.0) { diff --git a/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderableFactory.java b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderableFactory.java new file mode 100644 index 0000000000..2ceddf324d --- /dev/null +++ b/cave/com.raytheon.viz.core.contours/src/com/raytheon/viz/core/contours/util/VectorGraphicsRenderableFactory.java @@ -0,0 +1,77 @@ +/** + * This software was developed and / or modified by Raytheon Company, + * pursuant to Contract DG133W-05-CQ-1067 with the US Government. + * + * U.S. EXPORT CONTROLLED TECHNICAL DATA + * This software product contains export-restricted data whose + * export/transfer/disclosure is restricted by U.S. law. Dissemination + * to non-U.S. persons whether in the United States or abroad requires + * an export license or other authorization. + * + * Contractor Name: Raytheon Company + * Contractor Address: 6825 Pine Street, Suite 340 + * Mail Stop B8 + * Omaha, NE 68106 + * 402.291.0100 + * + * See the AWIPS II Master Rights File ("Master Rights File.pdf") for + * further licensing information. + **/ +package com.raytheon.viz.core.contours.util; + +import com.raytheon.uf.viz.core.IGraphicsTarget; +import com.raytheon.uf.viz.core.drawables.IDescriptor; + +/** + * VectorGraphicsRenderable Factory + * + * Constructs the VectorGraphicsRenderable for D2D usage of GriddedVectorDisplay + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * Aug 22, 2013     #2287  randerso     Initial creation
+ * 
+ * 
+ * + * @author randerso + * @version 1.0 + */ + +public class VectorGraphicsRenderableFactory implements + IVectorGraphicsRenderableFactory { + private double scale; + + public VectorGraphicsRenderableFactory() { + this.scale = 0.6; + } + + public VectorGraphicsRenderableFactory(double scale) { + this.scale = scale; + } + + /** + * @param scale + * the scale to set + */ + public void setScale(double scale) { + this.scale = scale; + } + + /* + * (non-Javadoc) + * + * @see + * com.raytheon.viz.core.contours.util.IVectorGraphicsRenderableFactory# + * createRenderable() + */ + @Override + public VectorGraphicsRenderable createRenderable(IDescriptor descriptor, + IGraphicsTarget target, double size) { + return new VectorGraphicsRenderable(descriptor, target, size, scale); + } + +} diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowAutoSaveIntervalDialog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowAutoSaveIntervalDialog.java index 49746c9c93..ab972e07ac 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowAutoSaveIntervalDialog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowAutoSaveIntervalDialog.java @@ -20,10 +20,12 @@ package com.raytheon.viz.gfe.actions; +import java.util.HashMap; +import java.util.Map; + import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jface.window.Window; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; @@ -42,8 +44,9 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jan 23, 2008 Eric Babin Initial Creation - * Jul 8, 2008 randerso reworked + * Jul 8, 2008 randerso reworked * Oct 23, 2012 1287 rferrel Changes for non-blocking AutoSaveIntervalDialog. + * Aug 27, 2013 2302 randerso Code clean up for AutoSaveJob changes * * * @@ -51,7 +54,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * @version 1.0 */ public class ShowAutoSaveIntervalDialog extends AbstractHandler { - private AutoSaveIntervalDialog dialog; + final private Map dialogMap = new HashMap(); /** * @@ -69,47 +72,28 @@ public class ShowAutoSaveIntervalDialog extends AbstractHandler { */ @Override public Object execute(ExecutionEvent arg0) throws ExecutionException { + final IWorkbenchWindow window = PlatformUI.getWorkbench() + .getActiveWorkbenchWindow(); + DataManager dm = DataManagerUIFactory.findInstance(window); + if (dm == null) { + return null; + } + + AutoSaveIntervalDialog dialog = dialogMap.get(window); if (dialog == null || dialog.getShell() == null || dialog.isDisposed()) { - final IWorkbenchWindow window = PlatformUI.getWorkbench() - .getActiveWorkbenchWindow(); - Shell shell = window.getShell(); - int interval = AutoSaveJob.getInterval(); - boolean autoSaveEnabled = interval > 0; - if (!autoSaveEnabled) { - interval = AutoSaveJob.MAX_INTERVAL; - } - dialog = new AutoSaveIntervalDialog(shell, interval, - autoSaveEnabled); + AutoSaveJob autoSaveJob = dm.getAutoSaveJob(); + + Shell shell = window.getShell(); + dialog = new AutoSaveIntervalDialog(shell, autoSaveJob); + dialogMap.put(window, dialog); dialog.setBlockOnOpen(false); dialog.setCloseCallback(new ICloseCallback() { @Override public void dialogClosed(Object returnValue) { - if (returnValue instanceof Integer) { - int returnCode = (Integer) returnValue; - if (returnCode == Window.OK) { - DataManager dm = DataManagerUIFactory - .findInstance(window); - // update - if (dialog.isAutoSaveEnabled()) { - int interval = dialog.getCurrentInterval(); - AutoSaveJob.setInterval(interval); - if (dm != null) { - dm.enableAutoSave(); - } - DataManagerUIFactory.findInstance(window) - .enableAutoSave(); - } else { - AutoSaveJob.setInterval(0); - if (dm != null) { - dm.disableAutoSave(); - } - } - - } - } + dialogMap.remove(window); } }); dialog.open(); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/DataManager.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/DataManager.java index a7df8ff665..721d9188a1 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/DataManager.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/DataManager.java @@ -96,6 +96,7 @@ import com.raytheon.viz.gfe.textformatter.TextProductManager; * initialized by constructor. * 04/24/2013 1936 dgilling Move initialization of TextProductMgr * to GFE startup. + * 08/27/2013 2302 randerso Code cleanup for AutoSaveJob * * * @@ -271,18 +272,10 @@ public class DataManager { } /** - * Start auto save jobs + * @return the autoSaveJob */ - public void enableAutoSave() { - autoSaveJob.cancel(); - autoSaveJob.reSchedule(); - } - - /** - * Stop auto save jobs - */ - public void disableAutoSave() { - autoSaveJob.cancel(); + public AutoSaveJob getAutoSaveJob() { + return autoSaveJob; } /** diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/Parm.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/Parm.java index 69d2335a85..795a4f62f5 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/Parm.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/Parm.java @@ -84,6 +84,7 @@ import com.raytheon.viz.gfe.GFEServerException; import com.raytheon.viz.gfe.core.DataManager; import com.raytheon.viz.gfe.core.griddata.AbstractGridData; import com.raytheon.viz.gfe.core.griddata.IGridData; +import com.raytheon.viz.gfe.core.parm.ParmSaveJob.ParmSaveStatus; import com.raytheon.viz.gfe.core.parm.ParmState.InterpMode; import com.raytheon.viz.gfe.core.wxvalue.DiscreteWxValue; import com.raytheon.viz.gfe.core.wxvalue.ScalarWxValue; @@ -182,6 +183,8 @@ import com.vividsolutions.jts.geom.Coordinate; * Mar 13, 2013 1792 bsteffen Improve performance of gfe parm average * ant time weighted average. * Apr 02, 2013 #1774 randerso Fixed a possible deadlock issue. + * Aug 27, 2013 #2302 randerso Fix simultaneous save issue + * * * * @author chammack @@ -229,6 +232,8 @@ public abstract class Parm implements Comparable { protected boolean disposed; + private ParmSaveJob saveJob; + /** * The create from scratch mode */ @@ -360,6 +365,7 @@ public abstract class Parm implements Comparable { } this.disposed = false; + this.saveJob = new ParmSaveJob(this); } public void dispose() { @@ -708,7 +714,7 @@ public abstract class Parm implements Comparable { * Save a parameter * * @param all - * @return + * @return true if save successful */ public boolean saveParameter(boolean all) { if (inParmEdit) { @@ -729,14 +735,16 @@ public abstract class Parm implements Comparable { /** * Save a parameter * - * @param tr - * @return + * @param times + * TimeRanges to be saved + * @return true if save successful */ - public boolean saveParameter(List tr) { + public boolean saveParameter(List times) { if (inParmEdit) { return false; } else { - return saveParameterSubClass(tr); + ParmSaveStatus status = this.saveJob.requestSave(times); + return status.isSuccessful(); } } @@ -744,7 +752,7 @@ public abstract class Parm implements Comparable { * Save a parameter * * @param tr - * @return + * @return true if save successful */ public boolean saveParameter(TimeRange tr) { ArrayList trs = new ArrayList(); @@ -756,7 +764,8 @@ public abstract class Parm implements Comparable { * Subclass specific save implementation * * @param tr - * @return + * TimeRanges to be saved + * @return true if save successful */ protected abstract boolean saveParameterSubClass(List tr); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/ParmSaveJob.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/ParmSaveJob.java new file mode 100644 index 0000000000..94329309a3 --- /dev/null +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/ParmSaveJob.java @@ -0,0 +1,135 @@ +/** + * This software was developed and / or modified by Raytheon Company, + * pursuant to Contract DG133W-05-CQ-1067 with the US Government. + * + * U.S. EXPORT CONTROLLED TECHNICAL DATA + * This software product contains export-restricted data whose + * export/transfer/disclosure is restricted by U.S. law. Dissemination + * to non-U.S. persons whether in the United States or abroad requires + * an export license or other authorization. + * + * Contractor Name: Raytheon Company + * Contractor Address: 6825 Pine Street, Suite 340 + * Mail Stop B8 + * Omaha, NE 68106 + * 402.291.0100 + * + * See the AWIPS II Master Rights File ("Master Rights File.pdf") for + * further licensing information. + **/ +package com.raytheon.viz.gfe.core.parm; + +import java.util.List; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.Semaphore; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; + +import com.raytheon.uf.common.time.TimeRange; + +/** + * Job to queue up and work of parm save requests + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * Aug 27, 2013     #2302  randerso    Initial creation
+ * 
+ * 
+ * + * @author randerso + * @version 1.0 + */ + +public class ParmSaveJob extends Job { + public static class ParmSaveStatus { + boolean successful = false; + + Semaphore complete = new Semaphore(0); + + /** + * @return the successful + */ + public boolean isSuccessful() { + try { + complete.acquire(); + return successful; + } catch (InterruptedException e) { + return false; + } + } + + /** + * @param successful + * the successful to set + */ + private void setSuccessful(boolean successful) { + this.successful = successful; + complete.release(); + } + + } + + private class ParmSaveRequest { + private List times; + + private ParmSaveStatus status; + + public ParmSaveRequest(List times) { + this.times = times; + this.status = new ParmSaveStatus(); + } + } + + private Parm parm; + + private ConcurrentLinkedQueue saveQueue; + + /** + * @param parm + */ + public ParmSaveJob(Parm parm) { + super("ParmSaveJob"); + this.setSystem(true); + this.parm = parm; + this.saveQueue = new ConcurrentLinkedQueue(); + } + + /** + * Request save. + * + * Caller should call isSuccessful on the returned ParmSaveStatus object to + * await completion and to determine success + * + * @param times + * @return ParmSaveStatus object + */ + public ParmSaveStatus requestSave(List times) { + ParmSaveRequest request = new ParmSaveRequest(times); + this.saveQueue.add(request); + this.schedule(); + return request.status; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime. + * IProgressMonitor) + */ + @Override + protected IStatus run(IProgressMonitor monitor) { + ParmSaveRequest req = null; + while ((req = this.saveQueue.poll()) != null) { + boolean successful = parm.saveParameterSubClass(req.times); + req.status.setSuccessful(successful); + } + return Status.OK_STATUS; + } +} diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/AutoSaveIntervalDialog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/AutoSaveIntervalDialog.java index be323b64b4..69dc641414 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/AutoSaveIntervalDialog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/AutoSaveIntervalDialog.java @@ -29,20 +29,21 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Scale; import org.eclipse.swt.widgets.Shell; import com.raytheon.viz.gfe.jobs.AutoSaveJob; import com.raytheon.viz.ui.dialogs.CaveJFACEDialog; +import com.raytheon.viz.ui.widgets.SpinScale; /** - * The auto save iterval dialog. + * The auto save interval dialog. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer    Description
  * ------------ ---------- ----------- --------------------------
- * 	Jan 30, 2008					Eric Babin Initial Creation
+ * Jan 30, 2008            Eric Babin  Initial Creation
+ * Aug 27, 2013     #2302  randerso    Code cleanup
  * 
  * 
* @@ -52,98 +53,26 @@ import com.raytheon.viz.ui.dialogs.CaveJFACEDialog; public class AutoSaveIntervalDialog extends CaveJFACEDialog { - private Composite top = null; - - private Label intervalMinutes; - - private Scale intervalScale; - - private int currentInterval = 1; - - private boolean autoSaveEnabled = false; + private AutoSaveJob autoSaveJob; private Button offButton; private Button onButton; - public AutoSaveIntervalDialog(Shell parent, int currentInterval, - boolean isEnabled) { + private Label intervalLabel; + + private SpinScale intervalScale; + + /** + * Constructor + * + * @param parent + * @param currentInterval + * @param isEnabled + */ + public AutoSaveIntervalDialog(Shell parent, AutoSaveJob autoSaveJob) { super(parent); - this.setShellStyle(SWT.TITLE | SWT.MODELESS | SWT.CLOSE); - this.currentInterval = currentInterval; - this.autoSaveEnabled = isEnabled; - } - - @Override - protected Control createDialogArea(Composite parent) { - top = (Composite) super.createDialogArea(parent); - - top.setLayout(new GridLayout(2, false)); - loadConfigData(); - initializeComponents(); - - return top; - } - - private void initializeComponents() { - - Group g = new Group(top, SWT.NONE); - g.setLayout(new GridLayout(2, true)); - - offButton = new Button(g, SWT.RADIO); - offButton.setText("Off"); - offButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent event) { - autoSaveEnabled = false; - } - }); - offButton.setSelection(!autoSaveEnabled); - - onButton = new Button(g, SWT.RADIO); - onButton.setText("On"); - onButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent event) { - autoSaveEnabled = true; - } - }); - onButton.setSelection(autoSaveEnabled); - - Composite c = new Composite(top, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginBottom = 10; - - c.setLayout(layout); - c.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL)); - - Label label = new Label(c, SWT.NONE); - label.setText("Save Interval in Minutes"); - GridData data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - intervalScale = new Scale(c, SWT.HORIZONTAL); - intervalScale.setLayoutData(new GridData(120, SWT.DEFAULT)); - intervalScale.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent event) { - autoSaveEnabled = true; - currentInterval = intervalScale.getSelection(); - String s = Integer.toString(currentInterval); - intervalMinutes.setText(s); - intervalMinutes.setToolTipText(s); - onButton.setSelection(autoSaveEnabled); - offButton.setSelection(!autoSaveEnabled); - } - }); - intervalScale.setMinimum(AutoSaveJob.MIN_INTERVAL); - intervalScale.setMaximum(AutoSaveJob.MAX_INTERVAL); - intervalScale.setSelection(this.currentInterval); - - intervalMinutes = new Label(c, SWT.NONE); - intervalMinutes.setLayoutData(new GridData(20, SWT.DEFAULT)); - intervalMinutes.setText(String.valueOf(intervalScale.getSelection())); + this.autoSaveJob = autoSaveJob; } /* @@ -154,23 +83,92 @@ public class AutoSaveIntervalDialog extends CaveJFACEDialog { * .Shell) */ @Override - protected void configureShell(Shell shell) { - super.configureShell(shell); - shell.setText("Auto Save Interval Dialog"); + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + newShell.setText("Auto Save Interval Dialog"); } - /** - * Method for loading the various config data for the dialog. + @Override + protected Control createDialogArea(Composite parent) { + Composite comp = (Composite) super.createDialogArea(parent); + GridLayout layout = (GridLayout) comp.getLayout(); + layout.marginHeight = 0; + layout.marginWidth = 0; + + Group group = new Group(comp, SWT.NONE); + layout = new GridLayout(2, false); + group.setLayout(layout); + GridData layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false); + group.setLayoutData(layoutData); + group.setText("Auto Save"); + + int interval = autoSaveJob.getInterval(); + + offButton = new Button(group, SWT.RADIO); + layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false); + offButton.setLayoutData(layoutData); + offButton.setText("Off"); + offButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent event) { + if (offButton.getSelection()) { + intervalLabel.setEnabled(false); + intervalScale.setEnabled(false); + } + } + }); + offButton.setSelection(interval == 0); + + onButton = new Button(group, SWT.RADIO); + layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false); + onButton.setLayoutData(layoutData); + onButton.setText("On"); + onButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent event) { + if (onButton.getSelection()) { + intervalLabel.setEnabled(true); + intervalScale.setEnabled(true); + } + } + }); + onButton.setSelection(interval > 0); + + intervalLabel = new Label(group, SWT.CENTER); + intervalLabel.setText("Save Interval in Minutes"); + layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false, 2, 1); + intervalLabel.setLayoutData(layoutData); + + intervalScale = new SpinScale(group, SWT.HORIZONTAL); + layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false, 2, 1); + layoutData.minimumWidth = 240; + intervalScale.setLayoutData(layoutData); + intervalScale.setMinimum(AutoSaveJob.MIN_INTERVAL); + intervalScale.setMaximum(AutoSaveJob.MAX_INTERVAL); + if (interval > 0) { + intervalScale.setSelection(interval); + } else { + intervalLabel.setEnabled(false); + intervalScale.setEnabled(false); + intervalScale.setSelection(AutoSaveJob.MAX_INTERVAL); + } + + return comp; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.jface.dialogs.Dialog#okPressed() */ - private void loadConfigData() { - + @Override + protected void okPressed() { + if (offButton.getSelection()) { + autoSaveJob.setInterval(0); + } else { + autoSaveJob.setInterval(intervalScale.getSelection()); + } + super.okPressed(); } - public int getCurrentInterval() { - return currentInterval; - } - - public boolean isAutoSaveEnabled() { - return autoSaveEnabled; - } } diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductAreaComp.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductAreaComp.java index e3cb55f14f..c7c33d3408 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductAreaComp.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductAreaComp.java @@ -61,6 +61,8 @@ import com.raytheon.viz.gfe.textformatter.TextProductManager; * 26 SEP 2012 15423 ryu Fix product correction in practice mode * 15 MAY 2013 1842 dgilling Change constructor signature to accept a * DataManager instance. + * 05 SEP 2013 2329 randerso Added call to ZoneCombinerComp.applyZoneCombo when + * when run formatter button is clicked. * * * @@ -386,12 +388,12 @@ public class ProductAreaComp extends Composite implements // use // it, else use the default String dbId = null; - // zoneCombinerComp.compactList(); + zoneCombiner.applyZoneCombo(); dbId = ((FormatterLauncherDialog) productTabCB) .getSelectedDataSource(productName); FormatterUtil.runFormatterScript(textProductMgr, - productName, zoneCombiner.getZoneGroupings(), - dbId, vtecMode, ProductAreaComp.this); + productName, dbId, vtecMode, + ProductAreaComp.this); } } }); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductEditorComp.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductEditorComp.java index 8ab707c084..a268e9f543 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductEditorComp.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ProductEditorComp.java @@ -63,7 +63,6 @@ import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; @@ -152,6 +151,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * 02/12/2013 #1597 randerso Code cleanup. Fixed possible widget disposed errors on shut down. * 05/08/2013 #1842 dgilling Add alternate setProductText(), fix * warnings. + * 09/03/2013 16534 ryu Refactor; sneak in a change for Ron (RM #1597). * * * @@ -1851,7 +1851,7 @@ public class ProductEditorComp extends Composite implements } // convert to hours and check bounds - Float purgeOffset = (float) (offset / TimeUtil.SECONDS_PER_HOUR); + Float purgeOffset = offset / ((float) TimeUtil.SECONDS_PER_HOUR); purgeOffset = Math.min(purgeOffset, 24F); purgeOffset = Math.max(purgeOffset, 1F); @@ -2868,21 +2868,16 @@ public class ProductEditorComp extends Composite implements } // Look for locked text in the selection - StyleRange[] styleRanges = styledText.getStyleRanges(selectionRange.x, - selectionRange.y); - Color lockedColor = textComp.getLockColor(); - for (StyleRange styleRange : styleRanges) { - if (lockedColor.equals(styleRange.foreground)) { - String msg2 = "Selection contains locked text\n\n "; - MessageBox mb2 = new MessageBox(getShell(), SWT.OK - | SWT.ICON_WARNING); - mb2.setText("CTA"); - mb2.setMessage(msg2); - mb2.open(); - return; - } + if (textComp.rangeHasLockedText(selectionRange.x, selectionRange.y)) { + String msg2 = "Selection contains locked text\n\n "; + MessageBox mb2 = new MessageBox(getShell(), SWT.OK + | SWT.ICON_WARNING); + mb2.setText("CTA"); + mb2.setMessage(msg2); + mb2.open(); + return; } - + // Word-wrap the whole selection. int curLine = styledText.getLineAtOffset(selectionRange.x); int lastSelIdx = selectionRange.x + selectionRange.y - 1; diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/StyledTextComp.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/StyledTextComp.java index 453193fa03..2a34c6da9e 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/StyledTextComp.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/StyledTextComp.java @@ -80,6 +80,7 @@ import com.raytheon.viz.gfe.textformatter.TextFmtParserUtil; * 26 Sep 2012 15423 ryu Avoid resetting text when possible. * 03 Dec 2012 15620 ryu Unlock framed cities list for editing. * 30 APR 2013 16095 ryu Modified updateTextStyle() to not lock edited text. + * 04 SEP 2013 16534 ryu Fixed word wrap to not insert duplicate text; refactor. * * * @@ -332,19 +333,6 @@ public class StyledTextComp extends Composite { newProduct = false; } - /** - * computes the logical caret offset within the ProductEditor as a result of - * the CTA insert. - * - * @param newProductText - * The new product text - */ - private int caretOffsetAfterCTAInsert(String newProductText) { - int currentProductTextLength = textEditorST.getText().length(); - int displacement = newProductText.length() - currentProductTextLength; - return displacement + textEditorST.getCaretOffset(); - } - /** * Lock the parts of the text that needs to be uneditable. */ @@ -576,7 +564,7 @@ public class StyledTextComp extends Composite { replaceText(ff, SPC + newfield); } } else { - String s = SPC + newfield; + String s = SPC + newfield; if (!ff.getText().equals(s)) { replaceText(ff, s); } @@ -820,7 +808,7 @@ public class StyledTextComp extends Composite { * @return Whether or not there is text in the range that contains locked * text. */ - private boolean rangeHasLockedText(int offset, int length) { + protected boolean rangeHasLockedText(int offset, int length) { StyleRange[] ranges = textEditorST.getStyleRanges(offset, length); for (StyleRange range : ranges) { @@ -1348,17 +1336,8 @@ public class StyledTextComp extends Composite { line = st.getLine(searchLine); int lineOffset = st.getOffsetAtLine(searchLine); - // if line contains locked text, quit looking. - StyleRange[] styleRanges = st.getStyleRanges(lineOffset, - line.length()); - boolean locked = false; - for (StyleRange range : styleRanges) { - if (range.foreground.equals(lockColor)) { - locked = true; - break; - } - } - if (locked) { + // if line contains locked text, quit looking. + if (rangeHasLockedText(lineOffset, line.length())) { break; } @@ -1390,16 +1369,7 @@ public class StyledTextComp extends Composite { line = st.getLine(searchLine); // don't use locked text - StyleRange[] ranges = st.getStyleRanges(lineStartOffset, - line.length()); - boolean locked = false; - for (StyleRange range : ranges) { - if (range.foreground.equals(lockColor)) { - locked = true; - break; - } - } - if (locked) { + if (rangeHasLockedText(lineStartOffset, line.length())) { break; } @@ -1423,6 +1393,10 @@ public class StyledTextComp extends Composite { if (endIndex >= st.getCharCount()) { endIndex = st.getCharCount() - 1; } + + if (endIndex < startIndex) { + return new int[] { startIndex, endIndex, 0 }; + } // get the block text before the cursor String pre = ""; diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java index fee0b61322..9adb3635b9 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java @@ -22,16 +22,12 @@ package com.raytheon.viz.gfe.dialogs.formatterlauncher; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; -import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.TreeSet; import java.util.regex.Matcher; import org.eclipse.jface.preference.IPreferenceStore; @@ -61,6 +57,7 @@ import org.opengis.referencing.FactoryException; import org.opengis.referencing.operation.TransformException; import com.raytheon.uf.common.dataplugin.gfe.db.objects.GridLocation; +import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException; import com.raytheon.uf.common.localization.FileUpdatedMessage; import com.raytheon.uf.common.localization.FileUpdatedMessage.FileChangeType; import com.raytheon.uf.common.localization.ILocalizationFileObserver; @@ -70,21 +67,17 @@ import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType; import com.raytheon.uf.common.localization.LocalizationFile; import com.raytheon.uf.common.localization.PathManagerFactory; -import com.raytheon.uf.common.localization.exception.LocalizationOpFailedException; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus.Priority; import com.raytheon.uf.common.util.FileUtil; -import com.raytheon.uf.common.util.file.FilenameFilters; import com.raytheon.uf.viz.core.RGBColors; import com.raytheon.uf.viz.core.VizApp; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.viz.gfe.Activator; import com.raytheon.viz.gfe.core.DataManagerUIFactory; -import com.raytheon.viz.gfe.textformatter.CombinationsFileGenerator; import com.raytheon.viz.gfe.textformatter.CombinationsFileUtil; import com.raytheon.viz.gfe.textformatter.TextProductManager; -import com.raytheon.viz.gfe.ui.AccessMgr; import com.raytheon.viz.gfe.ui.zoneselector.ZoneSelector; /** @@ -100,8 +93,9 @@ import com.raytheon.viz.gfe.ui.zoneselector.ZoneSelector; * Changes for non-blocking SaveDeleteComboDlg. * Changes for non-blocking ShuffleZoneGroupsDialog. * Changes for non-blocking ZoneColorEditorDlg. - * * Mar 14, 2013 1794 djohnson Consolidate common FilenameFilter implementations. + * Sep 05, 2013 2329 randerso Removed obsolete methods, added ApplyZoneCombo method + * * * * @author lvenable @@ -307,6 +301,8 @@ public class ZoneCombinerComp extends Composite implements createMapArea(theSaved); createBottomControls(); + + applyButtonState(false); } /** @@ -455,6 +451,7 @@ public class ZoneCombinerComp extends Composite implements @Override public void widgetSelected(SelectionEvent e) { zoneSelector.updateCombos(new HashMap()); + applyButtonState(false); } }); clearMI.setText("Clear"); @@ -731,14 +728,7 @@ public class ZoneCombinerComp extends Composite implements applyZoneComboBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - try { - CombinationsFileGenerator.generateAutoCombinationsFile( - zoneSelector.getZoneGroupings(), - getCombinationsFileName() + ".py"); - } catch (Exception e) { - statusHandler.handle(Priority.PROBLEM, "Unable to save " - + getCombinationsFileName(), e); - } + applyZoneCombo(); } }); Label label = new Label(controlComp, SWT.CENTER); @@ -754,6 +744,25 @@ public class ZoneCombinerComp extends Composite implements label.setAlignment(SWT.CENTER); } + /** + * Save zone combo + */ + public void applyZoneCombo() { + if (!buttonState()) { + return; + } + + try { + CombinationsFileUtil.generateAutoCombinationsFile( + zoneSelector.getZoneGroupings(), getCombinationsFileName() + + ".py"); + applyButtonState(false); + } catch (Exception e) { + statusHandler.handle(Priority.PROBLEM, "Unable to save " + + getCombinationsFileName(), e); + } + } + /** * Display the Color Editor dialog. */ @@ -845,93 +854,6 @@ public class ZoneCombinerComp extends Composite implements return file; } - /** - * Get the names of the combo files at the given level. If level is null, - * get the names of the combo files at all levels. Otherwise, only get the - * names of the files at the given level. - * - * @param level - * @return the save combo files at the given level - */ - public String[] getSavedCombos(LocalizationLevel level) { - String comboDirName = "saved"; - String[] combos; - File localFile; - // Accept any file whose name ends with ".py". - FilenameFilter filter = FilenameFilters.byFileExtension(".py"); - - if (level == null) { - // Aggregate the filenames for all levels. - // Use a set to keep names unique. - Set comboSet = new TreeSet(); - LocalizationLevel[] levels = PathManagerFactory.getPathManager() - .getAvailableLevels(); - for (int i = levels.length - 1; i >= 0; --i) { - localFile = getLocalization(comboDirName, levels[i]); - if ((localFile != null) && localFile.exists()) { - comboSet.addAll(Arrays.asList(localFile.list(filter))); - } - } - - combos = comboSet.toArray(new String[0]); - } else { - // Get only the filenames for USER level. - localFile = getLocalization(comboDirName); - combos = localFile.list(filter); - } - return combos; - } - - /** - * Load the combinations file called filename if it is in list or - * filename.py is in list, and return the loaded file as a List of Lists of - * Strings. - * - * @param list - * The list of valid filenames - * @param filename - * The filename to load - * @return the contents of the file, as a List of Lists of Strings. - */ - // public List> findCombos(String[] list, String filename) { - // List> listOfCombos = null; - // for (int i = 0; i < list.length; i++) { - // if (list[i].equals(filename) || list[i].equals(filename + ".py")) { - // listOfCombos = loadCombinationsFile(filename); - // } - // } - // return listOfCombos; - // } - - /** - * Deletes the saved file chosen - * - * @param name - * the combo file name - * @throws LocalizationOpFailedException - * if the server copy of the file cannot be deleted - */ - public void deleteSavedCombos(String name) - throws LocalizationOpFailedException { - String searchName = FileUtil.join(CombinationsFileUtil.COMBO_DIR_PATH, - "saved", name + ".py"); - IPathManager pm = PathManagerFactory.getPathManager(); - LocalizationContext userContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); - LocalizationFile userFile = pm.getLocalizationFile(userContext, - searchName); - - if (AccessMgr.verifyDelete(userFile.getName(), - LocalizationType.CAVE_STATIC, false)) { - if (userFile.isAvailableOnServer()) { - userFile.delete(); - } else if (userFile.exists()) { - File localFile = userFile.getFile(); - localFile.delete(); - } - } - } - /** * Returns the localization for the save and delete functions. This is a * wrapper around getLocalization(String, level). @@ -987,34 +909,40 @@ public class ZoneCombinerComp extends Composite implements } public Map loadCombinationsFile(String comboName) { - List> combolist = new ArrayList>(); - File localFile = PathManagerFactory.getPathManager().getStaticFile( - FileUtil.join(CombinationsFileUtil.COMBO_DIR_PATH, comboName - + ".py")); - if (localFile != null) { - combolist = CombinationsFileUtil.init(comboName); - } - - // reformat combinations into combo dictionary - Map d = new HashMap(); + Map dict = new HashMap(); try { + IPathManager pm = PathManagerFactory.getPathManager(); + LocalizationContext ctx = pm.getContext( + LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + File localFile = pm.getFile(ctx, FileUtil.join( + CombinationsFileUtil.COMBO_DIR_PATH, comboName + ".py")); + + List> combolist = new ArrayList>(); + if (localFile != null && localFile.exists()) { + combolist = CombinationsFileUtil.init(comboName); + } else { + statusHandler.error("Combinations file does not found: " + + comboName); + } + + // reformat combinations into combo dictionary int group = 1; for (List zonelist : combolist) { for (String z : zonelist) { - d.put(z, group); + dict.put(z, group); } group += 1; } - } catch (Exception e) { - statusHandler.handle(Priority.SIGNIFICANT, - "Combo file is not in combo format: " + comboName); + } catch (GfeException e) { + statusHandler.handle(Priority.SIGNIFICANT, e.getLocalizedMessage(), + e); return new HashMap(); } currentComboFile = FileUtil.join(CombinationsFileUtil.COMBO_DIR_PATH, comboName + ".py"); - return d; + return dict; } /** @@ -1060,11 +988,12 @@ public class ZoneCombinerComp extends Composite implements && message.getFileName().equalsIgnoreCase(currentComboFile)) { File file = new File(message.getFileName()); String comboName = file.getName().replace(".py", ""); - if (file.getParent().endsWith("saved")) { - comboName = FileUtil.join("saved", comboName); - } + statusHandler + .info("Received FileUpdatedMessage for combinations file: " + + comboName); Map comboDict = loadCombinationsFile(comboName); this.zoneSelector.updateCombos(comboDict); + applyButtonState(false); } } @@ -1085,4 +1014,20 @@ public class ZoneCombinerComp extends Composite implements }); } } + + private boolean buttonState() { + final boolean[] state = { false }; + if (this.applyZoneComboBtn != null + && !this.applyZoneComboBtn.isDisposed()) { + VizApp.runSync(new Runnable() { + @Override + public void run() { + state[0] = ZoneCombinerComp.this.applyZoneComboBtn + .isEnabled(); + } + }); + } + + return state[0]; + } } diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/jobs/AutoSaveJob.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/jobs/AutoSaveJob.java index db6879b963..97eede7351 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/jobs/AutoSaveJob.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/jobs/AutoSaveJob.java @@ -24,11 +24,14 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; -import com.raytheon.viz.gfe.Activator; +import com.raytheon.uf.common.status.IUFStatusHandler; +import com.raytheon.uf.common.status.UFStatus; +import com.raytheon.uf.common.time.util.TimeUtil; import com.raytheon.viz.gfe.GFEPreference; import com.raytheon.viz.gfe.PreferenceConstants; import com.raytheon.viz.gfe.core.DataManager; import com.raytheon.viz.gfe.core.parm.Parm; +import com.raytheon.viz.gfe.ui.HazardUIUtils; /** * Job implementing the auto save functionality. Uses user preferences to @@ -38,7 +41,8 @@ import com.raytheon.viz.gfe.core.parm.Parm; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Jun 25, 2008 Eric Babin Initial Creation + * Jun 25, 2008 Eric Babin Initial Creation + * Aug 27, 2013 #2302 randerso Fixed to behave more like A1, code cleanup * * * @@ -47,38 +51,34 @@ import com.raytheon.viz.gfe.core.parm.Parm; */ public class AutoSaveJob extends Job { + private static final transient IUFStatusHandler statusHandler = UFStatus + .getHandler(AutoSaveJob.class); - private static final int MILLISECONDS_PER_MINUTE = 60 * 1000; - + /** + * Max auto save interval in minutes + */ public static final int MAX_INTERVAL = 60; + /** + * Min auto save interval in minutes + */ public static final int MIN_INTERVAL = 1; /** - * auto save interval in minutes, 0 = disabled + * auto save interval in milliseconds, 0 = disabled */ - private static int interval; - static { - int i = 0; - if (GFEPreference.storeAvailable()) { - i = GFEPreference - .getIntPreference(PreferenceConstants.GFE_AUTO_SAVE_INTERVAL); - } - - interval = i; - } + private long interval; /** * Set the auto save interval * - * @param i + * @param interval * desired interval in minutes */ - public static void setInterval(int i) { - interval = i; - - GFEPreference.setPreference(PreferenceConstants.GFE_AUTO_SAVE_INTERVAL, - Integer.toString(i)); + public void setInterval(int interval) { + this.interval = interval * TimeUtil.MILLIS_PER_MINUTE; + this.cancel(); + this.reSchedule(this.interval); } /** @@ -86,8 +86,8 @@ public class AutoSaveJob extends Job { * * @return interval in minutes */ - public static int getInterval() { - return interval; + public int getInterval() { + return (int) (interval / TimeUtil.MILLIS_PER_MINUTE); } private DataManager dataManager; @@ -104,17 +104,28 @@ public class AutoSaveJob extends Job { this.dataManager = dataManager; this.disposed = false; this.setSystem(true); + int pref = GFEPreference + .getIntPreference(PreferenceConstants.GFE_AUTO_SAVE_INTERVAL); + if (pref > MAX_INTERVAL) { + pref = MAX_INTERVAL; + } else if (pref < 0) { + pref = 0; + } - reSchedule(); + this.interval = pref * TimeUtil.MILLIS_PER_MINUTE; + reSchedule(this.interval); } /** - * Schedule this job to run after the desired interval + * Schedule this job to run after the desired + * + * @param delay + * interval in milliseconds */ - public void reSchedule() { + public void reSchedule(long delay) { if (!disposed) { - if (interval > 0) { - this.schedule(interval * MILLISECONDS_PER_MINUTE); + if (delay > 0) { + this.schedule(delay); } } else { dataManager = null; @@ -138,53 +149,51 @@ public class AutoSaveJob extends Job { */ @Override protected IStatus run(IProgressMonitor monitor) { - IStatus status = Status.OK_STATUS; - try { - Parm[] parms = this.dataManager.getParmManager().getModifiedParms(); - if (parms != null && parms.length != 0) { - String autoSaveResult = "GFE Auto Save called. Save of Parms["; - for (int i = 0; i < parms.length; i++) { - String name = parms[i].getParmID().getParmName(); - if (name.indexOf("Hazards") == -1) { - autoSaveResult += saveParm(parms[i]); - } else { - if (!tempHazardsExist()) { - saveParm(parms[i]); - autoSaveResult += saveParm(parms[i]); - } - } - } - autoSaveResult += "]"; + long delay = this.interval; + if (delay > 0) { + String msg = "GFE Auto Save called. "; + boolean success = false; + try { + Parm modifiedParm = getModifiedParm(); + if (modifiedParm != null) { + msg += "Save of Parm " + + modifiedParm.getParmID().getParmName() + " = "; - Activator.getDefault().getLog().log( - new Status(IStatus.INFO, Activator.PLUGIN_ID, - autoSaveResult)); + // save the data + success = modifiedParm.saveParameter(false); + msg += (success ? "success" : "failure"); + delay = 1500; + } else { + msg += "Nothing to save."; + } + statusHandler.info(msg); + } catch (Exception e) { + msg += "failure"; + statusHandler.error(msg, e); } - } catch (Exception e) { - status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, - "GFE auto save failed.", e); + reSchedule(delay); } - reSchedule(); - return status; + return Status.OK_STATUS; } /** - * If tempHazards exist, then autosave kicked off in the middle of merge - * hazard. (which creates a "temp" hazard with "haz" in the name. + * Find the first available modified parm. Skip Hazards if temp hazards + * exist * - * So we will ignore the "Hazard" WE parm save... - * - * @return if temp haz exists. + * @return the first available modified parm or null if none */ - private boolean tempHazardsExist() { - Parm[] parms = this.dataManager.getParmManager().getDisplayedParms(); - for (int i = 0; i < parms.length; i++) { - if (parms[i].getParmID().getParmName().indexOf("haz") != -1) { - return true; + private Parm getModifiedParm() { + boolean tempHazDisplayed = HazardUIUtils + .tempHazardsExist(this.dataManager); + for (Parm p : this.dataManager.getParmManager().getModifiedParms()) { + if (p.getParmID().getParmName().contains("Hazards") + && tempHazDisplayed) { + continue; + } else { + return p; } } - - return false; + return null; } /** diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEResource.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEResource.java index 1921b058d2..028ced353e 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEResource.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEResource.java @@ -161,6 +161,7 @@ import com.vividsolutions.jts.geom.Envelope; * May 11, 2012 njensen Allow rsc to be recycled * Nov 08, 2012 1298 rferrel Changes for non-blocking FuzzValueDialog. * Mar 04, 2013 1637 randerso Fix time matching for ISC grids + * Aug 27, 2013 2287 randerso Fixed scaling and direction of wind arrows * * * @@ -617,6 +618,7 @@ public class GFEResource extends } clearVectorDisplays(); + GFEVectorGraphicsRenderableFactory factory; for (VisualizationType type : visTypes) { switch (type) { case WIND_ARROW: @@ -626,24 +628,31 @@ public class GFEResource extends if (logFactor < 0.0) { logFactor = 0.0; } - // TODO: add logFactor to PointWindDisplay, - // GriddedVectorDisplay + factory = new GFEVectorGraphicsRenderableFactory( + logFactor, parm.getGridInfo().getMaxValue()); this.vectorDisplay.add(new GriddedVectorDisplay( mag, dir, descriptor, MapUtil .getGridGeometry(gs.getGridInfo() .getGridLoc()), getVectorSize("WindArrowDefaultSize"), - visTypeToDisplayType(type))); + 1.36, false, visTypeToDisplayType(type), + factory)); break; case WIND_BARB: - this.vectorDisplay.add(new GriddedVectorDisplay( - mag, dir, descriptor, MapUtil - .getGridGeometry(gs.getGridInfo() - .getGridLoc()), - getVectorSize("WindBarbDefaultSize"), - visTypeToDisplayType(type))); + factory = new GFEVectorGraphicsRenderableFactory( + 0.0, parm.getGridInfo().getMaxValue()); + this.vectorDisplay + .add(new GriddedVectorDisplay( + mag, + dir, + descriptor, + MapUtil.getGridGeometry(gs + .getGridInfo().getGridLoc()), + getVectorSize("WindBarbDefaultSize"), + 1.36, false, + visTypeToDisplayType(type), factory)); break; case IMAGE: @@ -1000,8 +1009,6 @@ public class GFEResource extends size = 60; } - size = (int) (size / 0.8); - int offset = parm.getDisplayAttributes().getFontOffset() + Activator.getDefault().getPreferenceStore() .getInt("Contour_font"); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEVectorGraphicsRenderable.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEVectorGraphicsRenderable.java new file mode 100644 index 0000000000..80dbbbde26 --- /dev/null +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEVectorGraphicsRenderable.java @@ -0,0 +1,213 @@ +/** + * This software was developed and / or modified by Raytheon Company, + * pursuant to Contract DG133W-05-CQ-1067 with the US Government. + * + * U.S. EXPORT CONTROLLED TECHNICAL DATA + * This software product contains export-restricted data whose + * export/transfer/disclosure is restricted by U.S. law. Dissemination + * to non-U.S. persons whether in the United States or abroad requires + * an export license or other authorization. + * + * Contractor Name: Raytheon Company + * Contractor Address: 6825 Pine Street, Suite 340 + * Mail Stop B8 + * Omaha, NE 68106 + * 402.291.0100 + * + * See the AWIPS II Master Rights File ("Master Rights File.pdf") for + * further licensing information. + **/ +package com.raytheon.viz.gfe.rsc; + +import com.raytheon.uf.viz.core.IGraphicsTarget; +import com.raytheon.uf.viz.core.drawables.IDescriptor; +import com.raytheon.viz.core.contours.util.VectorGraphicsRenderable; +import com.vividsolutions.jts.geom.Coordinate; + +/** + * GFE version of VectorGraphicsRenderable. Subclassed to better match A1 GFE + * behavior + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * Aug 22, 2013     #2287  randerso     Initial creation
+ * 
+ * 
+ * + * @author randerso + * @version 1.0 + */ + +public class GFEVectorGraphicsRenderable extends VectorGraphicsRenderable { + double minLog = 0.0; + + double maxLog = 0.0; + + private double maxLimit; + + /** + * @param descriptor + * @param target + * @param size + * @param logFactor + * @param maxLimit + */ + public GFEVectorGraphicsRenderable(IDescriptor descriptor, + IGraphicsTarget target, double size, double logFactor, + double maxLimit) { + super(descriptor, target, size, logFactor); + + this.maxLimit = maxLimit; + if (logFactor > 0.0) { + minLog = Math.log(logFactor); + maxLog = Math.log(logFactor + 1.0); + } + } + + /** + * + * @param plotLoc + * @param adjSize + * @param spd + * @param dir + * barb direction in radians + */ + @Override + public void paintBarb(Coordinate plotLoc, double adjSize, double spd, + double dir) { + paintPoint(plotLoc, adjSize); + + int speed = (int) (spd + 2.5); + double staff = adjSize * .4; + double barb = staff * 0.30; + double add = staff * 0.105; + // DIRECTIONS + double uudd = -spd * Math.sin(dir); + double vvff = -spd * Math.cos(dir); + double dix = -uudd / spd; + double djy = -vvff / spd; + double dix1 = Math.cos(Math.toRadians(75)) * dix + + Math.sin(Math.toRadians(75)) * djy; + double djy1 = (-1) * Math.sin(Math.toRadians(75)) * dix + + Math.cos(Math.toRadians(75)) * djy; + + // SPEED AND COUNTERS: + int n50 = speed / 50; + int calcSpd = speed - 50 * n50; + int n10 = calcSpd / 10; + calcSpd = calcSpd - 10 * n10; + int n5 = calcSpd / 5; + double sx = ((n50 + n50 + n10 + n5 + 2)) * add; + staff = Math.max(adjSize * .4, sx); + + // DRAW STAFF + double ix2 = plotLoc.x; + double jy2 = plotLoc.y; + double ix1 = ix2 + dix * staff; + double jy1 = jy2 - djy * staff; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, { ix1, jy1 } }); + + // PLOT LONE HALF-BARB, IF NECESSARY + if (n50 == 0 && n10 == 0) { + ix2 = ix1 - dix * add; + jy2 = jy1 + djy * add; + ix1 = ix2 + dix1 * barb / 2.0; + jy1 = jy2 - djy1 * barb / 2.0; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, + { ix1, jy1 } }); + return; + } + + // PLOT FLAGS, IF NECESSARY + for (int i = 0; i < n50; i++) { + ix2 = ix1 + dix1 * barb; + jy2 = jy1 - djy1 * barb; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, + { ix1, jy1 } }); + ix1 = ix1 - dix * add * 2; + jy1 = jy1 + djy * add * 2; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, + { ix1, jy1 } }); + } + if (n50 > 0) { + ix1 = ix1 - dix * add / 2.0; + jy1 = jy1 + djy * add / 2.0; + } + + // PLOT BARB, IF NECESSARY + for (int i = 0; i < n10; i++) { + ix2 = ix1 + dix1 * barb; + jy2 = jy1 - djy1 * barb; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, + { ix1, jy1 } }); + ix1 = ix1 - dix * add; + jy1 = jy1 + djy * add; + } + + // PLOT HALF-BARB, IF NECESSARY + if (n5 != 0) { + ix2 = ix1 + dix1 * barb / 2.0; + jy2 = jy1 - djy1 * barb / 2.0; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, + { ix1, jy1 } }); + } + } + + @Override + public void paintArrow(Coordinate plotLoc, double adjSize, double mag, + double dir) { + paintPoint(plotLoc, adjSize); + + double staff = 0.0; + + double logFactor = this.scale; + + // linear scaling + if (logFactor == 0.00) { + staff = mag * size / maxLimit; + } else { + double pcentRange = mag / maxLimit; + double lg = Math.log(logFactor + pcentRange); + double pcentLog = (lg - minLog) / (maxLog - minLog); + staff = pcentLog * size; + } + + double barb = staff / 7.0; + + // if (staff < barb) { + // return; + // } + + double ratio = adjSize / size; + staff *= ratio; + barb *= ratio; + + // DIRECTIONS + double uudd = -mag * Math.sin(dir); + double vvff = -mag * Math.cos(dir); + double dix = uudd / mag; + double djy = vvff / mag; + double dix1 = -dix - djy; + double djy1 = dix - djy; + double dix2 = -dix + djy; + double djy2 = -dix - djy; + + // DRAW BODY OF ARROW + double ix2 = plotLoc.x; + double jy2 = plotLoc.y; + double ix1 = ix2 + dix * staff; + double jy1 = jy2 - djy * staff; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, { ix1, jy1 } }); + // DRAW HEAD OF ARROW. + ix2 = ix1 + dix1 * barb; + jy2 = jy1 - djy1 * barb; + double ix3 = ix1 + dix2 * barb; + double jy3 = jy1 - djy2 * barb; + lastShape.addLineSegment(new double[][] { { ix2, jy2 }, { ix1, jy1 }, + { ix3, jy3 } }); + } +} diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEVectorGraphicsRenderableFactory.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEVectorGraphicsRenderableFactory.java new file mode 100644 index 0000000000..9448e8d6c5 --- /dev/null +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/GFEVectorGraphicsRenderableFactory.java @@ -0,0 +1,80 @@ +/** + * This software was developed and / or modified by Raytheon Company, + * pursuant to Contract DG133W-05-CQ-1067 with the US Government. + * + * U.S. EXPORT CONTROLLED TECHNICAL DATA + * This software product contains export-restricted data whose + * export/transfer/disclosure is restricted by U.S. law. Dissemination + * to non-U.S. persons whether in the United States or abroad requires + * an export license or other authorization. + * + * Contractor Name: Raytheon Company + * Contractor Address: 6825 Pine Street, Suite 340 + * Mail Stop B8 + * Omaha, NE 68106 + * 402.291.0100 + * + * See the AWIPS II Master Rights File ("Master Rights File.pdf") for + * further licensing information. + **/ +package com.raytheon.viz.gfe.rsc; + +import com.raytheon.uf.viz.core.IGraphicsTarget; +import com.raytheon.uf.viz.core.drawables.IDescriptor; +import com.raytheon.viz.core.contours.util.IVectorGraphicsRenderableFactory; +import com.raytheon.viz.core.contours.util.VectorGraphicsRenderable; + +/** + * GFE VectorGraphicsRenderable Factory + * + * Constructs the VectorGraphicsRenderable for GFE usage of GriddedVectorDisplay + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * Aug 22, 2013     #2287  randerso     Initial creation
+ * 
+ * 
+ * + * @author randerso + * @version 1.0 + */ + +public class GFEVectorGraphicsRenderableFactory implements + IVectorGraphicsRenderableFactory { + private double logFactor; + + private double maxLimit; + + /** + * Constructor + * + * @param logFactor + * logFactor scaling value from parm_arrowScaling preference + * @param maxLimit + * max allowable value for parm + */ + public GFEVectorGraphicsRenderableFactory(double logFactor, double maxLimit) { + this.logFactor = logFactor; + this.maxLimit = maxLimit; + } + + /* + * (non-Javadoc) + * + * @see + * com.raytheon.viz.core.contours.util.IVectorGraphicsRenderableFactory# + * createRenderable(com.raytheon.uf.viz.core.drawables.IDescriptor, + * com.raytheon.uf.viz.core.IGraphicsTarget, double) + */ + @Override + public VectorGraphicsRenderable createRenderable(IDescriptor descriptor, + IGraphicsTarget target, double size) { + return new GFEVectorGraphicsRenderable(descriptor, target, size, + logFactor, maxLimit); + } + +} diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/colorbar/GFEColorbarResource.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/colorbar/GFEColorbarResource.java index 22a6bafaec..9c47ca94f8 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/colorbar/GFEColorbarResource.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/rsc/colorbar/GFEColorbarResource.java @@ -62,9 +62,11 @@ import com.raytheon.viz.gfe.actions.SetDiscretePickupAction; import com.raytheon.viz.gfe.actions.SetDiscreteWxPickupAction; import com.raytheon.viz.gfe.core.DataManager; import com.raytheon.viz.gfe.core.ISpatialDisplayManager; +import com.raytheon.viz.gfe.core.msgs.GridDataChangedMsg; import com.raytheon.viz.gfe.core.msgs.IDisplayModeChangedListener; import com.raytheon.viz.gfe.core.msgs.IDisplayedParmListChangedListener; import com.raytheon.viz.gfe.core.msgs.IPickupValueChangedListener; +import com.raytheon.viz.gfe.core.msgs.ISpatialEditorTimeChangedListener; import com.raytheon.viz.gfe.core.msgs.Message; import com.raytheon.viz.gfe.core.msgs.Message.IMessageClient; import com.raytheon.viz.gfe.core.msgs.ShowQuickViewDataMsg; @@ -100,6 +102,7 @@ import com.raytheon.viz.ui.input.InputAdapter; * Changes for non-blocking SetValueDialog. * 01/23/2013 #1524 randerso Fix error when clicking on discrete color bar when * no grid exists + * 08/27/2013 #2287 randerso Fixed fitToDataColorTable for Single Grids * * * @@ -110,7 +113,7 @@ public class GFEColorbarResource extends AbstractVizResource implements IContextMenuProvider, IPickupValueChangedListener, IDisplayModeChangedListener, IMessageClient, - IDisplayedParmListChangedListener { + IDisplayedParmListChangedListener, ISpatialEditorTimeChangedListener { public static final double HEIGHT = 25.0; @@ -317,6 +320,8 @@ public class GFEColorbarResource extends dManager.getParmManager().removeDisplayedParmListChangedListener(this); dManager.getSpatialDisplayManager().removeDisplayModeChangedListener( this); + dManager.getSpatialDisplayManager() + .removeSpatialEditorTimeChangedListener(this); IDisplayPaneContainer container = getResourceContainer(); if (container != null) { @@ -324,6 +329,7 @@ public class GFEColorbarResource extends } Message.unregisterInterest(this, ShowQuickViewDataMsg.class); + Message.unregisterInterest(this, GridDataChangedMsg.class); if (colorbarScaleFont != null) { colorbarScaleFont.dispose(); @@ -358,9 +364,12 @@ public class GFEColorbarResource extends @Override protected void initInternal(IGraphicsTarget target) throws VizException { dManager.getSpatialDisplayManager().addDisplayModeChangedListener(this); + dManager.getSpatialDisplayManager() + .addSpatialEditorTimeChangedListener(this); dManager.getParmManager().addDisplayedParmListChangedListener(this); Message.registerInterest(this, ShowQuickViewDataMsg.class); + Message.registerInterest(this, GridDataChangedMsg.class); colorbarScaleFont = GFEFonts.makeGFEIFont(target, "ColorBarScale_font", 1); @@ -680,6 +689,16 @@ public class GFEColorbarResource extends parm = gridId.getParm(); } updateColorbar(parm); + } else if (message instanceof GridDataChangedMsg) { + GridDataChangedMsg msg = (GridDataChangedMsg) message; + if (currentParm != null + && msg.getParmID().equals(currentParm.getParmID()) + && msg.getTimeRange().contains( + currentParm.getDataManager() + .getSpatialDisplayManager() + .getSpatialEditorTime())) { + checkFitToData(); + } } } @@ -689,6 +708,10 @@ public class GFEColorbarResource extends * continuous colorbar range. */ protected void checkFitToData() { + if (currentParm == null) { + return; + } + String parmName = currentParm.getParmID().getParmName(); String fitToDataPref = parmName + "_fitToDataColorTable"; if (GFEPreference.contains(fitToDataPref)) { @@ -836,4 +859,9 @@ public class GFEColorbarResource extends updateColorbar(normalParm); } } + + @Override + public void spatialEditorTimeChanged(Date date) { + checkFitToData(); + } } diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java deleted file mode 100644 index d359ff50a8..0000000000 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java +++ /dev/null @@ -1,108 +0,0 @@ -/** - * This software was developed and / or modified by Raytheon Company, - * pursuant to Contract DG133W-05-CQ-1067 with the US Government. - * - * U.S. EXPORT CONTROLLED TECHNICAL DATA - * This software product contains export-restricted data whose - * export/transfer/disclosure is restricted by U.S. law. Dissemination - * to non-U.S. persons whether in the United States or abroad requires - * an export license or other authorization. - * - * Contractor Name: Raytheon Company - * Contractor Address: 6825 Pine Street, Suite 340 - * Mail Stop B8 - * Omaha, NE 68106 - * 402.291.0100 - * - * See the AWIPS II Master Rights File ("Master Rights File.pdf") for - * further licensing information. - **/ - -/** - * Creating the combinations file for the TextFormatter - * - *
- *    
- * SOFTWARE HISTORY
- *    
- * Date         Ticket#     Engineer    Description
- * ------------ ----------  ----------- --------------------------
- *6/12/2008                 mnash       Initial creation
- *     
- * 
- * - * @author mnash - * @version 1 - */ -package com.raytheon.viz.gfe.textformatter; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -import com.raytheon.uf.common.dataplugin.gfe.request.SaveCombinationsFileRequest; -import com.raytheon.uf.common.localization.IPathManager; -import com.raytheon.uf.common.localization.LocalizationContext; -import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel; -import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType; -import com.raytheon.uf.common.localization.PathManagerFactory; -import com.raytheon.uf.common.util.FileUtil; -import com.raytheon.viz.gfe.core.DataManager; -import com.raytheon.viz.gfe.core.internal.IFPClient; - -public class CombinationsFileGenerator { - - /** - * Generates combinations files based on just running the formatter - * - * @param zoneGroupList - * @param filename - * @throws IOException - */ - public static void generateAutoCombinationsFile( - List> zoneGroupList, String filename) throws Exception { - generateCombinationsFile(zoneGroupList, filename, ""); - } - - /** - * Generates combinations files based on user wanting to save - * - * @param zoneGroupList - * @param filename - * @throws IOException - */ - public static void generateSavedCombinationsFile( - List> zoneGroupList, String filename) throws Exception { - - if (filename.endsWith(".py")) { - generateCombinationsFile(zoneGroupList, filename, "saved" - + File.separator); - } else { - generateCombinationsFile(zoneGroupList, filename + ".py", "saved" - + File.separator); - } - } - - /** - * Called by both auto and saved functions to actually write file - * - * @param zoneGroupList - * @param filename - * @param loc - * @throws Exception - */ - public static void generateCombinationsFile( - List> zoneGroupList, String filename, String loc) - throws Exception { - IFPClient ifpc = DataManager.getCurrentInstance().getClient(); - SaveCombinationsFileRequest req = new SaveCombinationsFileRequest(); - req.setFileName(FileUtil.join(loc, filename)); - req.setCombos(zoneGroupList); - ifpc.makeRequest(req); - - IPathManager pm = PathManagerFactory.getPathManager(); - LocalizationContext ctx = pm.getContext(LocalizationType.CAVE_STATIC, - LocalizationLevel.SITE); - pm.getFile(ctx, FileUtil.join("gfe", "combinations", filename)); - } -} diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java index cb47b506c8..aaea4f05be 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java @@ -20,6 +20,7 @@ package com.raytheon.viz.gfe.textformatter; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -33,7 +34,9 @@ import javax.xml.bind.annotation.XmlRootElement; import jep.JepException; +import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException; import com.raytheon.uf.common.dataplugin.gfe.python.GfePyIncludeUtil; +import com.raytheon.uf.common.dataplugin.gfe.request.SaveCombinationsFileRequest; import com.raytheon.uf.common.localization.IPathManager; import com.raytheon.uf.common.localization.LocalizationContext; import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel; @@ -49,8 +52,9 @@ import com.raytheon.uf.common.serialization.SerializationException; import com.raytheon.uf.common.serialization.SerializationUtil; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; -import com.raytheon.uf.common.status.UFStatus.Priority; import com.raytheon.uf.common.util.FileUtil; +import com.raytheon.viz.gfe.core.DataManagerUIFactory; +import com.raytheon.viz.gfe.core.internal.IFPClient; import com.raytheon.viz.gfe.textformatter.CombinationsFileUtil.ComboData.Entry; /** @@ -60,7 +64,10 @@ import com.raytheon.viz.gfe.textformatter.CombinationsFileUtil.ComboData.Entry; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Jul 25, 2008 mnash Initial creation + * Jul 25, 2008 mnash Initial creation + * Sep 05, 2013 #2329 randerso Moved genereateAutoCombinationsFile here + * Cleaned up error handling + * * * * @author mnash @@ -200,7 +207,7 @@ public class CombinationsFileUtil { } @SuppressWarnings("unchecked") - public static List> init(String comboName) { + public static List> init(String comboName) throws GfeException { IPathManager pm = PathManagerFactory.getPathManager(); @@ -211,7 +218,6 @@ public class CombinationsFileUtil { File comboFile = new File(comboName); comboName = comboFile.getName(); - String comboPath = GfePyIncludeUtil.getCombinationsIncludePath(); String scriptPath = FileUtil.join( GfePyIncludeUtil.getUtilitiesLF(baseContext).getFile() .getPath(), "CombinationsInterface.py"); @@ -221,13 +227,15 @@ public class CombinationsFileUtil { map.put("comboName", comboName); PythonScript python = null; try { - python = new PythonScript(scriptPath, - PyUtil.buildJepIncludePath(comboPath)); + python = new PythonScript(scriptPath, PyUtil.buildJepIncludePath( + GfePyIncludeUtil.getCombinationsIncludePath(), + GfePyIncludeUtil.getCommonPythonIncludePath()), + CombinationsFileUtil.class.getClassLoader()); Object com = python.execute("getCombinations", map); combos = (List>) com; } catch (JepException e) { - statusHandler.handle(Priority.CRITICAL, - "Could not get combinations", e); + throw new GfeException("Error loading combinations file: " + + comboName, e); } finally { if (python != null) { python.dispose(); @@ -235,4 +243,30 @@ public class CombinationsFileUtil { } return combos; } + + /** + * Generates combinations files based on just running the formatter + * + * @param zoneGroupList + * @param filename + * @throws Exception + * @throws IOException + */ + public static void generateAutoCombinationsFile( + List> zoneGroupList, String filename) throws Exception { + IFPClient ifpc = DataManagerUIFactory.getCurrentInstance().getClient(); + SaveCombinationsFileRequest req = new SaveCombinationsFileRequest(); + req.setFileName(filename); + req.setCombos(zoneGroupList); + try { + statusHandler.info("Saving combinations file: " + filename); + ifpc.makeRequest(req); + statusHandler.info("Successfully saved combinations file: " + + filename); + } catch (Exception e) { + statusHandler.error("Error saving combinations file: " + filename, + e); + throw e; + } + } } diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/FormatterUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/FormatterUtil.java index 1e9df6ba3c..1d0915d84f 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/FormatterUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/FormatterUtil.java @@ -20,7 +20,6 @@ package com.raytheon.viz.gfe.textformatter; import java.text.SimpleDateFormat; -import java.util.List; import java.util.TimeZone; import com.raytheon.uf.common.status.IUFStatusHandler; @@ -40,8 +39,9 @@ import com.raytheon.viz.gfe.tasks.TaskManager; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Sep 8, 2008 njensen Initial creation - * Jan 15, 2010 3395 ryu Fix "issued by" functionality + * Sep 8, 2008 njensen Initial creation + * Jan 15, 2010 3395 ryu Fix "issued by" functionality + * Sep 05, 2013 2329 randerso Removed save of combinations file * * * @@ -63,21 +63,20 @@ public class FormatterUtil { * the formatter instance to use * @param productName * the name of the text product - * @param zoneList - * the list of zones to produce the product for + * @param dbId + * source database + * @param vtecMode + * VTEC mode * @param finish * listener to fire when formatter finishes generating product */ public static void runFormatterScript(TextProductManager productMgr, - String productName, List> zoneList, String dbId, - String vtecMode, TextProductFinishListener finish) { + String productName, String dbId, String vtecMode, + TextProductFinishListener finish) { try { String filename = productMgr.getCombinationsFileName(productName); boolean mapRequired = productMgr.mapRequired(productName); if (filename != null && mapRequired) { - String filenameExt = filename + ".py"; - CombinationsFileGenerator.generateAutoCombinationsFile( - zoneList, filenameExt); productMgr.reloadModule(filename); } } catch (Exception e) { diff --git a/cave/com.raytheon.viz.grid/localization/styleRules/gridReprojectionRules.xml b/cave/com.raytheon.viz.grid/localization/styleRules/gridReprojectionRules.xml new file mode 100644 index 0000000000..b996a043eb --- /dev/null +++ b/cave/com.raytheon.viz.grid/localization/styleRules/gridReprojectionRules.xml @@ -0,0 +1,41 @@ + + + + + + \ No newline at end of file diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/GriddedIconDisplay.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/GriddedIconDisplay.java index fedefeda79..434e44643d 100644 --- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/GriddedIconDisplay.java +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/GriddedIconDisplay.java @@ -50,6 +50,8 @@ import com.vividsolutions.jts.geom.Coordinate; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Apr 23, 2010 bsteffen Initial creation + * Aug 27, 2013 #2287 randerso Added densityFactor to allow application specific + * adjustment of density. * * * @@ -68,13 +70,17 @@ public class GriddedIconDisplay extends AbstractGriddedDisplay { private PointIconFactory iconFactory; /** + * @param values * @param descriptor * @param gridGeometryOfGrid * @param imageSize + * @param densityFactor + * adjustment factor to make density match A1 */ public GriddedIconDisplay(float[] values, IMapDescriptor descriptor, - GeneralGridGeometry gridGeometryOfGrid, int imageSize) { - super(descriptor, gridGeometryOfGrid, imageSize); + GeneralGridGeometry gridGeometryOfGrid, int imageSize, + double densityFactor) { + super(descriptor, gridGeometryOfGrid, imageSize, densityFactor); this.values = values; } @@ -126,6 +132,7 @@ public class GriddedIconDisplay extends AbstractGriddedDisplay { return (int) values[idx]; } + @Override public boolean setColor(RGB color) { if (super.setColor(color)) { iconFactory = null; @@ -166,8 +173,8 @@ public class GriddedIconDisplay extends AbstractGriddedDisplay { if (renderable.resource != empty) { PointImage image = new PointImage(renderable.resource, renderable.plotLocation); - image.setHeight((double) size * magnification); - image.setWidth((double) size * magnification); + image.setHeight(size * magnification); + image.setWidth(size * magnification); images.add(image); } } diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/AbstractGridResource.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/AbstractGridResource.java index ff8574b9c8..f88268818a 100644 --- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/AbstractGridResource.java +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/AbstractGridResource.java @@ -87,6 +87,7 @@ import com.raytheon.viz.core.contours.rsc.displays.AbstractGriddedDisplay; import com.raytheon.viz.core.contours.rsc.displays.GriddedContourDisplay; import com.raytheon.viz.core.contours.rsc.displays.GriddedStreamlineDisplay; import com.raytheon.viz.core.contours.rsc.displays.GriddedVectorDisplay; +import com.raytheon.viz.core.contours.util.VectorGraphicsRenderableFactory; import com.raytheon.viz.core.drawables.ColorMapParameterFactory; import com.raytheon.viz.core.rsc.displays.GriddedImageDisplay2; import com.raytheon.viz.core.style.arrow.ArrowPreferences; @@ -111,6 +112,8 @@ import com.vividsolutions.jts.geom.Coordinate; * May 08, 2013 1980 bsteffen Set paint status in GridResources for * KML. * Jul 15, 2013 2107 bsteffen Fix sampling of grid vector arrows. + * Aug 27, 2013 2287 randerso Added new parameters required by GriddedVectorDisplay + * and GriddedIconDisplay * * * @@ -154,13 +157,14 @@ public abstract class AbstractGridResource protected AbstractGridResource(T resourceData, LoadProperties loadProperties) { super(resourceData, loadProperties); resourceData.addChangeListener(new IResourceDataChanged() { + @Override public void resourceChanged(ChangeType type, Object object) { if (type == ChangeType.DATA_UPDATE) { if (object instanceof PluginDataObject) { addDataObject((PluginDataObject) object); } else if (object instanceof PluginDataObject[]) { for (PluginDataObject pdo : (PluginDataObject[]) object) { - addDataObject((PluginDataObject) pdo); + addDataObject(pdo); } } else if (object instanceof Object[]) { for (Object obj : (Object[]) object) { @@ -489,9 +493,10 @@ public abstract class AbstractGridResource case ARROW: case DUALARROW: convertData(data); + VectorGraphicsRenderableFactory factory = new VectorGraphicsRenderableFactory(); GriddedVectorDisplay vectorDisplay = new GriddedVectorDisplay( data.getMagnitude(), data.getDirection(), descriptor, - gridGeometry, 64, displayType); + gridGeometry, 64, 0.75, true, displayType, factory); vectorDisplay.setColor(getCapability(ColorableCapability.class) .getColor()); vectorDisplay.setLineStyle(getCapability(OutlineCapability.class) @@ -504,14 +509,15 @@ public abstract class AbstractGridResource MagnificationCapability.class).getMagnification()); if (stylePreferences != null && stylePreferences instanceof ArrowPreferences) { - vectorDisplay.setScale(((ArrowPreferences) stylePreferences) + factory.setScale(((ArrowPreferences) stylePreferences) .getScale()); } renderable = vectorDisplay; break; case ICON: GriddedIconDisplay iconDisplay = new GriddedIconDisplay(data - .getScalarData().array(), descriptor, gridGeometry, 80); + .getScalarData().array(), descriptor, gridGeometry, 80, + 0.75); iconDisplay.setColor(getCapability(ColorableCapability.class) .getColor()); iconDisplay.setDensity(getCapability(DensityCapability.class) diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/D2DGridResource.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/D2DGridResource.java index 6cf9d87158..53d6333731 100644 --- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/D2DGridResource.java +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/D2DGridResource.java @@ -53,6 +53,7 @@ import com.raytheon.uf.viz.core.datastructure.DataCubeContainer; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.uf.viz.core.rsc.AbstractNameGenerator; import com.raytheon.uf.viz.core.rsc.DisplayType; +import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.capabilities.DisplayTypeCapability; import com.raytheon.uf.viz.core.rsc.capabilities.ImagingCapability; @@ -60,7 +61,7 @@ import com.raytheon.viz.grid.rsc.GridNameGenerator; import com.raytheon.viz.grid.rsc.GridNameGenerator.IGridNameResource; import com.raytheon.viz.grid.rsc.GridNameGenerator.LegendParameters; import com.raytheon.viz.grid.rsc.GridResourceData; -import com.raytheon.viz.grid.util.ConformalityUtil; +import com.raytheon.viz.grid.util.ReprojectionUtil; import com.raytheon.viz.grid.xml.FieldDisplayTypesFactory; import com.vividsolutions.jts.geom.Coordinate; @@ -79,6 +80,9 @@ import com.vividsolutions.jts.geom.Coordinate; * constructor to avoid duplicate data * requests. * Jul 15, 2013 2107 bsteffen Fix sampling of grid vector arrows. + * Aug 27, 2013 2287 randerso Removed 180 degree adjustment required by error + * in Maputil.rotation + * Sep 24, 2013 DR 15972 D. Friedman Make reprojection of grids configurable. * * * @@ -92,6 +96,8 @@ public class D2DGridResource extends GridResource implements private boolean reprojectedData = false; + private Boolean lastInterpolationState = null; + public D2DGridResource(GridResourceData resourceData, LoadProperties loadProperties) { super(resourceData, loadProperties); @@ -101,7 +107,10 @@ public class D2DGridResource extends GridResource implements for (GridRecord record : resourceData.getRecords()) { addDataObject(record); } - + if (this.hasCapability(ImagingCapability.class)) { + lastInterpolationState = this.getCapability(ImagingCapability.class) + .isInterpolationState(); + } } @Override @@ -141,17 +150,15 @@ public class D2DGridResource extends GridResource implements return null; } } - // For world wide lat lon grids we reproject, this is done to match A1, - // but it also makes the wind barbs look more evenly spaced near the - // pole. + // For some grids, we may reproject (e.g., world-wide lat/lon grids), + // this is done to match A1, but it also makes the wind barbs look + // more evenly spaced near the pole. GridCoverage location = gridRecord.getLocation(); GeneralGridData data = getData(dataRecs, location.getGridGeometry(), dataUnit); - if (location != null && location.getSpacingUnit().equals("degree")) { - if (!ConformalityUtil.testConformality(location.getGridGeometry(), - descriptor.getGridGeometry())) { - data = reprojectData(data); - } + if (ReprojectionUtil.shouldReproject(gridRecord, + getDisplayType(), descriptor.getGridGeometry())) { + data = reprojectData(data); } // Wind Direction(and possibly others) can be set so that we rotate the // direction to be relative to the north pole instead of grid relative. @@ -174,7 +181,7 @@ public class D2DGridResource extends GridResource implements crs2ll.transform(dp, dp); Coordinate ll = new Coordinate(dp.x, dp.y); float rot = (float) MapUtil.rotation(ll, geom); - dir = (dir + rot + 180) % 360; + dir = (dir + rot) % 360; data.getScalarData().put(index, dir); } } @@ -316,4 +323,19 @@ public class D2DGridResource extends GridResource implements super.project(crs); } + @Override + protected void resourceDataChanged(ChangeType type, Object updateObject) { + super.resourceDataChanged(type, updateObject); + if (type == ChangeType.CAPABILITY) { + if (updateObject instanceof ImagingCapability && reprojectedData) { + ImagingCapability capability = (ImagingCapability) updateObject; + if (lastInterpolationState == null + || capability.isInterpolationState() != lastInterpolationState) { + lastInterpolationState = capability.isInterpolationState(); + clearRequestedData(); + } + } + } + } + } diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/GeneralGridData.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/GeneralGridData.java index a199f7f0e7..862861e277 100644 --- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/GeneralGridData.java +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/rsc/general/GeneralGridData.java @@ -56,7 +56,9 @@ import com.vividsolutions.jts.geom.Coordinate; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Mar 9, 2011 bsteffen Initial creation + * Mar 9, 2011 bsteffen Initial creation + * Aug 27, 2013 #2287 randerso Removed 180 degree adjustment required by error + * in Maputil.rotation * * * @@ -247,8 +249,8 @@ public class GeneralGridData { Coordinate ll = new Coordinate(dp.x, dp.y); double rot = MapUtil.rotation(ll, newGeom); double rot2 = MapUtil.rotation(ll, gridGeometry); - double cos = Math.cos(Math.toRadians(180 + rot - rot2)); - double sin = Math.sin(Math.toRadians(180 + rot - rot2)); + double cos = Math.cos(Math.toRadians(rot - rot2)); + double sin = Math.sin(Math.toRadians(rot - rot2)); double u = udata[index]; double v = vdata[index]; udata[index] = (float) (cos * u - sin * v); diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ConformalityUtil.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ConformalityUtil.java index 04bb98c6e4..f81809bb7e 100644 --- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ConformalityUtil.java +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ConformalityUtil.java @@ -35,7 +35,8 @@ import org.opengis.referencing.operation.TransformException; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 06/19/2012 14988 D. Friedman Initial revision - * + * 09/24/2013 DR 15972 D. Friedman Do not require contiguous mapping. + * * */ public class ConformalityUtil { @@ -96,11 +97,17 @@ public class ConformalityUtil { if (! evaluateNonContig(evaluatedDomain)) { System.out.format("%s -> %s : not contiguous?\n", sourceGG, destGG); return false; + /* + * This test is not necessary for AWIPS II because it can cope + * with non-contiguous mappings. + */ + /* } else if (maxRatio/minRatio > maxRatioRatio || (minRatio > 0 && maxRatio/minRatio > maxRatioRatio) || // ? (minRatio < 0 && minRatio/maxRatio > maxRatioRatio)) { System.out.format("%s -> %s : not conformal enough somehow\n", sourceGG, destGG); return false; + */ } else { System.out.format("%s -> %s : conformal enough (%f, %f)\n", sourceGG, destGG, rr, maxRatio/minRatio); diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ReprojectionUtil.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ReprojectionUtil.java new file mode 100644 index 0000000000..6830ec8725 --- /dev/null +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/util/ReprojectionUtil.java @@ -0,0 +1,159 @@ +package com.raytheon.viz.grid.util; + +import java.util.regex.Pattern; + +import org.geotools.coverage.grid.GeneralGridGeometry; +import org.geotools.referencing.CRS; +import org.geotools.referencing.operation.projection.MapProjection; +import org.opengis.referencing.crs.CoordinateReferenceSystem; + +import com.raytheon.uf.common.dataplugin.grid.GridRecord; +import com.raytheon.uf.common.gridcoverage.GridCoverage; +import com.raytheon.uf.common.localization.AutoUpdatingLocalizationFile; +import com.raytheon.uf.common.localization.AutoUpdatingLocalizationFile.AutoUpdatingFileChangedListener; +import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType; +import com.raytheon.uf.common.localization.exception.LocalizationException; +import com.raytheon.uf.common.serialization.JAXBManager; +import com.raytheon.uf.common.status.IUFStatusHandler; +import com.raytheon.uf.common.status.UFStatus; +import com.raytheon.uf.common.status.UFStatus.Priority; +import com.raytheon.uf.viz.core.rsc.DisplayType; +import com.raytheon.viz.grid.xml.GridReprojectionRules; +import com.raytheon.viz.grid.xml.GridReprojectionRules.Reproject; +import com.raytheon.viz.grid.xml.GridReprojectionRules.Rule; + +/** + * Determines if a grid should be reprojected based display properties and + * a configuration file. + * + *
+ *
+ * SOFTWARE HISTORY
+ * Date         Ticket#    Engineer         Description
+ * ------------ ---------- ---------------- --------------------------
+ * Sep 23, 2013 DR 15972   D. Friedman      Initial creation
+ *
+ * 
+ * + */ +public class ReprojectionUtil { + private static final String RULES_PATH = "styleRules/gridReprojectionRules.xml"; + + private static final transient IUFStatusHandler statusHandler = UFStatus.getHandler(ReprojectionUtil.class); + + private static ReprojectionUtil instance; + + static ReprojectionUtil getInstance() { + if (instance == null) { + synchronized (ReprojectionUtil.class) { + if (instance == null) + instance = new ReprojectionUtil(); + } + } + return instance; + } + + GridReprojectionRules rules; + AutoUpdatingLocalizationFile file; + boolean fileChanged = false; + + public static boolean shouldReproject(GridRecord record, DisplayType displayType, GeneralGridGeometry dstGridGeometry) { + GridReprojectionRules rules = getInstance().getRules(); + if (rules != null) { + for (Rule rule : rules.getRules()) { + if (matches(rule, record, displayType, dstGridGeometry)) { + Reproject reproject = rule.getReproject(); + if (reproject == Reproject.ALWAYS) { + return true; + } else if (reproject == Reproject.NEVER) { + return false; + } else if (reproject == Reproject.TEST || reproject == null) { + return !ConformalityUtil.testConformality(record + .getLocation().getGridGeometry(), + dstGridGeometry); + } else { + throw new RuntimeException( + String.format("Unknown reprojection behavior " + + reproject)); + } + } + } + } + return false; + } + + private static boolean matches(Rule rule, GridRecord record, DisplayType displayType, + GeneralGridGeometry dstGridGeometry) { + return matches(rule.getModelName(), record.getDatasetId()) && + matches(rule.getSrcProjection(), getProjectionName(record.getLocation())) && + matches(rule.getDstProjection(), getProjectionName(dstGridGeometry)) && + matches(rule.getDisplayType(), displayType.toString()); + } + + private static boolean matches(String pattern, String value) { + if (pattern == null) + return true; + return Pattern.matches(pattern, value != null ? value : ""); + } + + private static String getProjectionName(GridCoverage coverage) { + return coverage != null ? getProjectionName(coverage.getCrs()) : null; + } + + private static String getProjectionName(GeneralGridGeometry gridGeometry) { + return gridGeometry != null ? getProjectionName(gridGeometry.getCoordinateReferenceSystem()) : null; + } + + private static String getProjectionName(CoordinateReferenceSystem crs) { + MapProjection projection = CRS.getMapProjection(crs); + return projection != null ? projection.getName() : null; + } + + public GridReprojectionRules getRules() { + try { + synchronized(this) { + if (checkFileChanged()) { + GridReprojectionRules newRules = file.loadObject( + new JAXBManager(GridReprojectionRules.class), + GridReprojectionRules.class); + if (newRules == null) + throw new LocalizationException("No " + RULES_PATH + "found"); + rules = newRules; + } + } + } catch (Exception e) { + statusHandler.handle( + Priority.PROBLEM, + "Error occurred loading grid reproject rules", + e); + } + return rules; + } + + private synchronized boolean checkFileChanged() throws LocalizationException { + if (file == null) { + file = new AutoUpdatingLocalizationFile(RULES_PATH, LocalizationType.CAVE_STATIC); + file.addListener(new AutoUpdatingFileChangedListener() { + @Override + public void fileChanged(AutoUpdatingLocalizationFile file) { + synchronized (ReprojectionUtil.this) { + fileChanged = true; + }; + } + }); + return true; + } else { + /* + * Only return true once per noticed file changed (and not after the + * file has been read.) This is done to prevent a flood of AlertViz + * errors if there is something wrong with the file. + */ + if (fileChanged) { + fileChanged = false; + return true; + } else { + return false; + } + } + } +} diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/xml/GridReprojectionRules.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/xml/GridReprojectionRules.java new file mode 100644 index 0000000000..575397e7d7 --- /dev/null +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/xml/GridReprojectionRules.java @@ -0,0 +1,85 @@ +package com.raytheon.viz.grid.xml; + +import java.util.ArrayList; +import java.util.List; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Container for a list of rules that describe how gridded data should be + * re-projected on various map projections. + * + *
+ *
+ * SOFTWARE HISTORY
+ * Date         Ticket#    Engineer         Description
+ * ------------ ---------- ---------------- --------------------------
+ * Sep 23, 2013 DR 15972   D. Friedman      Initial creation
+ *
+ * 
+ * + */ +@XmlRootElement() +@XmlAccessorType(XmlAccessType.NONE) +public class GridReprojectionRules { + public static enum Reproject { + ALWAYS, NEVER, TEST + } + + @XmlAccessorType(XmlAccessType.NONE) + public static class Rule { + @XmlAttribute + private String modelName; + @XmlAttribute + private String displayType; + @XmlAttribute + private String srcProjection; + @XmlAttribute + private String dstProjection; + @XmlAttribute + private Reproject reproject; + + public String getModelName() { + return modelName; + } + public void setModelName(String modelName) { + this.modelName = modelName; + } + public String getDisplayType() { + return displayType; + } + public void setDisplayType(String displayType) { + this.displayType = displayType; + } + public String getSrcProjection() { + return srcProjection; + } + public void setSrcProjection(String srcProjection) { + this.srcProjection = srcProjection; + } + public String getDstProjection() { + return dstProjection; + } + public void setDstProjection(String dstProjection) { + this.dstProjection = dstProjection; + } + public Reproject getReproject() { + return reproject; + } + public void setReproject(Reproject reproject) { + this.reproject = reproject; + } + } + + @XmlElement(name = "rule") + private List rules = new ArrayList(0); + + public List getRules() { + return rules; + } + +} diff --git a/cave/com.raytheon.viz.hydro/localization/bundles/hydro/FFGLmosaic.xml b/cave/com.raytheon.viz.hydro/localization/bundles/hydro/FFGLmosaic.xml index d57a5a8bd5..bf3fa18b8a 100644 --- a/cave/com.raytheon.viz.hydro/localization/bundles/hydro/FFGLmosaic.xml +++ b/cave/com.raytheon.viz.hydro/localization/bundles/hydro/FFGLmosaic.xml @@ -47,7 +47,7 @@
-
@@ -321,7 +321,7 @@ - +
diff --git a/cave/com.raytheon.viz.hydro/localization/menus/hydro/baseRFCffg.xml b/cave/com.raytheon.viz.hydro/localization/menus/hydro/baseRFCffg.xml index 32645f7fbf..af67408d8a 100644 --- a/cave/com.raytheon.viz.hydro/localization/menus/hydro/baseRFCffg.xml +++ b/cave/com.raytheon.viz.hydro/localization/menus/hydro/baseRFCffg.xml @@ -246,19 +246,19 @@ menuText="1hr FFG" id="OH1hrFFG"> /grib/%/FFG-TIR/FFG0124hr/% - + - /grib/%/FFG-TIR-HiRes/FFG0324hr/% + /grib/%/FFG-TIR/FFG0324hr/% - + - /grib/%/FFG-TIR-HiRes/FFG0624hr/% + /grib/%/FFG-TIR/FFG0624hr/% - + diff --git a/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResource.java b/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResource.java index 9ef86a4890..e1ee47e9e6 100644 --- a/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResource.java +++ b/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResource.java @@ -76,7 +76,9 @@ import com.raytheon.viz.mpe.ui.rsc.MPEFieldResourceData.MPEFieldFrame; * Nov 29, 2012 mschenke Initial creation * May 28, 2013 15971 lbousaidi change the reading hour for SATPRE * since the start time in the file is one - * hour less than the file time stamp. + * hour less than the file time stamp. + * Sep 17, 2013 16563 snaples Updated createFrameImage to handle trace precip + * properly when mapping to screen. * * * @@ -148,6 +150,7 @@ public class MPEFieldResource extends * @param frame * @return */ + @SuppressWarnings("incomplete-switch") private short[] getEditedData(MPEFieldFrame frame) { short[] editedData = frame.getEditedData(); if (editedData != null) { @@ -413,16 +416,42 @@ public class MPEFieldResource extends .getColorMapParameters(); UnitConverter dataToImage = params.getDataToImageConverter(); short[] data = getEditedData(frame); + DisplayFieldData cvuse = resourceData.getFieldData(); int length = data.length; short[] imageData = new short[length]; - for (int i = 0; i < length; ++i) { - short value = data[i]; - if (value == MISSING_VALUE) { - imageData[i] = 0; - } else { - imageData[i] = (short) dataToImage.convert(value); + switch (cvuse) { + case Locbias: + case Height: + case Index: + case Locspan: + case mintempPrism: + case maxtempPrism: + for (int i = 0; i < length; ++i) { + short value = data[i]; + if (value == MISSING_VALUE) { + imageData[i] = 0; + } else { + imageData[i] = (short) dataToImage.convert(value); + } + } + break; + + default : + for (int i = 0; i < length; ++i) { + short value = data[i]; + if (value == MISSING_VALUE) { + imageData[i] = 0; + } else if(value <= 0){ + imageData[i] = 1; + } else if(value > 0 && value < 25){ + value = 10; + imageData[i] = (short) dataToImage.convert(value); + } else { + imageData[i] = (short) dataToImage.convert(value); + } + } + break; } - } return new GriddedImageDisplay2(ShortBuffer.wrap(imageData), gridGeometry, this); } diff --git a/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResourceData.java b/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResourceData.java index e6cfaeaee9..65a9deaab5 100644 --- a/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResourceData.java +++ b/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/rsc/MPEFieldResourceData.java @@ -275,8 +275,9 @@ public class MPEFieldResourceData extends AbstractMPEGriddedResourceData { case mintempPrism: case maxtempPrism: return NonSI.FAHRENHEIT; + default: + return NonSI.INCH; } - return NonSI.INCH; } public static Unit getDataUnitsForField(DisplayFieldData fieldData) { @@ -293,7 +294,9 @@ public class MPEFieldResourceData extends AbstractMPEGriddedResourceData { case mintempPrism: case maxtempPrism: return NonSI.FAHRENHEIT.divide(10); + + default : + return SI.MILLIMETER.divide(100); } - return SI.MILLIMETER.divide(100); } } diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResource2.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResource2.java index ddb376e3a2..a48059db28 100644 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResource2.java +++ b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResource2.java @@ -96,6 +96,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Jun 06, 2013 2072 bsteffen Fix concurrency problems when init is * called before time matching is done. * Jun 25, 2013 1869 bsteffen Fix plot sampling. + * Sep 04, 2013 16519 kshresth Fix Metar Display Problem * * * @@ -348,6 +349,7 @@ public class PlotResource2 extends plots.put(normTime, list); } list.add(info); + } } @@ -359,6 +361,19 @@ public class PlotResource2 extends DataTime time = entry.getKey(); List info = entry.getValue(); FrameInformation frameInfo = frameMap.get(time); + + // Sort this data in "backwards" so that the most recent observation + // for a particular station display correctly + if (info.size() > 1) { + Collections.sort(info, new Comparator() { + + @Override + public int compare(PlotInfo o1, PlotInfo o2) { + return o2.dataTime.compareTo(o1.dataTime); + } + }); + } + if (frameInfo != null) { Map stationMap = frameInfo.stationMap; for (PlotInfo plot : info) { @@ -413,7 +428,7 @@ public class PlotResource2 extends samplePlot[0] = plot; List list = new ArrayList(); list.add(samplePlot); - Params params = Params.SAMPLE_ONLY; + Params params = Params.PLOT_AND_SAMPLE; GetDataTask task = new GetDataTask(list, params); generator.queueStation(task); // End DR14996 diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/PointDataCubeAdapter.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/PointDataCubeAdapter.java index 8dc020a32f..f4b5d0437d 100644 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/PointDataCubeAdapter.java +++ b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/PointDataCubeAdapter.java @@ -89,7 +89,7 @@ public class PointDataCubeAdapter implements IDataCubeAdapter { "bufrascat", "poessounding", "profiler", "bufrua", "ldadmesonet", "ldadhydro", "qc", "fssobs", "bufrmosAVN", "bufrmosETA", "bufrmosGFS", "bufrmosHPC", "bufrmosLAMP", "bufrmosMRF", - "bufrmosNGM" }; + "bufrmosNGM", "ncairep", "ncpirep", "nctaf" }; protected AbstractPointDataInventory inventory; diff --git a/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/AWIPSHeaderBlockDlg.java b/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/AWIPSHeaderBlockDlg.java index ae60b38ee3..fd93367c1f 100644 --- a/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/AWIPSHeaderBlockDlg.java +++ b/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/AWIPSHeaderBlockDlg.java @@ -96,7 +96,8 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * 07/26/2012 15171 rferrel Disable editor's send and clear AFOS PIL fields when * invalid product Id and user want to edit it anyway. * 09/20/2012 1196 rferrel Changing dialogs being called to not block. - * 11/26/2012 14526 mgamazaychikov Added traverse listener for RETURN key + * 11/26/2012 14526 mgamazaychikov Added traverse listener for RETURN key + * 10/07/2012 16664 mgamazaychikov Added padProdDesignatorText method * * * @author lvenable @@ -411,21 +412,7 @@ public class AWIPSHeaderBlockDlg extends CaveSWTDialog implements @Override public void focusLost(FocusEvent e) { - StringBuilder sb = new StringBuilder(prodDesignatorTF.getText() - .trim()); - if (sb.length() > 0) { - // Pad field with trailing spaces. - while (sb.length() < 3) { - sb.append(' '); - } - - // Only trigger the modification listener when there is a - // real change. - String value = sb.toString(); - if (!value.equals(prodDesignatorTF.getText())) { - prodDesignatorTF.setText(value); - } - } + padProdDesignatorText(prodDesignatorTF.getText()); } @Override @@ -462,7 +449,23 @@ public class AWIPSHeaderBlockDlg extends CaveSWTDialog implements } } - /** + protected void padProdDesignatorText(String prodDesignatorText) { + StringBuilder sb = new StringBuilder(prodDesignatorText.trim()); + if (sb.length() > 0) { + // Pad field with trailing spaces. + while (sb.length() < 3) { + sb.append(' '); + } + // Only trigger the modification listener when there is a + // real change. + String value = sb.toString(); + if (!value.equals(prodDesignatorText)) { + prodDesignatorTF.setText(value); + } + } + } + + /** * Create the addressee control fields. */ private void createAddresseeFields() { @@ -1041,6 +1044,7 @@ public class AWIPSHeaderBlockDlg extends CaveSWTDialog implements @Override public void keyTraversed(TraverseEvent event) { if (event.detail == SWT.TRAVERSE_RETURN) { + padProdDesignatorText(prodDesignatorTF.getText()); enterBtnPressed(); } } diff --git a/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/EmergencyConfirmationMsg.java b/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/EmergencyConfirmationMsg.java index 52540b778c..84ea2d9712 100644 --- a/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/EmergencyConfirmationMsg.java +++ b/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/EmergencyConfirmationMsg.java @@ -27,6 +27,7 @@ import com.raytheon.uf.common.activetable.ActiveTableMode; import com.raytheon.uf.common.activetable.ActiveTableRecord; import com.raytheon.uf.common.activetable.GetActiveTableRequest; import com.raytheon.uf.common.activetable.GetActiveTableResponse; +import com.raytheon.uf.common.dataplugin.warning.EmergencyType; import com.raytheon.uf.common.dataplugin.warning.WarningRecord.WarningAction; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; @@ -48,6 +49,7 @@ import com.raytheon.viz.texteditor.util.VtecUtil; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jul 23, 2013 2176 jsanchez Initial creation + * Sep 4, 2013 2176 jsanchez Moved EmergencyType to a public class. * * * @@ -62,38 +64,6 @@ public class EmergencyConfirmationMsg implements IWarnGenConfirmationable { private String productMessage; - private static class EmergencyType { - - private static final EmergencyType TORNADO = new EmergencyType( - "TORNADO EMERGENCY", "TO.W"); - - private static final EmergencyType FLASH_FLOOD = new EmergencyType( - "FLASH FLOOD EMERGENCY", "FF.W"); - - private final String value; - - private final String phensig; - - private final static EmergencyType[] values = new EmergencyType[] { - TORNADO, FLASH_FLOOD }; - - private EmergencyType(String type, String phensig) { - this.value = type; - this.phensig = phensig; - } - - public static EmergencyType valueOf(String phensig) { - EmergencyType type = null; - for (EmergencyType t : values) { - if (t.phensig.equals(phensig)) { - type = t; - break; - } - } - return type; - } - }; - /** * Orders the ActiveTableRecord based on the issue time (ascending) */ @@ -126,11 +96,11 @@ public class EmergencyConfirmationMsg implements IWarnGenConfirmationable { // Check if the warning product is a valid EmergencyType. if (type != null) { - boolean currentEmergency = body.contains("EMERGENCY"); + boolean currentEmergency = EmergencyType.isEmergency(body); if (action == WarningAction.NEW && currentEmergency) { // Only occurs when the warning is first issued and not any // other action - productMessage = "This is a " + type.value; + productMessage = "This is a " + type.getValue(); } else if (action == WarningAction.CON || action == WarningAction.EXT || action == WarningAction.CANCON) { @@ -159,14 +129,14 @@ public class EmergencyConfirmationMsg implements IWarnGenConfirmationable { new ActiveTableRecordComparator()); ActiveTableRecord record = records .get(records.size() - 1); - boolean wasEmergency = record.getRawmessage().contains( - "EMERGENCY"); + boolean wasEmergency = EmergencyType.isEmergency(record + .getRawmessage()); if (!wasEmergency && currentEmergency) { productMessage = "This is an upgrade of a " - + type.value; + + type.getValue(); } else if (wasEmergency && !currentEmergency) { productMessage = "This is a downgrade of a " - + type.value; + + type.getValue(); } } } catch (VizException e) { diff --git a/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/TextEditorDialog.java b/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/TextEditorDialog.java index 6ab357941e..f933aa7674 100644 --- a/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/TextEditorDialog.java +++ b/cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/TextEditorDialog.java @@ -44,7 +44,6 @@ import java.util.Scanner; import java.util.TimeZone; import java.util.Timer; import java.util.TimerTask; -import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -331,7 +330,7 @@ import com.raytheon.viz.ui.dialogs.SWTMessageBox; * 25July2013 15733 GHull Read font and color prefs from TextEditorCfg. * 23Aug2013 DR 16514 D. Friedman Fix handling of completed product requests. Do not change * command history or close browser window for "update obs". - * + * 04Sep2013 2176 jsanchez Changed the order of the QC check dialogs. * * * @author lvenable @@ -2952,20 +2951,23 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, * The font size sub menu. */ private void createFontSizeSubMenu(Menu fontSizeSubMenu) { - - FontSizeCfg fontSizeCfg = TextEditorCfg.getTextEditorCfg().getFontSizeCfg(); - SizeButtonCfg seldFontBtn = TextEditorCfg.getTextEditorCfg().getSelectedFontButton(); - + + FontSizeCfg fontSizeCfg = TextEditorCfg.getTextEditorCfg() + .getFontSizeCfg(); + SizeButtonCfg seldFontBtn = TextEditorCfg.getTextEditorCfg() + .getSelectedFontButton(); + for (SizeButtonCfg buttonCfg : fontSizeCfg.getButtons()) { MenuItem item = new MenuItem(fontSizeSubMenu, SWT.RADIO); item.setText(buttonCfg.getLabelName()); - item.setSelection( false ); + item.setSelection(false); item.setData(buttonCfg); - + // if this button is the initial selection. - if( seldFontBtn.getLabelName().equals( buttonCfg.getLabelName() ) ) { + if (seldFontBtn.getLabelName().equals(buttonCfg.getLabelName())) { item.setSelection(true); - setDefaultFont( seldFontBtn.getFontSize(), seldFontBtn.getFontName() ); + setDefaultFont(seldFontBtn.getFontSize(), + seldFontBtn.getFontName()); } item.addSelectionListener(new SelectionAdapter() { @@ -2973,10 +2975,12 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, public void widgetSelected(SelectionEvent event) { MenuItem item = (MenuItem) event.getSource(); if (item.getSelection()) { - int selectFontSize = ( (SizeButtonCfg) item.getData()).getFontSize(); - String seldFontName = ((SizeButtonCfg) item.getData()).getFontName(); - - setDefaultFont( selectFontSize, seldFontName ); + int selectFontSize = ((SizeButtonCfg) item.getData()) + .getFontSize(); + String seldFontName = ((SizeButtonCfg) item.getData()) + .getFontName(); + + setDefaultFont(selectFontSize, seldFontName); textEditor.setFont(dftFont); headerTF.setFont(dftFont); @@ -2987,8 +2991,8 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, } - public void setDefaultFont( int fontSize, String fontName ) { - dftFont = new Font( getDisplay(), fontName, fontSize, SWT.NORMAL); + public void setDefaultFont(int fontSize, String fontName) { + dftFont = new Font(getDisplay(), fontName, fontSize, SWT.NORMAL); } /** @@ -3723,7 +3727,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); textEditorComp = new Composite(shell, SWT.NONE); GridLayout gridLayout = new GridLayout(1, false); -// TextColorsCfg textColorCfg = null; + // TextColorsCfg textColorCfg = null; textEditorComp.setLayout(gridLayout); textEditorComp.setLayoutData(gd); @@ -3745,8 +3749,8 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, airportToolTip = new DefaultToolTip(textEditor, SWT.DEFAULT, true); textEditor.setKeyBinding(SWT.INSERT, SWT.NULL); // DR 7826 -// textColorCfg = getTextColorCfg(); - setDefaultTextColor( TextEditorCfg.getTextEditorCfg() ); + // textColorCfg = getTextColorCfg(); + setDefaultTextColor(TextEditorCfg.getTextEditorCfg()); textEditor.setForeground(textForeground); textEditor.setBackground(textBackground); @@ -3948,42 +3952,46 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, }); } -// private TextColorsCfg getTextColorCfg() { -// TextColorsCfg textColorsCfg = TextEditorCfg.getTextEditorCfg().getTextColorsCfg(); -// -// // Perform Sanity Checks on configuration. -// StringBuilder message = new StringBuilder(); -// -// for (TextColorElement textElm : textColorsCfg.getTextColorElements()) { -// String prmtName = textElm.getParamName(); -// if (prmtName == null) { -// message.append("Item \"paramName\" problem!\n"); -// -// } -// -// if( textElm.getColor() == null ) { -// message.append("Item \"color\" data enter problem!\n"); -// } -// -// if (message.length() > 0) { -// message.insert(0, "TextColorsCfg broblem(s): "); -// IUFStatusHandler statusHandler = UFStatus -// .getHandler(TextEditorDialog.class); -// statusHandler.handle(Priority.PROBLEM, message.toString()); -// } -// -// } -// -// return textColorsCfg; -// } + // private TextColorsCfg getTextColorCfg() { + // TextColorsCfg textColorsCfg = + // TextEditorCfg.getTextEditorCfg().getTextColorsCfg(); + // + // // Perform Sanity Checks on configuration. + // StringBuilder message = new StringBuilder(); + // + // for (TextColorElement textElm : textColorsCfg.getTextColorElements()) { + // String prmtName = textElm.getParamName(); + // if (prmtName == null) { + // message.append("Item \"paramName\" problem!\n"); + // + // } + // + // if( textElm.getColor() == null ) { + // message.append("Item \"color\" data enter problem!\n"); + // } + // + // if (message.length() > 0) { + // message.insert(0, "TextColorsCfg broblem(s): "); + // IUFStatusHandler statusHandler = UFStatus + // .getHandler(TextEditorDialog.class); + // statusHandler.handle(Priority.PROBLEM, message.toString()); + // } + // + // } + // + // return textColorsCfg; + // } - - private void setDefaultTextColor(TextEditorCfg txtClrCfg ) { - - textBackground = new Color( shell.getDisplay(), txtClrCfg.getTextBackgroundColor() ); - textForeground = new Color(shell.getDisplay(), txtClrCfg.getTextForegroundColor() ); - highlightBackground = new Color(shell.getDisplay(), txtClrCfg.getHighlightTextBackgroundColor() ); - highlightForeground = new Color(shell.getDisplay(), txtClrCfg.getHighlightTextForegroundColor() ); + private void setDefaultTextColor(TextEditorCfg txtClrCfg) { + + textBackground = new Color(shell.getDisplay(), + txtClrCfg.getTextBackgroundColor()); + textForeground = new Color(shell.getDisplay(), + txtClrCfg.getTextForegroundColor()); + highlightBackground = new Color(shell.getDisplay(), + txtClrCfg.getHighlightTextBackgroundColor()); + highlightForeground = new Color(shell.getDisplay(), + txtClrCfg.getHighlightTextForegroundColor()); } /** @@ -4858,14 +4866,14 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, @Override public void dialogClosed(Object returnValue) { if (Boolean.TRUE.equals(returnValue)) { - checkEmergencyProduct(resend); + finishSendProduct(resend); } } }); wgcd.open(); } else { - checkEmergencyProduct(resend); + finishSendProduct(resend); } } else { finishSendProduct(resend); @@ -4915,7 +4923,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, @Override public void dialogClosed(Object returnValue) { if (Boolean.TRUE.equals(returnValue)) { - warngenCloseCallback(resend); + checkEmergencyProduct(resend); } } }); @@ -4943,14 +4951,14 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, @Override public void dialogClosed(Object returnValue) { if (Boolean.TRUE.equals(returnValue)) { - finishSendProduct(resend); + warngenCloseCallback(resend); } } }); wgcd.open(); } else { - finishSendProduct(resend); + warngenCloseCallback(resend); } } @@ -5903,7 +5911,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, return; } - if (! isObsUpdated) { + if (!isObsUpdated) { if (browser != null) { browser.close(); browser = null; @@ -6097,7 +6105,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener, private void postExecute(boolean hasAttachment, boolean enterEditor, boolean validExecuteCommand, String attachedFilename) { if (!this.isDisposed()) { - if (! productQueryJob.isExpectingRequests()) { + if (!productQueryJob.isExpectingRequests()) { if (hasAttachment) { statusBarLabel.setText("Attachment: " + attachedFilename); } else { diff --git a/cave/com.raytheon.viz.volumebrowser/localization/volumebrowser/VbSources.xml b/cave/com.raytheon.viz.volumebrowser/localization/volumebrowser/VbSources.xml index dbd226f9bf..b4db8bdd7a 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/volumebrowser/VbSources.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/volumebrowser/VbSources.xml @@ -80,6 +80,7 @@ + diff --git a/cave/com.raytheon.viz.warngen/plugin.xml b/cave/com.raytheon.viz.warngen/plugin.xml index 22ea540c16..c64627dc7c 100644 --- a/cave/com.raytheon.viz.warngen/plugin.xml +++ b/cave/com.raytheon.viz.warngen/plugin.xml @@ -48,7 +48,7 @@ + locationURI="toolbar:org.eclipse.ui.main.toolbar?after=d2d-3"> * @@ -58,6 +59,7 @@ import com.raytheon.viz.texteditor.util.SiteAbbreviationUtil; * 01Jun2010 2187 cjeanbap Added operational mode functionality * 02Aug2010 2187 cjeanbap Update variable/method signature to be consistent. * 04Oct2010 7193 cjeanbap Add time-to-live value to MessageProducer. + * Sep 13, 2013 2368 rjpeter Set delivery mode to PERSISTENT. * * * @author mschenke @@ -65,209 +67,208 @@ import com.raytheon.viz.texteditor.util.SiteAbbreviationUtil; */ public class WarningSender implements IWarngenObserver { - private static final transient IUFStatusHandler statusHandler = UFStatus - .getHandler(WarningSender.class); + private static final transient IUFStatusHandler statusHandler = UFStatus + .getHandler(WarningSender.class); - private String hostName = null; + private final String hostName = null; - private boolean notifyError; + private boolean notifyError; - private static final long MILLISECONDS_PER_SECOND = 1000; + private static final long MILLISECONDS_PER_SECOND = 1000; - private static final long SECONDS_PER_MINUTE = 60; + private static final long SECONDS_PER_MINUTE = 60; - private static final long TTL_MINUTES = 5; + private static final long TTL_MINUTES = 5; - private static Pattern PATTERN = Pattern.compile("(\\d{1,1})"); + private static Pattern PATTERN = Pattern.compile("(\\d{1,1})"); - private static final SimpleDateFormat sdf; + private static final SimpleDateFormat sdf; - static { - sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - sdf.setTimeZone(TimeZone.getTimeZone("GMT")); - } + static { + sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + sdf.setTimeZone(TimeZone.getTimeZone("GMT")); + } - /* - * (non-Javadoc) Incoming message was not a binary - * - * @see - * com.raytheon.viz.texteditor.msgs.IWarngenObserver#setTextWarngenDisplay - * (java.lang.String) - */ - @Override - public void setTextWarngenDisplay(String warning, boolean ne) { - this.notifyError = ne; + /* + * (non-Javadoc) Incoming message was not a binary + * + * @see + * com.raytheon.viz.texteditor.msgs.IWarngenObserver#setTextWarngenDisplay + * (java.lang.String) + */ + @Override + public void setTextWarngenDisplay(String warning, boolean ne) { + this.notifyError = ne; - String number = "0"; - String host = TextWorkstationConstants.getId(); - long t0 = System.currentTimeMillis(); - String siteNode = SiteAbbreviationUtil.getSiteNode(LocalizationManager - .getInstance().getCurrentSite()); - System.out.println("Get site node time: " - + (System.currentTimeMillis() - t0)); - if (host == null) { - statusHandler.handle(Priority.ERROR, - "Text Workstation host not set in preferences."); - } else { - Matcher m = PATTERN.matcher(host); - if (m.find()) { - number = m.group(); - } - } + String number = "0"; + String host = TextWorkstationConstants.getId(); + long t0 = System.currentTimeMillis(); + String siteNode = SiteAbbreviationUtil.getSiteNode(LocalizationManager + .getInstance().getCurrentSite()); + statusHandler.debug("Get site node time: " + + (System.currentTimeMillis() - t0)); + if (host == null) { + statusHandler.handle(Priority.ERROR, + "Text Workstation host not set in preferences."); + } else { + Matcher m = PATTERN.matcher(host); + if (m.find()) { + number = m.group(); + } + } - String id = siteNode + "WRKWG" + number; - boolean sentToTextDatabase = false; + String id = siteNode + "WRKWG" + number; + boolean sentToTextDatabase = false; - try { - boolean messageNotSent = true; - int connectCount = 0; - t0 = System.currentTimeMillis(); - byte[] data = SerializationUtil.transformToThrift(id + ":" - + warning); - while (messageNotSent && connectCount < 4) { - Session s = null; - MessageProducer mp = null; - Connection conn = null; - try { - conn = JMSConnection.getInstance().getFactory() - .createConnection(); - s = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE); - mp = s.createProducer(s - .createQueue(TextWorkstationConstants - .getDestinationTextWorkstationQueueName())); - mp.setTimeToLive(TTL_MINUTES * SECONDS_PER_MINUTE - * MILLISECONDS_PER_SECOND); - BytesMessage m = s.createBytesMessage(); - m.writeBytes(data); - mp.send(m); - long t1 = System.currentTimeMillis(); - System.out.println(WarningSender.getCurTimeString() + ": " - + id + " sent to text workstation in " + (t1 - t0) - + "ms in " + (connectCount + 1) - + (connectCount > 0 ? " tries" : " try")); - messageNotSent = false; - } catch (JMSException e) { - if (notifyError) { - statusHandler - .handle(Priority.PROBLEM, - "Error trying to send product [" - + id - + "] to Text Workstation. Attempting to reconnect. ", - e); - notifyError = false; - } - } finally { - if (mp != null) { - try { - mp.close(); - mp = null; - } catch (Exception e) { - mp = null; - } - } - if (s != null) { - try { - s.close(); - s = null; - } catch (Exception e) { - s = null; - } - } - if (conn != null) { - try { - conn.close(); - conn = null; - } catch (Exception e) { - conn = null; - } - } - } - if (messageNotSent) { - if (!sentToTextDatabase) { - try { - sendToTextDatabase(id, warning); - sentToTextDatabase = true; - } catch (Exception e) { - statusHandler.handle(Priority.PROBLEM, - "Error trying to save product [" + id - + "] to Text Database: ", e); - } - } + try { + boolean messageNotSent = true; + int connectCount = 0; + t0 = System.currentTimeMillis(); + byte[] data = SerializationUtil.transformToThrift(id + ":" + + warning); + while (messageNotSent && (connectCount < 4)) { + Session s = null; + MessageProducer mp = null; + Connection conn = null; + try { + conn = JMSConnection.getInstance().getFactory() + .createConnection(); + s = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE); + mp = s.createProducer(s + .createQueue(TextWorkstationConstants + .getDestinationTextWorkstationQueueName())); + mp.setTimeToLive(TTL_MINUTES * SECONDS_PER_MINUTE + * MILLISECONDS_PER_SECOND); + BytesMessage m = s.createBytesMessage(); + m.writeBytes(data); + m.setJMSDeliveryMode(DeliveryMode.PERSISTENT); + mp.send(m); + long t1 = System.currentTimeMillis(); + statusHandler.debug(id + " sent to text workstation in " + + (t1 - t0) + "ms in " + (connectCount + 1) + + (connectCount > 0 ? " tries" : " try")); + messageNotSent = false; + } catch (JMSException e) { + if (notifyError) { + statusHandler + .handle(Priority.PROBLEM, + "Error trying to send product [" + + id + + "] to Text Workstation. Attempting to reconnect. ", + e); + notifyError = false; + } + } finally { + if (mp != null) { + try { + mp.close(); + mp = null; + } catch (Exception e) { + mp = null; + } + } + if (s != null) { + try { + s.close(); + s = null; + } catch (Exception e) { + s = null; + } + } + if (conn != null) { + try { + conn.close(); + conn = null; + } catch (Exception e) { + conn = null; + } + } + } + if (messageNotSent) { + if (!sentToTextDatabase) { + try { + sendToTextDatabase(id, warning); + sentToTextDatabase = true; + } catch (Exception e) { + statusHandler.handle(Priority.PROBLEM, + "Error trying to save product [" + id + + "] to Text Database: ", e); + } + } - connectCount++; - switch (connectCount) { - case 1: - Thread.sleep(1000); - break; - case 2: - Thread.sleep(5 * 1000); - break; - case 3: - Thread.sleep(30 * 1000); - break; - case 4: - statusHandler.handle(Priority.PROBLEM, - "Could not reconnect (" + id - + ") after 3 tries: "); - break; - } - } - } + connectCount++; + switch (connectCount) { + case 1: + Thread.sleep(1000); + break; + case 2: + Thread.sleep(5 * 1000); + break; + case 3: + Thread.sleep(30 * 1000); + break; + case 4: + statusHandler.handle(Priority.PROBLEM, + "Could not reconnect (" + id + + ") after 3 tries: "); + break; + } + } + } - if (!sentToTextDatabase) { - try { - sendToTextDatabase(id, warning); - sentToTextDatabase = true; - } catch (Exception e) { - statusHandler.handle(Priority.PROBLEM, - "Error trying to save product [" + id - + "] to Text Database: ", e); - } - } - } catch (UnknownHostException uhe) { - if (notifyError) { - statusHandler.handle(Priority.PROBLEM, - "unable to map hostname, " + hostName - + ", to an ip address", uhe); - notifyError = false; - } + if (!sentToTextDatabase) { + try { + sendToTextDatabase(id, warning); + sentToTextDatabase = true; + } catch (Exception e) { + statusHandler.handle(Priority.PROBLEM, + "Error trying to save product [" + id + + "] to Text Database: ", e); + } + } + } catch (UnknownHostException uhe) { + if (notifyError) { + statusHandler.handle(Priority.PROBLEM, + "unable to map hostname, " + hostName + + ", to an ip address", uhe); + notifyError = false; + } - } catch (Exception e) { - statusHandler.handle(Priority.PROBLEM, - "Error trying to send product [" + id - + "] to Text Workstation: ", e); - } + } catch (Exception e) { + statusHandler.handle(Priority.PROBLEM, + "Error trying to send product [" + id + + "] to Text Workstation: ", e); + } - } + } - /** - * Saves a product to the text database. - * - * @param id - * @param warning - * @throws VizException - */ - public static void sendToTextDatabase(String id, String warning) - throws VizException { - CAVEMode mode = CAVEMode.getMode(); - boolean operationalMode = (CAVEMode.OPERATIONAL.equals(mode) - || CAVEMode.TEST.equals(mode) ? true : false); + /** + * Saves a product to the text database. + * + * @param id + * @param warning + * @throws VizException + */ + public static void sendToTextDatabase(String id, String warning) + throws VizException { + CAVEMode mode = CAVEMode.getMode(); + boolean operationalMode = (CAVEMode.OPERATIONAL.equals(mode) + || CAVEMode.TEST.equals(mode) ? true : false); - // Generate StdTextProduct and insert into db - long t0 = System.currentTimeMillis(); - ThriftClient.sendRequest(new InsertStdTextProductRequest(id, warning, - operationalMode)); + // Generate StdTextProduct and insert into db + long t0 = System.currentTimeMillis(); + ThriftClient.sendRequest(new InsertStdTextProductRequest(id, warning, + operationalMode)); - System.out.println(WarningSender.getCurTimeString() + ": " + id - + " saved to textdb in " + (System.currentTimeMillis() - t0) - + "ms"); - } + statusHandler.debug(id + " saved to textdb in " + + (System.currentTimeMillis() - t0) + "ms"); + } - public static String getCurTimeString() { - String rval = null; - synchronized (sdf) { - rval = sdf.format(new Date()); - } - return rval; - } + public static String getCurTimeString() { + String rval = null; + synchronized (sdf) { + rval = sdf.format(new Date()); + } + return rval; + } } diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/config/DbAreaSourceDataAdaptor.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/config/DbAreaSourceDataAdaptor.java index 3e9e82b24f..f9a16efd4c 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/config/DbAreaSourceDataAdaptor.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/config/DbAreaSourceDataAdaptor.java @@ -40,6 +40,7 @@ import com.vividsolutions.jts.geom.prep.PreparedGeometryFactory; * Mar 25, 2013 1605 jsanchez Set ClosestPoint's prepGeom. * Apr 24, 2013 1944 jsanchez Updated calculateLocationPortion visibility to public. * May 2, 2013 1963 jsanchez Referenced calculatePortion from GisUtil if intersection less than DEFAULT_PORTION_TOLERANCE. + * Sep 13, 2013 DR 16601 D. Friedman Fix from jsanchez: Allow cities outside the CWA. * * * @@ -156,8 +157,6 @@ public class DbAreaSourceDataAdaptor extends AbstractDbSourceDataAdaptor { filter = new HashMap(); } - filter.put(cwaField, new RequestConstraint(localizedSite)); - return filter; } diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/CoverageConstants.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/CoverageConstants.java index f4bdae56b1..64789b2751 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/CoverageConstants.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/CoverageConstants.java @@ -29,6 +29,7 @@ package com.raytheon.viz.warngen.gis; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 5, 2013 2177 jsanchez Initial creation + * Sep 22, 2013 2177 jsanchez Updated EW_MASK. * * * @@ -156,7 +157,7 @@ public class CoverageConstants { EW_MASK[i] = XEAST | EAST; } else if (i < 106) { EW_MASK[i] = WEST; - } else if (i > 145) { + } else if (i > 148) { EW_MASK[i] = EAST; } else if (i < 118) { EW_MASK[i] = CENTRAL_EW | WEST; diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PolygonUtil.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PolygonUtil.java index 47d6210186..5672cb355e 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PolygonUtil.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PolygonUtil.java @@ -73,6 +73,7 @@ import com.vividsolutions.jts.geom.prep.PreparedGeometryFactory; * the call to removeIntersectedSeg() with a call to adjustVertex(); updated * removeDuplicateCoordinate(), computeCoordinate(), adjustPolygon() prolog, and * removeOverlaidLinesegments(); added alterVertexes() and calcShortestDistance(). + * 10/01/2013 DR 16632 Qinglu Lin Fixed the bug in for loop range. * * * @author mschenke @@ -1102,6 +1103,9 @@ public class PolygonUtil { if (verts == null) { return null; } + if (verts.length <= 3) + return verts; + Set coords = new LinkedHashSet(); for (Coordinate c : verts) coords.add(c); @@ -1300,7 +1304,7 @@ public class PolygonUtil { // of a straight line segment coords = new Coordinate[coords.length - 1]; if (i == m - 2) { - for (int j = 1; j < m - 2; j++) { + for (int j = 1; j <= m - 2; j++) { coords[j-1] = new Coordinate(expandedCoords[j]); } coords[coords.length-1] = new Coordinate(coords[0]); diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PortionsUtil.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PortionsUtil.java index a5188b95d6..c7f294da93 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PortionsUtil.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gis/PortionsUtil.java @@ -38,6 +38,7 @@ import com.vividsolutions.jts.geom.Geometry; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 5, 2013 2177 jsanchez Initial creation + * Sep 22, 2013 2177 jsanchez Updated logic. Used GisUtil for very small portions. * * * @@ -47,425 +48,412 @@ import com.vividsolutions.jts.geom.Geometry; public class PortionsUtil { - private GridUtil gridUtil; + private GridUtil gridUtil; - public PortionsUtil(WarngenLayer layer) throws Exception { - gridUtil = new GridUtil(layer, layer.getLocalGridGeometry(), - layer.getlocalToLatLon()); - } + public PortionsUtil(WarngenLayer layer) throws Exception { + gridUtil = new GridUtil(layer, layer.getLocalGridGeometry(), + layer.getlocalToLatLon()); + } - /** - * Determines the the appropriate portion description for the warnedArea - * intersecting the countyOrZone. - * - * @param entityID - * @param countyOrZone - * @param warnedArea - * @param useExtreme - * @return - * @throws Exception - */ - public EnumSet getPortions(String entityID, - Geometry countyOrZone, Geometry warnedArea, boolean useExtreme) - throws Exception { - countyOrZone.getUserData(); - EntityData entityData = gridUtil.calculateGrids(countyOrZone, - warnedArea); - EnumSet portions = getAreaDesc(entityData.getMeanMask(), - entityData.getCoverageMask(), entityData.getOctants(), - useExtreme); - return suppressPortions(entityID, portions); - } + /** + * Determines the the appropriate portion description for the warnedArea + * intersecting the countyOrZone. + * + * @param entityID + * @param countyOrZone + * @param warnedArea + * @param useExtreme + * @return + * @throws Exception + */ + public EnumSet getPortions(String entityID, + Geometry countyOrZone, Geometry warnedArea, boolean useExtreme) + throws Exception { + countyOrZone.getUserData(); + EntityData entityData = gridUtil.calculateGrids(countyOrZone, + warnedArea); + EnumSet portions = null; + if (entityData.getMeanMask() == 0 || entityData.getCoverageMask() == 0 + || entityData.getMeanMask() == entityData.getCoverageMask()) { + // This takes into account the warned areas that are very small + // the convex hull of the warned area is used for case the + // warnedArea is a geometry collection. + portions = GisUtil.calculateLocationPortion(countyOrZone, + warnedArea.convexHull(), useExtreme); + } else { + portions = getAreaDesc(entityData.getMeanMask(), + entityData.getCoverageMask(), entityData.getOctants(), + useExtreme); + } + return suppressPortions(entityID, portions); + } - /** - * Looks up if the designated entity ID has an suppressed directions. For - * example, a county or zone may not need to include the north and sound - * direction description if it was included in the area.suppress file. - * - * @param entityID - * @param portions - * @return - */ - private EnumSet suppressPortions(String entityID, - EnumSet portions) { - Map> suppressedCounties = SuppressMap - .getInstance().getAreas(); - if (entityID != null && suppressedCounties != null - && !suppressedCounties.isEmpty()) { - List suppressedDirections = suppressedCounties - .get(entityID.toUpperCase()); - if (suppressedDirections != null && !suppressedDirections.isEmpty()) { - portions.removeAll(suppressedDirections); - } - } + /** + * Looks up if the designated entity ID has an suppressed directions. For + * example, a county or zone may not need to include the north and sound + * direction description if it was included in the area.suppress file. + * + * @param entityID + * @param portions + * @return + */ + private EnumSet suppressPortions(String entityID, + EnumSet portions) { + Map> suppressedCounties = SuppressMap + .getInstance().getAreas(); + if (entityID != null && suppressedCounties != null + && !suppressedCounties.isEmpty()) { + List suppressedDirections = suppressedCounties + .get(entityID.toUpperCase()); + if (suppressedDirections != null && !suppressedDirections.isEmpty()) { + portions.removeAll(suppressedDirections); + } + } - return portions; - } + return portions; + } - /** - * Port from A1 code of GeoEntityLookupTable::getAreaDesc. - * - * @param meanMask - * @param areaMask - * @param octants - * @param exYes - */ - private static EnumSet getAreaDesc(int meanMask, int areaMask, - int octants, boolean exYes) { - EnumSet portions = EnumSet.noneOf(Direction.class); + /** + * Port from A1 code of GeoEntityLookupTable::getAreaDesc. + * + * @param meanMask + * @param areaMask + * @param octants + * @param exYes + */ + private static EnumSet getAreaDesc(int meanMask, int areaMask, + int octants, boolean exYes) { + EnumSet portions = EnumSet.noneOf(Direction.class); - // Test for case where we cannot do portions - if (meanMask == 0 || areaMask == 0) { - return portions; - } + // Test for case where we cannot do portions + if (meanMask == 0 || areaMask == 0) { + return portions; + } - // The next block of code is the original port of A1 code but prevented - // producing the correct result: - // Test for case where area is completely within one subsection. - // if (meanMask == areaMask) { - // return getPointDesc(meanMask, exYes); - // } + // The next block of code is the original port of A1 code but prevented + // producing the correct result: + // Test for case where area is completely within one subsection. + // if (meanMask == areaMask) { + // return getPointDesc(meanMask, exYes); + // } - // Test for central by not being near adjacent borders. - if (octants == 0 - || ((octants & CoverageConstants.EXTREME_YES) == 0) - && (meanMask & CoverageConstants.CENTER) == CoverageConstants.CENTER) { - portions.add(Direction.CENTRAL); - return portions; - } + // Test for central by not being near adjacent borders. + // Another possible case of a stripe across the middle. + if (octants == 0 + || ((octants & CoverageConstants.EXTREME_YES) == 0) + && (meanMask & CoverageConstants.CENTER) == CoverageConstants.CENTER) { + portions.add(Direction.CENTRAL); + return portions; + } - if ((octants & 0xFFFF) == 0xFFFF) { - return portions; - } + if ((octants & 0xFFFF) == 0xFFFF) { + return portions; + } - // Identify quadrants in use, q is typical, qq is diagonal. - int xoctant = octants >> 8; - int xxoctant = octants >> 16; - int nn, ss, ee, ww, ne, nw, se, sw; - nn = ss = ee = ww = ne = nw = se = sw = 0; - int omerge = xxoctant | xoctant | octants; - if ((omerge & (CoverageConstants.NNE | CoverageConstants.ENE)) > 0) { - ne = 1; - } - if ((omerge & (CoverageConstants.SSE | CoverageConstants.ESE)) > 0) { - se = 1; - } - if ((omerge & (CoverageConstants.NNW | CoverageConstants.WNW)) > 0) { - nw = 1; - } - if ((omerge & (CoverageConstants.SSW | CoverageConstants.WSW)) > 0) { - sw = 1; - } - if ((omerge & (CoverageConstants.NNE | CoverageConstants.NNW)) > 0) { - nn = 1; - } - if ((omerge & (CoverageConstants.SSE | CoverageConstants.SSW)) > 0) { - ss = 1; - } - if ((omerge & (CoverageConstants.WNW | CoverageConstants.WSW)) > 0) { - ww = 1; - } - if ((omerge & (CoverageConstants.ENE | CoverageConstants.ESE)) > 0) { - ee = 1; - } - if ((areaMask & CoverageConstants.NORTH_SOUTH) == 0) { - nn = ss = ne = nw = se = sw = 0; - } - if ((areaMask & CoverageConstants.EAST_WEST) == 0) { - ee = ww = ne = nw = se = sw = 0; - } - int q = ne + nw + se + sw; - int qq = nn + ss + ee + ww; + // Identify quadrants in use, q is typical, qq is diagonal. + int xoctant = octants >> 8; + int xxoctant = octants >> 16; + int nn, ss, ee, ww, ne, nw, se, sw; + nn = ss = ee = ww = ne = nw = se = sw = 0; + int omerge = xxoctant | xoctant | octants; + if ((omerge & (CoverageConstants.NNE | CoverageConstants.ENE)) != 0) { + ne = 1; + } + if ((omerge & (CoverageConstants.SSE | CoverageConstants.ESE)) != 0) { + se = 1; + } + if ((omerge & (CoverageConstants.NNW | CoverageConstants.WNW)) != 0) { + nw = 1; + } + if ((omerge & (CoverageConstants.SSW | CoverageConstants.WSW)) != 0) { + sw = 1; + } + if ((omerge & (CoverageConstants.NNE | CoverageConstants.NNW)) != 0) { + nn = 1; + } + if ((omerge & (CoverageConstants.SSE | CoverageConstants.SSW)) != 0) { + ss = 1; + } + if ((omerge & (CoverageConstants.WNW | CoverageConstants.WSW)) != 0) { + ww = 1; + } + if ((omerge & (CoverageConstants.ENE | CoverageConstants.ESE)) != 0) { + ee = 1; + } + if ((areaMask & CoverageConstants.NORTH_SOUTH) == 0) { + nn = ss = ne = nw = se = sw = 0; + } + if ((areaMask & CoverageConstants.EAST_WEST) == 0) { + ee = ww = ne = nw = se = sw = 0; + } + int q = ne + nw + se + sw; + int qq = nn + ss + ee + ww; - // Identify extremes in use. - int nnx, ssx, eex, wwx; - nnx = ssx = eex = wwx = 0; - if ((areaMask & CoverageConstants.XNORTH) > 0) { - nnx = 1; - } - if ((areaMask & CoverageConstants.XSOUTH) > 0) { - ssx = 1; - } - if ((areaMask & CoverageConstants.XWEST) > 0) { - wwx = 1; - } - if ((areaMask & CoverageConstants.XEAST) > 0) { - eex = 1; - } - int xxx = nnx + ssx + eex + wwx; + // Identify extremes in use. + int nnx, ssx, eex, wwx; + nnx = ssx = eex = wwx = 0; + if ((areaMask & CoverageConstants.XNORTH) != 0) { + nnx = 1; + } + if ((areaMask & CoverageConstants.XSOUTH) != 0) { + ssx = 1; + } + if ((areaMask & CoverageConstants.XWEST) != 0) { + wwx = 1; + } + if ((areaMask & CoverageConstants.XEAST) != 0) { + eex = 1; + } + int xxx = nnx + ssx + eex + wwx; - // Modify masks based on whether we can use extreme. - if ((octants & CoverageConstants.EXTREME_NO) > 0 - && (areaMask & CoverageConstants.EXTREME) > 0) { - areaMask &= CoverageConstants.NOT_EXTREME; - meanMask &= CoverageConstants.NOT_EXTREME; - } + // Modify masks based on whether we can use extreme. + if ((octants & CoverageConstants.EXTREME_NO) != 0 + && (areaMask & CoverageConstants.EXTREME) != 0) { + areaMask &= CoverageConstants.NOT_EXTREME; + meanMask &= CoverageConstants.NOT_EXTREME; + } - // Possible case of a stripe across the middle - if (q == 0) { - ;// Only one direction encoded - } else if (q == 2 && nw == se || q == 2 && ne == sw || qq == 2 - && nn == ss || qq == 2 && ee == ww) { - if ((meanMask & CoverageConstants.CENTRAL) == CoverageConstants.CENTRAL - || nnx == ssx && wwx == eex) { - portions.add(Direction.CENTRAL); - return portions; - } - return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); - } + // Possible case of a stripe across the middle + if (q == 0) { + ;// Only one direction encoded + } else if (q == 2 && nw == se || q == 2 && ne == sw || qq == 2 + && nn == ss || qq == 2 && ee == ww) { + if ((meanMask & CoverageConstants.CENTRAL) == CoverageConstants.CENTRAL + || nnx == ssx && wwx == eex) { + portions.add(Direction.CENTRAL); + return portions; + } + return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); + } - // Modify masks based on whether we can use central. - if (xxx > 2 || nnx != ssx && wwx != eex) { - areaMask &= CoverageConstants.NOT_CENTRAL; - meanMask &= CoverageConstants.NOT_CENTRAL; - } + // Modify masks based on whether we can use central. + if (xxx > 2 || nnx != ssx && wwx != eex) { + areaMask &= CoverageConstants.NOT_CENTRAL; + meanMask &= CoverageConstants.NOT_CENTRAL; + } - // Another possible case of a stripe across the middle. - if (q == 4 && (meanMask & CoverageConstants.CENTER) > 0) { - portions.add(Direction.CENTRAL); - return portions; - } + // All quadrants in use. + if (q == 4 && qq == 4) { + return EnumSet.noneOf(Direction.class); + } - // All quadrants in use. - if (q == 4 && qq == 4) { - return EnumSet.noneOf(Direction.class); - } + // Only one typical quadrant in use. + if (q == 1) { + return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); + } - // Only one typical quadrant in use. - if (q == 1) { - // if (ne == 1) { - // portions.add(Direction.NORTH); - // portions.add(Direction.EAST); - // } else if (nw == 1) { - // portions.add(Direction.NORTH); - // portions.add(Direction.WEST); - // } else if (se == 1) { - // portions.add(Direction.SOUTH); - // portions.add(Direction.EAST); - // } else if (sw == 1) { - // portions.add(Direction.SOUTH); - // portions.add(Direction.WEST); - // } - // return portions; - return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); - } + // Further modify masks based on whether we can use central. + if (xxx >= 2) { + areaMask &= CoverageConstants.NOT_CENTRAL; + meanMask &= CoverageConstants.NOT_CENTRAL; + } - // Further modify masks based on whether we can use central. - if (xxx >= 2) { - areaMask &= CoverageConstants.NOT_CENTRAL; - meanMask &= CoverageConstants.NOT_CENTRAL; - } + // No more than two quadrants of any kind in use, or all quadrants. + if (q < 3 && qq < 3) { + if (nnx != ssx && wwx != eex + || (meanMask & CoverageConstants.CENTRAL) != 0) { + return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); - // No more than two quadrants of any kind in use, or all quadrants. - if (q < 3 && qq < 3) { - if (nnx != ssx && wwx != eex - || (meanMask & CoverageConstants.CENTRAL) > 0) { - return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); + } else { + return getPointDesc2(areaMask, exYes, nn, ss, ee, ww); + } + } - } else { - return getPointDesc2(areaMask, exYes, nn, ss, ee, ww); - } - } + // Three typical quadrants in use. + if (q == 3 && qq != 3) { - // Three typical quadrants in use. - if (q == 3 && qq != 3) { + if (ne == 0) { + // The next line is the original port of A1 code but prevented + // producing the correct result: + // if (ne == 0 && (xxoctant & (SSW | WSW)) != 0) { + portions.add(Direction.SOUTH); + portions.add(Direction.WEST); - if (ne == 0) { - // The next line is the original port of A1 code but prevented - // producing the correct result: - // if (ne == 0 && (xxoctant & (SSW | WSW)) > 0) { - portions.add(Direction.SOUTH); - portions.add(Direction.WEST); + } else if (se == 0) { + // The next line is the original port of A1 code but prevented + // producing the correct result: + // } else if (se == 0 && (xxoctant & (NNW | WNW)) != 0) { + portions.add(Direction.NORTH); + portions.add(Direction.WEST); - } else if (se == 0) { - // The next line is the original port of A1 code but prevented - // producing the correct result: - // } else if (se == 0 && (xxoctant & (NNW | WNW)) > 0) { - portions.add(Direction.NORTH); - portions.add(Direction.WEST); + } else if (nw == 0) { + // The next line is the original port of A1 code but prevented + // producing the correct result: + // } else if (nw == 0 && (xxoctant & (SSE | ESE)) != 0) { + portions.add(Direction.SOUTH); + portions.add(Direction.EAST); - } else if (nw == 0) { - // The next line is the original port of A1 code but prevented - // producing the correct result: - // } else if (nw == 0 && (xxoctant & (SSE | ESE)) > 0) { - portions.add(Direction.SOUTH); - portions.add(Direction.EAST); + } else if (sw == 0) { + // The next line is the original port of A1 code but prevented + // producing the correct result: + // } else if (sw == 0 && (xxoctant & (NNE | ENE)) != 0) { + portions.add(Direction.NORTH); + portions.add(Direction.EAST); + } + // The next line is the original port of A1 code but prevented + // producing the correct result: + // return getPointDesc(meanMask, exYes); + } - } else if (sw == 0) { - // The next line is the original port of A1 code but prevented - // producing the correct result: - // } else if (sw == 0 && (xxoctant & (NNE | ENE)) > 0) { - portions.add(Direction.NORTH); - portions.add(Direction.EAST); - } - // The next line is the original port of A1 code but prevented - // producing the correct result: - // return getPointDesc(meanMask, exYes); - } + // Three diagonal quadrants in use. + if (qq == 3 && portions.isEmpty()) { + if (nn == 0) { + portions.add(Direction.SOUTH); + } else if (ss == 0) { + portions.add(Direction.NORTH); + } else if (ww == 0) { + portions.add(Direction.EAST); + } else if (ee == 0) { + portions.add(Direction.WEST); + } + } - // Three diagonal quadrants in use. - if (qq == 3 && portions.isEmpty()) { - if (nn == 0) { - portions.add(Direction.SOUTH); - } else if (ss == 0) { - portions.add(Direction.NORTH); - } else if (ww == 0) { - portions.add(Direction.EAST); - } else if (ee == 0) { - portions.add(Direction.WEST); - } - } + // add extreme for three quadrant case. + if (!portions.isEmpty()) { + if (exYes && ((areaMask & CoverageConstants.EXTREME)) != 0) { + portions.add(Direction.EXTREME); + } + return portions; + } - // add extreme for three quadrant case. - if (!portions.isEmpty()) { - if (exYes && ((areaMask & CoverageConstants.EXTREME)) > 0) { - portions.add(Direction.EXTREME); - } - return portions; - } + // All of either type of quadrant in use. + if (q == 4 || qq == 4) { + return EnumSet.noneOf(Direction.class); + } - // All of either type of quadrant in use. - if (q == 4 || qq == 4) { - return EnumSet.noneOf(Direction.class); - } + // Case of a pure simple direction. + nn = areaMask & CoverageConstants.NORTHERN; + ss = areaMask & CoverageConstants.SOUTHERN; + ee = areaMask & CoverageConstants.EASTERN; + ww = areaMask & CoverageConstants.WESTERN; + if (ss != 0 && nn != 0 || q == 0) { + if (ee == 0 && ww != 0) { + portions.add(Direction.WEST); + } + if (ww == 0 && ee != 0) { + portions.add(Direction.EAST); + } + } else if (ee != 0 && ww != 0 || q == 0) { + if (nn == 0 && ss != 0) { + portions.add(Direction.SOUTH); + } + if (ss == 0 && nn != 0) { + portions.add(Direction.NORTH); + } + } - // Case of a pure simple direction. - nn = areaMask & CoverageConstants.NORTHERN; - ss = areaMask & CoverageConstants.SOUTHERN; - ee = areaMask & CoverageConstants.EASTERN; - ww = areaMask & CoverageConstants.WESTERN; - if (ss > 0 && nn > 0 || q == 0) { - if (ee == 0 && ww > 0) { - portions.add(Direction.WEST); - } - if (ww == 0 && ee > 0) { - portions.add(Direction.EAST); - } - } else if (ee > 0 && ww > 0 || q == 0) { - if (nn == 0 && ss > 0) { - portions.add(Direction.SOUTH); - } - if (ss == 0 && nn > 0) { - portions.add(Direction.NORTH); - } - } + // add extreme for simple direction case. + if (!portions.isEmpty()) { + if (exYes && ((areaMask & CoverageConstants.EXTREME)) != 0) { + portions.add(Direction.EXTREME); + } + return portions; + } - // add extreme for simple direction case. - if (!portions.isEmpty()) { - if (exYes && ((areaMask & CoverageConstants.EXTREME)) > 0) { - portions.add(Direction.EXTREME); - } - return portions; - } + // Catch with the point descriptor one last time + return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); + } - // Catch with the point descriptor one last time - return getPointDesc2(meanMask, exYes, nn, ss, ee, ww); - } + /** + * Port from A1 code of GeoEntityLookupTable::getPointDesc. + * + * @param mask + * @param exYes + * @return + */ + private static EnumSet getPointDesc(int mask, boolean exYes) { + EnumSet portions = EnumSet.noneOf(Direction.class); - /** - * Port from A1 code of GeoEntityLookupTable::getPointDesc. - * - * @param mask - * @param exYes - * @return - */ - private static EnumSet getPointDesc(int mask, boolean exYes) { - EnumSet portions = EnumSet.noneOf(Direction.class); + int cc = mask & CoverageConstants.CENTRAL; + if (cc == CoverageConstants.CENTRAL) { + portions.add(Direction.CENTRAL); + return portions; + } - if (mask == 0) { - return portions; - } + if ((mask & CoverageConstants.NORTH_SOUTH) == 0) { + ; + } else if ((mask & CoverageConstants.SOUTHERN) == (mask & CoverageConstants.NORTH_SOUTH)) { + portions.add(Direction.SOUTH); + } else if ((mask & CoverageConstants.NORTHERN) == (mask & CoverageConstants.NORTH_SOUTH)) { + portions.add(Direction.NORTH); + } - int cc = mask & CoverageConstants.CENTRAL; - if (cc == CoverageConstants.CENTRAL) { - portions.add(Direction.CENTRAL); - return portions; - } + if ((mask & CoverageConstants.EAST_WEST) == 0) { + ; + } else if ((mask & CoverageConstants.WESTERN) == (mask & CoverageConstants.EAST_WEST)) { + portions.add(Direction.WEST); + } else if ((mask & CoverageConstants.EASTERN) == (mask & CoverageConstants.EAST_WEST)) { + portions.add(Direction.EAST); + } - if ((mask & CoverageConstants.NORTH_SOUTH) == 0) { - ; - } else if ((mask & CoverageConstants.SOUTHERN) == (mask & CoverageConstants.NORTH_SOUTH)) { - portions.add(Direction.SOUTH); - } else if ((mask & CoverageConstants.NORTHERN) == (mask & CoverageConstants.NORTH_SOUTH)) { - portions.add(Direction.NORTH); - } + if (portions.isEmpty()) { + return portions; + } - if ((mask & CoverageConstants.EAST_WEST) == 0) { - ; - } else if ((mask & CoverageConstants.WESTERN) == (mask & CoverageConstants.EAST_WEST)) { - portions.add(Direction.WEST); - } else if ((mask & CoverageConstants.EASTERN) == (mask & CoverageConstants.EAST_WEST)) { - portions.add(Direction.EAST); - } + if (cc != 0) { + portions.add(Direction.CENTRAL); + } - if (portions.isEmpty()) { - return portions; - } + if (exYes && ((int) (mask & CoverageConstants.EXTREME) != 0)) { + portions.add(Direction.EXTREME); + } - if (cc != 0) { - portions.add(Direction.CENTRAL); - } + return portions; + } - if (exYes && ((int) (mask & CoverageConstants.EXTREME) > 0)) { - portions.add(Direction.EXTREME); - } + /** + * This method is not a direct port from A1. The original getPointDesc did + * not produce the expected results. This method is a modified version of + * getPointDesct that uses the calculated qq values instead of just the + * meanMask. + * + * @param mask + * @param exYes + * @return + */ + private static EnumSet getPointDesc2(int mask, boolean exYes, + int nn, int ss, int ee, int ww) { + EnumSet portions = EnumSet.noneOf(Direction.class); - return portions; - } + if (mask == 0) { + return portions; + } - /** - * This method is not a direct port from A1. The original getPointDesc did - * not produce the expected results. This method is a modified version of - * getPointDesct that uses the calculated qq values instead of just the - * meanMask. - * - * @param mask - * @param exYes - * @return - */ - private static EnumSet getPointDesc2(int mask, boolean exYes, - int nn, int ss, int ee, int ww) { - EnumSet portions = EnumSet.noneOf(Direction.class); + int counter = 0; + if (nn != 0 && ss != 0) { + ; + } else if (ss != 0) { + portions.add(Direction.SOUTH); + counter++; + } else if (nn != 0) { + portions.add(Direction.NORTH); + counter++; + } - if (mask == 0) { - return portions; - } + if (ee != 0 && ww != 0) { + ; + } else if (ww != 0) { + portions.add(Direction.WEST); + counter++; + } else if (ee != 0) { + portions.add(Direction.EAST); + counter++; + } - int counter = 0; - if (nn > 0 && ss > 0) { - ; - } else if (ss > 0) { - portions.add(Direction.SOUTH); - counter++; - } else if (nn > 0) { - portions.add(Direction.NORTH); - counter++; - } + if (portions.isEmpty()) { + return portions; + } - if (ee > 0 && ww > 0) { - ; - } else if (ww > 0) { - portions.add(Direction.WEST); - counter++; - } else if (ee > 0) { - portions.add(Direction.EAST); - counter++; - } + int cc = mask & CoverageConstants.CENTRAL; + boolean useCentral = counter < 2; + if (useCentral && cc != 0) { + portions.add(Direction.CENTRAL); + } - if (portions.isEmpty()) { - return portions; - } + if (exYes && ((int) (mask & CoverageConstants.EXTREME) != 0)) { + portions.add(Direction.EXTREME); + } - int cc = mask & CoverageConstants.CENTRAL; - boolean useCentral = counter < 2; - if (useCentral && cc != 0) { - portions.add(Direction.CENTRAL); - } - - if (exYes && ((int) (mask & CoverageConstants.EXTREME) > 0)) { - portions.add(Direction.EXTREME); - } - - return portions; - } + return portions; + } } diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java index 90abe1fc73..ef06609c0c 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java @@ -20,6 +20,7 @@ package com.raytheon.viz.warngen.gui; import com.raytheon.uf.common.dataplugin.warning.AbstractWarningRecord; +import com.raytheon.uf.common.dataplugin.warning.EmergencyType; import com.raytheon.uf.common.dataplugin.warning.WarningRecord.WarningAction; import com.raytheon.uf.common.time.SimulatedTime; import com.raytheon.uf.common.time.util.TimeUtil; @@ -39,6 +40,7 @@ import com.raytheon.uf.common.time.util.TimeUtil; * Aug 7, 2013 2243 jsanchez Set all the attributes of an AbstractWarningRecord and added an expiration string. Removed calendar object. * Aug 15,2013 2243 jsanchez Improved the expiration string off by one minute. Fixed for practice mode. * Aug 15,2013 2243 jsanchez Improved the expiration string off by one minute. + * Sep 4,2013 2176 jsanchez Used EmergencyType class to identify emergency products. * * * @author rferrel @@ -96,8 +98,8 @@ public class FollowupData extends AbstractWarningRecord { rval.append(buildExpStr(status, record)); } - if (record.getRawmessage().contains("EMERGENCY")) { - rval.append(" EMER"); + if (EmergencyType.isEmergency(record.getRawmessage())) { + rval.append(" " + EmergencyType.EMER); } equvialentString = rval.substring(0, record.getProductClass().equals("T") ? 20 : 18); diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenDialog.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenDialog.java index 6525feec70..4dbe973985 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenDialog.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenDialog.java @@ -148,6 +148,8 @@ import com.vividsolutions.jts.geom.Polygon; * Jul 29, 2013 DR 16352 D. Friedman Move 'result' to okPressed(). * Aug 6, 2013 2243 jsanchez Refreshed the follow up list every minute. * Aug 15, 2013 DR 16418 D. Friedman Make dialog visibility match editable state. + * Sep 17, 2013 DR 16496 D. Friedman Make editable state more consistent. + * Oct 01, 2013 DR16612 m.gamazaychikov Fixed inconsistencies with track locking and updateListSelected method * * * @author chammack @@ -258,6 +260,8 @@ public class WarngenDialog extends CaveSWTDialog implements private boolean polygonLocked = false; + private boolean trackLocked = false; + private int totalSegments = 0; private String damBreakInstruct = null; @@ -1065,7 +1069,7 @@ public class WarngenDialog extends CaveSWTDialog implements if (((followupData == null) || ((WarningAction.valueOf(followupData .getAct()) == WarningAction.CON) && warngenLayer .conWarnAreaChanged(followupData))) - && !polygonLocked) { + && !polygonLocked && !trackLocked) { redrawFromWarned(); } @@ -1334,11 +1338,9 @@ public class WarngenDialog extends CaveSWTDialog implements * Box was selected, allow editing of box only */ private void boxSelected() { - boxEditable = !polygonLocked; - trackEditable = true; - warngenLayer.getStormTrackState().editable = trackEditable; - warngenLayer.setBoxEditable(boxEditable); - warngenLayer.issueRefresh(); + boxEditable = true; + trackEditable = false; + realizeEditableState(); } /** @@ -1347,20 +1349,16 @@ public class WarngenDialog extends CaveSWTDialog implements private void trackSelected() { boxEditable = false; trackEditable = true; - warngenLayer.getStormTrackState().editable = trackEditable; - warngenLayer.setBoxEditable(boxEditable); - warngenLayer.issueRefresh(); + realizeEditableState(); } /** * Box and track was selected, allow editing of both */ private void boxAndTrackSelected() { - boxEditable = !polygonLocked; + boxEditable = true; trackEditable = true; - warngenLayer.getStormTrackState().editable = trackEditable; - warngenLayer.setBoxEditable(boxEditable); - warngenLayer.issueRefresh(); + realizeEditableState(); } /** @@ -1523,8 +1521,8 @@ public class WarngenDialog extends CaveSWTDialog implements } warngenLayer.getStormTrackState().setInitiallyMotionless( (warngenLayer.getConfiguration().isTrackEnabled() == false) - || (warngenLayer.getConfiguration() - .getPathcastConfig() == null)); + || (warngenLayer.getConfiguration() + .getPathcastConfig() == null)); if (warngenLayer.getStormTrackState().isInitiallyMotionless()) { warngenLayer.getStormTrackState().speed = 0; warngenLayer.getStormTrackState().angle = 0; @@ -1575,6 +1573,7 @@ public class WarngenDialog extends CaveSWTDialog implements * @param b */ private void setTrackLocked(boolean b) { + trackLocked = b; fromTrack.setEnabled(!b); warngenLayer.getStormTrackState().editable = !b; } @@ -1615,7 +1614,6 @@ public class WarngenDialog extends CaveSWTDialog implements * item from update list selected */ public void updateListSelected() { - warngenLayer.setOldWarningPolygon(null); if (updateListCbo.getSelectionIndex() >= 0) { AbstractWarningRecord oldWarning = null; FollowupData data = (FollowupData) updateListCbo @@ -1630,7 +1628,7 @@ public class WarngenDialog extends CaveSWTDialog implements if ((WarningAction .valueOf(warngenLayer.state.followupData .getAct()) == WarningAction.CON) - && (totalSegments > 1)) { + && (totalSegments > 1)) { sameProductMessage(warngenLayer.state.followupData .getEquvialentString()); } @@ -1639,21 +1637,22 @@ public class WarngenDialog extends CaveSWTDialog implements } } else { if (warngenLayer.state.followupData != null) { - // Sets the updatelist with the last selected vtec option - for (int i = 0; i < updateListCbo.getItemCount(); i++) { - String item = updateListCbo.getItem(i); - if (item.equals(warngenLayer.state.followupData - .getDisplayString())) { - updateListCbo.select(i); - updateListCbo.setText(item); - data = warngenLayer.state.followupData; - break; - } - } - } else { + // recreate updates before setting the updatelist to the + // last selected vtec option recreateUpdates(); recreateDurations(durationList); - return; + for (int i = 0; i < updateListCbo.getItemCount(); i++) { + FollowupData fd = (FollowupData) updateListCbo + .getData(updateListCbo.getItem(i)); + if ( fd != null ) { + if (fd.equals(warngenLayer.state.followupData)) { + updateListCbo.select(i); + updateListCbo.setText(updateListCbo.getItem(i)); + data = warngenLayer.state.followupData; + return; + } + } + } } } if (currMode == Mode.DRAG_ME) { @@ -1666,6 +1665,7 @@ public class WarngenDialog extends CaveSWTDialog implements return; } + warngenLayer.setOldWarningPolygon(null); bulletList.setEnabled(true); durationList.setEnabled(true); totalSegments = 0; @@ -2121,7 +2121,7 @@ public class WarngenDialog extends CaveSWTDialog implements setPolygonLocked(false); AbstractWarningRecord newWarn = CurrentWarnings.getInstance( warngenLayer.getLocalizedSite()).getNewestByTracking( - data.getEtn(), data.getPhen() + "." + data.getSig()); + data.getEtn(), data.getPhen() + "." + data.getSig()); updatePolygon(newWarn); @@ -2152,7 +2152,7 @@ public class WarngenDialog extends CaveSWTDialog implements AbstractWarningRecord newWarn = CurrentWarnings.getInstance( warngenLayer.getLocalizedSite()).getNewestByTracking( - data.getEtn(), data.getPhen() + "." + data.getSig()); + data.getEtn(), data.getPhen() + "." + data.getSig()); updatePolygon(newWarn); @@ -2461,4 +2461,12 @@ public class WarngenDialog extends CaveSWTDialog implements } } + public void realizeEditableState() { + boolean layerEditable = warngenLayer.isEditable(); + // TODO: Note there is no 'is track editing allowed' state yet. + warngenLayer.getStormTrackState().editable = layerEditable && trackEditable && !trackLocked; + warngenLayer.setBoxEditable(layerEditable && boxEditable && !polygonLocked); + warngenLayer.issueRefresh(); + } + } diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java index a7e1d400cb..7bef3b3064 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenLayer.java @@ -188,6 +188,7 @@ import com.vividsolutions.jts.io.WKTReader; * updated AreaHatcher's run(). * 07/26/2013 DR 16450 D. Friedman Fix logic errors when frame count is one. * 08/19/2013 2177 jsanchez Set a GeneralGridGeometry object in the GeospatialDataList. + * 09/17/2013 DR 16496 D. Friedman Make editable state more consistent. * * * @author mschenke @@ -3010,10 +3011,7 @@ public class WarngenLayer extends AbstractStormTrackResource { final boolean editable = isEditable(); boxEditable = editable; displayState.editable = editable; - if (editable) { - boxEditable = dialog.boxEditable(); - displayState.editable = dialog.trackEditable(); - } + dialog.realizeEditableState(); final WarngenDialog dlg = dialog; dialog.getDisplay().asyncExec(new Runnable() { @Override diff --git a/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/AbstractWWAResource.java b/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/AbstractWWAResource.java index 34424f20bd..c796d18a46 100644 --- a/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/AbstractWWAResource.java +++ b/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/AbstractWWAResource.java @@ -15,6 +15,7 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem; import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.warning.AbstractWarningRecord; +import com.raytheon.uf.common.dataplugin.warning.EmergencyType; import com.raytheon.uf.common.dataplugin.warning.PracticeWarningRecord; import com.raytheon.uf.common.dataplugin.warning.WarningRecord.WarningAction; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; @@ -80,6 +81,7 @@ import com.vividsolutions.jts.geom.prep.PreparedGeometryFactory; * Remove frameAltered condition in matchesFrame. It prevented entries from being displayed. * Check if geometry is null when inspecting. * Jul 22, 2013 2176 jsanchez Updated the wire frame and text for EMERGENCY warnings. + * Sep 4, 2013 2176 jsanchez Made the polygon line width thicker and made regular text not bold. * * * @author jsanchez @@ -133,7 +135,9 @@ public abstract class AbstractWWAResource extends /** map of dataURI to a warning entry **/ protected Map entryMap; - protected IFont warningsFont; + protected IFont warningsFont = null; + + protected IFont emergencyFont = null; protected RGB color; @@ -368,8 +372,8 @@ public abstract class AbstractWWAResource extends int outlineWidth = getCapability(OutlineCapability.class) .getOutlineWidth(); // Make wire frame outline thicker for EMERGENCY warnings - if (record.getRawmessage().contains("EMERGENCY")) { - outlineWidth *= 2; + if (EmergencyType.isEmergency(record.getRawmessage())) { + outlineWidth *= 3; } target.drawWireframeShape( @@ -398,7 +402,10 @@ public abstract class AbstractWWAResource extends * paintProps.getZoomLevel() / 1000; String[] textToPrint = getText(record, mapWidth); if (warningsFont == null) { - warningsFont = target.getDefaultFont().deriveWithSize( + warningsFont = target.initializeFont(target + .getDefaultFont().getFontName(), 11, + new IFont.Style[0]); + emergencyFont = target.getDefaultFont().deriveWithSize( 11); } // DR14992: reverse the textToPrint array to plot the @@ -418,15 +425,24 @@ public abstract class AbstractWWAResource extends params.verticallAlignment = VerticalAlignment.BOTTOM; params.magnification = getCapability( MagnificationCapability.class).getMagnification(); - target.drawStrings(params); // Draws the string again to have it appear bolder - if (textToPrintReversed[2].endsWith("EMER")) { - params.setText(new String[] { "", "", "EMER", "" }, - color); - target.drawStrings(params); + if (EmergencyType.isEmergency(record.getRawmessage())) { + // moves over text to add EMER in a different font + textToPrintReversed[2] = String.format("%1$-21" + "s", + textToPrintReversed[2]); + params.setText(textToPrintReversed, color); + + DrawableString emergencyString = new DrawableString( + params); + emergencyString.font = emergencyFont; + emergencyString.setText(new String[] { "", "", + " " + EmergencyType.EMER, "" }, color); + target.drawStrings(emergencyString); } + target.drawStrings(params); + } } } @@ -598,12 +614,7 @@ public abstract class AbstractWWAResource extends textToPrint[0] += "." + vid; } textToPrint[0] += "." + record.getEtn(); - - if (record.getRawmessage().contains("EMERGENCY")) { - textToPrint[1] = record.getPil() + " EMER"; - } else { - textToPrint[1] = record.getPil(); - } + textToPrint[1] = record.getPil(); SimpleDateFormat startFormat = DEFAULT_FORMAT; SimpleDateFormat endFormat = DEFAULT_FORMAT; diff --git a/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WarningsResource.java b/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WarningsResource.java index 206f92ce98..45a5567ffa 100644 --- a/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WarningsResource.java +++ b/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WarningsResource.java @@ -60,7 +60,8 @@ import com.vividsolutions.jts.geom.Geometry; * Sep 27, 2012 1149 jsanchez Refactored methods from AbstractWarningsResource into this class. * Apr 18, 2013 1877 jsanchez Ordered the records the same for update and initial load. * Removed no longer needed frameAltered. Do not set wire frame for a CAN. - * Jul 24, 2013 DR16350 mgamazaychikov Fix the problem with plotting EXP warning + * Jul 24, 2013 DR16350 mgamazaychikov Fix the problem with plotting EXP warning + * Sep 5, 2013 2176 jsanchez Disposed the emergency font. * * * @author jsanchez @@ -143,6 +144,10 @@ public class WarningsResource extends AbstractWWAResource { if (warningsFont != null) { warningsFont.dispose(); } + + if (emergencyFont != null) { + emergencyFont.dispose(); + } } @Override @@ -234,7 +239,7 @@ public class WarningsResource extends AbstractWWAResource { for (AbstractWarningRecord warnrec : recordsToLoad) { WarningAction act = WarningAction.valueOf(warnrec.getAct()); if (act == WarningAction.CON || act == WarningAction.CAN - || act == WarningAction.EXT) { + || act == WarningAction.EXT) { AbstractWarningRecord createShape = null; for (String key : entryMap.keySet()) { WarningEntry entry = entryMap.get(key); diff --git a/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WatchesResource.java b/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WatchesResource.java index 9580cfa9e6..6b4b755a75 100644 --- a/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WatchesResource.java +++ b/cave/com.raytheon.viz.warnings/src/com/raytheon/viz/warnings/rsc/WatchesResource.java @@ -49,6 +49,7 @@ import com.vividsolutions.jts.geom.GeometryFactory; * Sep 27, 2012 1149 jsanchez Refactored methods from AbstractWarningsResource into this class. * May 06, 2013 1930 bsteffen Check for null in WatchesResource. * May 10, 2013 1951 rjpeter Updated ugcZones references + * Sep 5, 2013 2176 jsanchez Disposed the emergency font. * * * @author jsanchez @@ -140,6 +141,10 @@ public class WatchesResource extends AbstractWWAResource { if (warningsFont != null) { warningsFont.dispose(); } + + if (emergencyFont != null) { + emergencyFont.dispose(); + } } @Override diff --git a/cots/org.apache.commons.io/org.apache.commons.io.ecl b/cots/org.apache.commons.io/org.apache.commons.io.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cots/org.apache.tomcat.nativ/org.apache.tomcat.nativ.ecl b/cots/org.apache.tomcat.nativ/org.apache.tomcat.nativ.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cots/org.postgres/org.postgres.ecl b/cots/org.postgres/org.postgres.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cots/org.quartz/org.quartz.ecl b/cots/org.quartz/org.quartz.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/deltaScripts/13.4.1/resetNtransTable.sh b/deltaScripts/13.4.1/resetNtransTable.sh new file mode 100644 index 0000000000..5fd6746b24 --- /dev/null +++ b/deltaScripts/13.4.1/resetNtransTable.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# This script will drop the ntrans table and remove the ntrans hdf5 files. +# +# This update needs to be performed when going from build 13.3.1 to build 13.4.1 (or 13.5.1). +# + +PSQL="/awips2/psql/bin/psql" +SQL_COMMAND="DROP TABLE IF EXISTS ntrans; UPDATE plugin_info SET initialized='false' WHERE name='ntrans';" + +if [ ! -f ${PSQL} ]; then + echo "ERROR: The PSQL executable does not exist - ${PSQL}." + echo "FATAL: Updated Failed!" + exit 1 +fi + +echo "" +echo "Press Enter to perform the updates Ctrl-C to quit." +read done + +echo "INFO: Dropping the metadata ntrans table." +${PSQL} -U awips -d metadata -c "${SQL_COMMAND}" +if [ $? -ne 0 ]; then + echo "FATAL: Updated Failed!" + exit 1 +fi + +echo "INFO: Purging ntrans hdf5 files." +if [ -d /awips2/edex/data/hdf5/ntrans ]; then + rm -rfv /awips2/edex/data/hdf5/ntrans +fi + +echo "INFO: The update was successfully applied." + +exit 0 diff --git a/deltaScripts/13.5.1/resetNtransTable.sh b/deltaScripts/13.5.1/resetNtransTable.sh new file mode 100644 index 0000000000..5fd6746b24 --- /dev/null +++ b/deltaScripts/13.5.1/resetNtransTable.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# This script will drop the ntrans table and remove the ntrans hdf5 files. +# +# This update needs to be performed when going from build 13.3.1 to build 13.4.1 (or 13.5.1). +# + +PSQL="/awips2/psql/bin/psql" +SQL_COMMAND="DROP TABLE IF EXISTS ntrans; UPDATE plugin_info SET initialized='false' WHERE name='ntrans';" + +if [ ! -f ${PSQL} ]; then + echo "ERROR: The PSQL executable does not exist - ${PSQL}." + echo "FATAL: Updated Failed!" + exit 1 +fi + +echo "" +echo "Press Enter to perform the updates Ctrl-C to quit." +read done + +echo "INFO: Dropping the metadata ntrans table." +${PSQL} -U awips -d metadata -c "${SQL_COMMAND}" +if [ $? -ne 0 ]; then + echo "FATAL: Updated Failed!" + exit 1 +fi + +echo "INFO: Purging ntrans hdf5 files." +if [ -d /awips2/edex/data/hdf5/ntrans ]; then + rm -rfv /awips2/edex/data/hdf5/ntrans +fi + +echo "INFO: The update was successfully applied." + +exit 0 diff --git a/edexOsgi/build.edex/esb/bin/setup.env b/edexOsgi/build.edex/esb/bin/setup.env index 719bd3ce1c..3661f632b4 100644 --- a/edexOsgi/build.edex/esb/bin/setup.env +++ b/edexOsgi/build.edex/esb/bin/setup.env @@ -12,8 +12,8 @@ export IH_DB_NAME=hd_ob92oax ### flag to control grib deprecation ### if [ -z "$gribMode" ]; then # uncomment only one of the following two lines -export gribMode=deprecated -#export gribMode=future +#export gribMode=deprecated +export gribMode=future fi ## end of grib deprecation flag ### diff --git a/edexOsgi/build.edex/esb/bin/yajsw/wrapper.jar b/edexOsgi/build.edex/esb/bin/yajsw/wrapper.jar index 546a8e4c9b..f57bb629b5 100644 Binary files a/edexOsgi/build.edex/esb/bin/yajsw/wrapper.jar and b/edexOsgi/build.edex/esb/bin/yajsw/wrapper.jar differ diff --git a/edexOsgi/build.edex/esb/bin/yajsw/wrapperApp.jar b/edexOsgi/build.edex/esb/bin/yajsw/wrapperApp.jar index a4f58e7912..fda9a7c5bb 100644 Binary files a/edexOsgi/build.edex/esb/bin/yajsw/wrapperApp.jar and b/edexOsgi/build.edex/esb/bin/yajsw/wrapperApp.jar differ diff --git a/edexOsgi/build.edex/esb/conf/log4j-ingest.xml b/edexOsgi/build.edex/esb/conf/log4j-ingest.xml index 0fbbbb3244..7c776b833a 100644 --- a/edexOsgi/build.edex/esb/conf/log4j-ingest.xml +++ b/edexOsgi/build.edex/esb/conf/log4j-ingest.xml @@ -251,7 +251,7 @@ - + diff --git a/edexOsgi/build.edex/esb/conf/spring/edex.xml b/edexOsgi/build.edex/esb/conf/spring/edex.xml index 546d3abf49..275133fb82 100644 --- a/edexOsgi/build.edex/esb/conf/spring/edex.xml +++ b/edexOsgi/build.edex/esb/conf/spring/edex.xml @@ -40,8 +40,19 @@ + + + + + + factory-bean="jmsConfig" factory-method="copy"/> + + + + + @@ -71,6 +82,7 @@ + - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AIREP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AIREP.xml deleted file mode 100644 index cc683ff5ca..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AIREP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AIREP - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AIRMET.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AIRMET.xml deleted file mode 100644 index 3e7b347674..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AIRMET.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AIRMET - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ASCT.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ASCT.xml deleted file mode 100644 index 68b766b75a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ASCT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ASCT - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AUTOSPE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AUTOSPE.xml deleted file mode 100644 index 10ddd55b6d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AUTOSPE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AUTOSPE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVIATION.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVIATION.xml deleted file mode 100644 index 078edbf002..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVIATION.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AVIATION - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN.xml deleted file mode 100644 index 50d21a8943..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AVN - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN190AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN190AK.xml deleted file mode 100644 index d4a78b51d8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN190AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AVN190AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN80PAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN80PAC.xml deleted file mode 100644 index 2c6904a004..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN80PAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AVN80PAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN80US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN80US.xml deleted file mode 100644 index 03fbc23e00..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AVN80US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - AVN80US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SVRL.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AWW.xml similarity index 81% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SVRL.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AWW.xml index f47cc4a37f..5e0b08dea9 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SVRL.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/AWW.xml @@ -1,12 +1,12 @@ - SVRL + AWW pluginName,reportType,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA.xml deleted file mode 100644 index 1b48d971e0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CCPA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA2P5.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA2P5.xml deleted file mode 100644 index ad8447e02a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA2P5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CCPA2P5 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA_US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA_US.xml deleted file mode 100644 index 64d1597a0c..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CCPA_US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CCPA_US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMC.xml deleted file mode 100644 index 8f876091cd..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CMC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMCE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMCE.xml deleted file mode 100644 index 2b4f99501a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMCE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CMCE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMCE_ENS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMCE_ENS.xml deleted file mode 100644 index 7323f1ab67..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CMCE_ENS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - CMCE_ENS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CPCOUTLK80US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CPCOUTLK80US.xml deleted file mode 100644 index 5207531273..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CPCOUTLK80US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CPCOUTLK80US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CSIG.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CSIG.xml deleted file mode 100644 index 604fe23194..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/CSIG.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - CSIG - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DGEX_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DGEX_AK.xml deleted file mode 100644 index 43a7fe4bb3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DGEX_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - DGEX_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DGEX_US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DGEX_US.xml deleted file mode 100644 index 87d875479b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DGEX_US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - DGEX_US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DPD.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DPD.xml deleted file mode 100644 index de08fece21..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/DPD.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - DPD - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF.xml deleted file mode 100644 index 68eda13586..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFG.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFG.xml deleted file mode 100644 index 29d9d010f5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFG.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWFG - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFT.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFT.xml deleted file mode 100644 index fe42f06b07..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWFT - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFWAVE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFWAVE.xml deleted file mode 100644 index d788cd2409..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWFWAVE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWFWAVE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_AF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_AF.xml deleted file mode 100644 index fdc7b3be97..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_AF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_AF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_ATL.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_ATL.xml deleted file mode 100644 index dca90fb00b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_ATL.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_ATL - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_ATL_EQ.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_ATL_EQ.xml deleted file mode 100644 index c84fc3942b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_ATL_EQ.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_ATL_EQ - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EPAC.xml deleted file mode 100644 index bd8d290af6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EPAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_EPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EPAC_EQ.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EPAC_EQ.xml deleted file mode 100644 index 619c3aa758..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EPAC_EQ.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_EPAC_EQ - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EU.xml deleted file mode 100644 index 4a108bb153..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_EU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_EU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_NH.xml deleted file mode 100644 index 71cedea90f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_NH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_WPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_WPAC.xml deleted file mode 100644 index 8f9c75099d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_WPAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_WPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_WPAC_EQ.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_WPAC_EQ.xml deleted file mode 100644 index 2a8945db80..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ECMWF_WPAC_EQ.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ECMWF_WPAC_EQ - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ENS_CYC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ENS_CYC.xml index a9d336bc2e..669ad1c353 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ENS_CYC.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ENS_CYC.xml @@ -1,6 +1,8 @@ ENS_CYC + pluginName,dataTime diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ESTOFS_PR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ESTOFS_PR.xml deleted file mode 100644 index 68df51c8de..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ESTOFS_PR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ESTOFS_PR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ESTOFS_US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ESTOFS_US.xml deleted file mode 100644 index f7344e1398..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ESTOFS_US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ESTOFS_US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFA.xml deleted file mode 100644 index 37358088cf..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - FFA - pluginName,reportType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG.xml deleted file mode 100644 index 16e0fefc3a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - FFG - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_ALR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_ALR.xml deleted file mode 100644 index e37b3c726f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_ALR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - FFG_ALR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_TIR_HIRES.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_TIR_HIRES.xml index 1ba395db36..f67aadaac8 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_TIR_HIRES.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FFG_TIR_HIRES.xml @@ -4,7 +4,7 @@ pluginName,info.ensembleId,info.secondaryId,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FNMOCWAVE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FNMOCWAVE.xml deleted file mode 100644 index f0e149070b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FNMOCWAVE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - FNMOCWAVE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FYC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FYC.xml deleted file mode 100644 index 0cef20fea3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/FYC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - FYC - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GDAS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GDAS.xml deleted file mode 100644 index 3908f607f8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GDAS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GDAS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFS.xml deleted file mode 100644 index 24727d97f1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - GEFS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFSC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFSC.xml deleted file mode 100644 index 6136633841..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFSC.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - GEFSC - pluginName,info.ensembleId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFS_ENS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFS_ENS.xml deleted file mode 100644 index f117bafdff..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GEFS_ENS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GEFS_ENS - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS.xml deleted file mode 100644 index 6cd6459ca0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS40US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS40US.xml deleted file mode 100644 index 3db0a9b6f4..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS40US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS40US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS95US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS95US.xml deleted file mode 100644 index 05223a75bf..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS95US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS95US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFSGUIDE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFSGUIDE.xml deleted file mode 100644 index 0d8e2e4e2f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFSGUIDE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFSGUIDE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFSLAMPTSTORM.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFSLAMPTSTORM.xml deleted file mode 100644 index 536bc15b36..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFSLAMPTSTORM.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFSLAMPTSTORM - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_AK.xml deleted file mode 100644 index 866f1c642e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_ENS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_ENS.xml deleted file mode 100644 index b1f583c3fa..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_ENS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS_ENS - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_GU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_GU.xml deleted file mode 100644 index c2c2043846..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_GU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS_GU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_NH.xml deleted file mode 100644 index 33ff226115..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_NH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS_NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_PAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_PAC.xml deleted file mode 100644 index 32b53ae1ba..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_PAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS_PAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_PR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_PR.xml deleted file mode 100644 index ac89164aeb..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GFS_PR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GFS_PR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GHM.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GHM.xml deleted file mode 100644 index f602567228..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GHM.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - GHM - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GHMNEST.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GHMNEST.xml deleted file mode 100644 index 1d6a37bdb0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GHMNEST.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - GHMNEST - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_Composite.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI.xml similarity index 64% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_Composite.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI.xml index cd73325cb6..26a618d260 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_Composite.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI.xml @@ -1,12 +1,12 @@ - GINI_Composite - pluginName,sectorID,physicalElement,dataTime + GINI + pluginName,creatingEntity,sectorID,physicalElement,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_DMSP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_DMSP.xml deleted file mode 100644 index f000c621f4..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_DMSP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_DMSP - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_ERS-QuickSCAT-Scatterometer.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_ERS-QuickSCAT-Scatterometer.xml deleted file mode 100644 index 7c3fe88605..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_ERS-QuickSCAT-Scatterometer.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_ERS-QuickSCAT-Scatterometer - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GMS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GMS.xml deleted file mode 100644 index cc4c671f83..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GMS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GMS - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES10.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES10.xml deleted file mode 100644 index 8faf1124f6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES10 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES11.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES11.xml deleted file mode 100644 index a3178e3d3f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES11 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES12.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES12.xml deleted file mode 100644 index dfc7eeefdc..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES12 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES13.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES13.xml deleted file mode 100644 index 2fb2ecc2e0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES13.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES13 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES15.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES15.xml deleted file mode 100644 index 91763e2c55..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES15.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES15 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES7.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES7.xml deleted file mode 100644 index fc070c6f71..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES7 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES8.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES8.xml deleted file mode 100644 index f0f693061b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES8 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES9.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES9.xml deleted file mode 100644 index adf5c951f5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_GOES9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_GOES9 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_JERS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_JERS.xml deleted file mode 100644 index 7e11a2311d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_JERS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_JERS - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_METEOSAT.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_METEOSAT.xml deleted file mode 100644 index fe468dc0b4..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_METEOSAT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_METEOSTAT - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_Miscellaneous.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_Miscellaneous.xml deleted file mode 100644 index 91b5b39192..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_Miscellaneous.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_Miscellaneous - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA16.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA16.xml deleted file mode 100644 index 8d951d81b1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_NOAA16 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA17.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA17.xml deleted file mode 100644 index 4287200d33..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA17.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_NOAA17 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA18.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA18.xml deleted file mode 100644 index 311c513292..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA18.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_NOAA18 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA19.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA19.xml deleted file mode 100644 index 71036bf987..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_NOAA19.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_NOAA19 - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_POES-NPOESS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_POES-NPOESS.xml deleted file mode 100644 index e262703657..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GINI_POES-NPOESS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GINI_POES-NPOESS - pluginName,sectorID,physicalElement,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GMS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GMS.xml deleted file mode 100644 index 42770ecdd6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GMS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GMS - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES10.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES10.xml deleted file mode 100644 index 6ec0f16bb3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES10 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES11.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES11.xml deleted file mode 100644 index 4370576f1b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES11 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES12.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES12.xml deleted file mode 100644 index 08f7c09c38..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES12 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES13.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES13.xml deleted file mode 100644 index a5728e50e2..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES13.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES13 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES15.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES15.xml deleted file mode 100644 index 43d9469d5d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES15.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES15 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES6.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES6.xml deleted file mode 100644 index d3fe8b6e4e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES6 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES7.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES7.xml deleted file mode 100644 index 4ec1f2a2a1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES7 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES8.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES8.xml deleted file mode 100644 index 938a9f7637..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES8 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES9.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES9.xml deleted file mode 100644 index d17f4414a1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOES9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOES9 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOESGFS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOESGFS.xml deleted file mode 100644 index ce84d46a6d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GOESGFS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GOESGFS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GRLKWAVE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GRLKWAVE.xml deleted file mode 100644 index e42acc3d65..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GRLKWAVE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GRLKWAVE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWW.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWW.xml deleted file mode 100644 index 9d3059f526..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWW.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GWW - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWW233.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWW233.xml deleted file mode 100644 index aa243661f6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWW233.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GWW233 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWWP5.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWWP5.xml deleted file mode 100644 index 9017ed678e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/GWWP5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - GWWP5 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_AK.xml deleted file mode 100644 index e6023ebb92..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_ARW_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_E.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_E.xml deleted file mode 100644 index 2078ee9e03..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_E.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_ARW_E - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_GU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_GU.xml deleted file mode 100644 index 44c1d0477e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_GU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_ARW_GU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_HI.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_HI.xml deleted file mode 100644 index 12f1fc50d7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_HI.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_ARW_HI - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_SJU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_SJU.xml deleted file mode 100644 index 20d6257913..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_SJU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_ARW_SJU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_W.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_W.xml deleted file mode 100644 index 3c1a6f8dd6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_ARW_W.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_ARW_W - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_AK.xml deleted file mode 100644 index ebdc697535..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_NMM_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_E.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_E.xml deleted file mode 100644 index 4239678150..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_E.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_NMM_E - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_GU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_GU.xml deleted file mode 100644 index e96d75cab6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_GU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_NMM_GU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_HI.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_HI.xml deleted file mode 100644 index 1aa1e90a80..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_HI.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_NMM_HI - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_SJU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_SJU.xml deleted file mode 100644 index 193d88bfbb..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_SJU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_NMM_SJU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_W.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_W.xml deleted file mode 100644 index 8409a45744..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HIRESW_NMM_W.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HIRESW_NMM_W - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCGUIDE_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCGUIDE_AK.xml deleted file mode 100644 index 720ba79646..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCGUIDE_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HPCGUIDE_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCQPF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCQPF.xml deleted file mode 100644 index 6ced8cbf93..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCQPF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HPCQPF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCQPFNDFD.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCQPFNDFD.xml deleted file mode 100644 index b425f5bb45..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPCQPFNDFD.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HPCQPFNDFD - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPC_RAIN_CAT_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPC_RAIN_CAT_AK.xml deleted file mode 100644 index f791291575..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPC_RAIN_CAT_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HPC_RAIN_CAT_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPC_RAIN_CAT_US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPC_RAIN_CAT_US.xml deleted file mode 100644 index af751193a7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HPC_RAIN_CAT_US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HPC_RAIN_CAT_US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HRCN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HRCN.xml deleted file mode 100644 index 96a9415a00..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/HRCN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - HRCN - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12NH.xml deleted file mode 100644 index 757a4a2710..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12NH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ICE12NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12SH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12SH.xml deleted file mode 100644 index 1d99248482..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12SH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ICE12SH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12TH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12TH.xml deleted file mode 100644 index c5aac23251..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE12TH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ICE12TH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE25NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE25NH.xml deleted file mode 100644 index 704820a70c..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE25NH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ICE25NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE25SH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE25SH.xml deleted file mode 100644 index e8452f8846..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICE25SH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ICE25SH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICEP5.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICEP5.xml deleted file mode 100644 index cccc54f1fd..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ICEP5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ICEP5 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/IND.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/IND.xml deleted file mode 100644 index b6727490a6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/IND.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - IND - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ISIG.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ISIG.xml deleted file mode 100644 index 42e960683f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ISIG.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - ISIG - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LTNG2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LTNG2.xml deleted file mode 100644 index 9233290ba9..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LTNG2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - LTNG2 - pluginName,dataTime - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METAR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METAR.xml deleted file mode 100644 index f38144df53..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METAR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METAR - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT10.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT10.xml deleted file mode 100644 index 58371775ec..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT10 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT3.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT3.xml deleted file mode 100644 index 95f64df880..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT3 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT5.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT5.xml deleted file mode 100644 index 14d33c6d19..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT5 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT6.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT6.xml deleted file mode 100644 index f4fab32e10..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT6 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT7.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT7.xml deleted file mode 100644 index 9eff698d0a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT7 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT8.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT8.xml deleted file mode 100644 index 62a50d823b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT8 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT9.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT9.xml deleted file mode 100644 index b8ef533be0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/METEOSAT9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - METEOSAT9 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MOS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MOS.xml deleted file mode 100644 index 90ed48c623..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MOS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MOS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MOS_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MOS_AK.xml deleted file mode 100644 index 240c811234..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MOS_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MOS_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_ALR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_ALR.xml deleted file mode 100644 index 17a3d3d505..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_ALR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_ALR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_FWR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_FWR.xml deleted file mode 100644 index a5fc54e4cc..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_FWR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_FWR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_MSR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_MSR.xml deleted file mode 100644 index 8f4925b34a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_MSR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_MSR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_ORN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_ORN.xml deleted file mode 100644 index de4f61b63f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_ORN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_ORN - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_RHA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_RHA.xml deleted file mode 100644 index e47a3ee01f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_RHA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_RHA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_RSA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_RSA.xml deleted file mode 100644 index 5c34aa4fc0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_RSA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_RSA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_SJU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_SJU.xml deleted file mode 100644 index 55b6d1e6b4..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_SJU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_SJU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_STR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_STR.xml deleted file mode 100644 index a28cf67172..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_STR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_STR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_TAR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_TAR.xml deleted file mode 100644 index 9407771f09..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_TAR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_TAR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_TUA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_TUA.xml deleted file mode 100644 index 5c48b83fd3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_LOCAL_TUA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_LOCAL_TUA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_ALR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_ALR.xml deleted file mode 100644 index 0afe6b7947..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_ALR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_ALR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_FWR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_FWR.xml deleted file mode 100644 index 564be773ac..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_FWR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_FWR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_MSR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_MSR.xml deleted file mode 100644 index 8ddb5217b5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_MSR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_MSR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_ORN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_ORN.xml deleted file mode 100644 index 7735bbdfce..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_ORN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_ORN - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_RHA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_RHA.xml deleted file mode 100644 index 4592fd8d4e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_RHA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_RHA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_SJU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_SJU.xml deleted file mode 100644 index 8726ee8e5b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_SJU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_SJU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_TAR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_TAR.xml deleted file mode 100644 index 4044b2f2c9..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MPE_MOSAIC_TAR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MPE_MOSAIC_TAR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF.xml deleted file mode 100644 index e3a4a57478..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MRF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF160HI.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF160HI.xml deleted file mode 100644 index 75c692f027..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF160HI.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MRF160HI - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF190AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF190AK.xml deleted file mode 100644 index 2864ab6062..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF190AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MRF190AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF190PR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF190PR.xml deleted file mode 100644 index 3d8e9ba68b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF190PR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MRF190PR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF_NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF_NH.xml deleted file mode 100644 index 68f43b3d47..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MRF_NH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MRF_NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MTS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MTS.xml deleted file mode 100644 index 9ddcf8a97a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MTS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MTSAT2 - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MTSAT2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MTSAT2.xml deleted file mode 100644 index e8c2a0e56d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/MTSAT2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - MTS - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/Global.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/McIdas.xml similarity index 65% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/Global.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/McIdas.xml index 9220c52862..5f54fdce36 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/Global.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/McIdas.xml @@ -1,13 +1,13 @@ - Global - pluginName,areaName,resolution,imageType,dataTime + McIdas + pluginName,satelliteName,areaName,resolution,imageType,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMSND.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ModelSounding.xml similarity index 66% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMSND.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ModelSounding.xml index c1664d597b..77ecc2df6f 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMSND.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/ModelSounding.xml @@ -1,12 +1,12 @@ - NAMSND - pluginName,dataTime + ModelSounding + pluginName,reportType,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_AK.xml deleted file mode 100644 index ccc0468735..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAEFS_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_BC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_BC.xml deleted file mode 100644 index 4437a81733..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_BC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAEFS_BC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_US.xml deleted file mode 100644 index 4874afd82f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAEFS_US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAEFS_US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM.xml deleted file mode 100644 index ddbea348a5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM11.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM11.xml deleted file mode 100644 index 904d684098..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM11 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM11AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM11AK.xml deleted file mode 100644 index 0700aa9edd..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM11AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM11AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM12_CNTRL_US.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM12_CNTRL_US.xml deleted file mode 100644 index 60ef6d4bf2..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM12_CNTRL_US.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM12_CNTRL_US - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM20.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM20.xml deleted file mode 100644 index 8e26ee960a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM20.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM20 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM22AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM22AK.xml deleted file mode 100644 index 83886f83a8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM22AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM22AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM32PR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM32PR.xml deleted file mode 100644 index 88ce1ad4a7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM32PR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM32PR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM45AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM45AK.xml deleted file mode 100644 index b6d8b8c8b8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM45AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM45AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM80.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM80.xml deleted file mode 100644 index 32ccd5e608..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM80.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM80 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM95AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM95AK.xml deleted file mode 100644 index a42a33be07..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM95AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM95AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5.xml deleted file mode 100644 index ad7484d1ec..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAMDNG5 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_AK.xml deleted file mode 100644 index 1f7e81afc1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAMDNG5_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_HI.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_HI.xml deleted file mode 100644 index c7ad9f7626..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_HI.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAMDNG5_HI - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_PR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_PR.xml deleted file mode 100644 index 3615e97d3e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMDNG5_PR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAMDNG5_PR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMNEST_HI.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMNEST_HI.xml deleted file mode 100644 index d8cc5a3ffb..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAMNEST_HI.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAMNEST_HI - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM_00.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM_00.xml deleted file mode 100644 index b75b44a861..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NAM_00.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NAM_00 - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NCON.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NCON.xml deleted file mode 100644 index 532b050510..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NCON.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NCON - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NMM40.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NMM40.xml deleted file mode 100644 index c81aad66c0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NMM40.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NMM40 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NOGAPS.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NOGAPS.xml deleted file mode 100644 index be6b7fa598..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NOGAPS.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NOGAPS - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NOHRSC_SNOW.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NOHRSC_SNOW.xml deleted file mode 100644 index 46c3715d5f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NOHRSC_SNOW.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NOHRSC_SNOW - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NWW3.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NWW3.xml deleted file mode 100644 index dace8d0f59..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NWW3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NWW3 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridInventory.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridModelParameters.xml similarity index 90% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridInventory.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridModelParameters.xml index 8cea92d378..4cd1e7fc78 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridInventory.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridModelParameters.xml @@ -1,6 +1,6 @@ - NcGridInventory + NcGridModelParameters pluginName,info.datasetId,info.secondaryId,info.ensembleId,info.parameter.abbreviation,info.level.masterLevel.name,info.level.levelonevalue,info.level.leveltwovalue diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NsharpGridInventory.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridModelTimes.xml similarity index 67% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NsharpGridInventory.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridModelTimes.xml index 6cdc8021c6..1cb9f9f1c4 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NsharpGridInventory.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridModelTimes.xml @@ -1,7 +1,7 @@ - NsharpGridInventory - pluginName,info.datasetId,dataTime + NcGridModelTimes + pluginName,info.datasetId,info.secondaryId,info.ensembleId,dataTime diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridSoundingInventory.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridSoundingInventory.xml deleted file mode 100644 index 62a9cecaf4..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcGridSoundingInventory.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - NcGridSoundingInventory - - - pluginName,info.datasetId,info.secondaryId,dataTime - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/EXASCT.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcScat.xml similarity index 66% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/EXASCT.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcScat.xml index 7c2f235159..975fd9d23b 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/EXASCT.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/NcScat.xml @@ -1,12 +1,12 @@ - EXASCT - pluginName,dataTime + NcScat + pluginName,reportType,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OFSGMEX.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OFSGMEX.xml deleted file mode 100644 index 24a76d270a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OFSGMEX.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - OFSGMEX - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OFSWATL.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OFSWATL.xml deleted file mode 100644 index 13ebdbaddf..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OFSWATL.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - OFSWATL - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_ATL.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_ATL.xml deleted file mode 100644 index 250b980b8e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_ATL.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - OPCWAVE12_ATL - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_NPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_NPAC.xml deleted file mode 100644 index 5640a8211e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_NPAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - OPCWAVE12_NPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_SPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_SPAC.xml deleted file mode 100644 index 78592e9011..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/OPCWAVE12_SPAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - OPCWAVE12_SPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/PIREP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/PIREP.xml deleted file mode 100644 index 5411e2f98c..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/PIREP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - PIREP - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/PROB3HR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/PROB3HR.xml deleted file mode 100644 index 78e2349efc..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/PROB3HR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - PROB3HR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_AUTO_TUA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_AUTO_TUA.xml deleted file mode 100644 index d182a8f85c..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_AUTO_TUA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_AUTO_TUA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_PTR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_PTR.xml deleted file mode 100644 index 3f5177f38e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_PTR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_RFC_PTR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_RSA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_RSA.xml deleted file mode 100644 index d2394943c1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_RSA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_RFC_RSA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_STR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_STR.xml deleted file mode 100644 index 57652cbb9b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_RFC_STR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_RFC_STR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_ALR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_ALR.xml deleted file mode 100644 index b05729870f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_ALR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_ALR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_FWR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_FWR.xml deleted file mode 100644 index 5473bca941..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_FWR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_FWR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_KRF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_KRF.xml deleted file mode 100644 index 5b6f0e8091..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_KRF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_KRF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_MSR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_MSR.xml deleted file mode 100644 index 25154444eb..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_MSR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_MSR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_ORN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_ORN.xml deleted file mode 100644 index 4f785ed75b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_ORN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_ORN - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_RHA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_RHA.xml deleted file mode 100644 index 29be5d59be..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_RHA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_RHA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_SJU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_SJU.xml deleted file mode 100644 index 224fff88aa..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_SJU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_SJU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TAR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TAR.xml deleted file mode 100644 index d24d1f2ff1..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TAR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_TAR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TIR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TIR.xml deleted file mode 100644 index e0fa2f7e4b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TIR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_TIR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TUA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TUA.xml deleted file mode 100644 index a194b051e9..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QPE_XNAV_TUA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QPE_XNAV_TUA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QSCT.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QSCT.xml deleted file mode 100644 index c2ed2a964b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/QSCT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QSCT - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP.xml deleted file mode 100644 index f8eb39a7e4..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RAP - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP32.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP32.xml deleted file mode 100644 index 905f664f5a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP32.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RAP32 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP40.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP40.xml deleted file mode 100644 index 89d8d34c04..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RAP40.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RAP40 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RCM.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RCM.xml deleted file mode 100644 index abac17c911..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RCM.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RCM - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RFCQPF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RFCQPF.xml deleted file mode 100644 index 875e421cb5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RFCQPF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RFCQPF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTGSST.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTGSST.xml deleted file mode 100644 index 95e0b7d28a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTGSST.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTGSST - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTGSSTHR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTGSSTHR.xml deleted file mode 100644 index 0b2762ef81..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTGSSTHR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTGSSTHR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA.xml deleted file mode 100644 index 9c2679c197..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTMA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_AK.xml deleted file mode 100644 index f3e8426234..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTMA_AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_GU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_GU.xml deleted file mode 100644 index 4a7b40c315..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_GU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTMA_GU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_HI.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_HI.xml deleted file mode 100644 index 3672f36c3e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_HI.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTMA_HI - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_PR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_PR.xml deleted file mode 100644 index fabc80a63e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RTMA_PR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - RTMA_PR - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RUC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RUC.xml deleted file mode 100644 index 7b206c101a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RUC.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - RUC - pluginName,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RUC40.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RUC40.xml deleted file mode 100644 index adb152e4dc..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/RUC40.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - RUC40 - pluginName,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LocalRadar.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/Radar.xml similarity index 73% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LocalRadar.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/Radar.xml index 63f0fd5eb3..43f4f9043e 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LocalRadar.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/Radar.xml @@ -1,13 +1,14 @@ - LocalRadar + Radar pluginName,icao,productCode,elevationNumber,format,dataTime - + + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SCD.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SCD.xml deleted file mode 100644 index 1c717822b8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SCD.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - SCD - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SGWH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SGWH.xml index 076fdbdcdd..17c050c15c 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SGWH.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SGWH.xml @@ -1,11 +1,8 @@ SGWH - pluginName,dataTime + pluginName,said,dataTime - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SHIP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SHIP.xml deleted file mode 100644 index 45890d0497..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SHIP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - SHIP - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SPCGUIDE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SPCGUIDE.xml deleted file mode 100644 index 548fb6f370..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SPCGUIDE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - SPCGUIDE - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF2P5.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF2P5.xml deleted file mode 100644 index 0aeba22174..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF2P5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - SREF2P5 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF40.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF40.xml deleted file mode 100644 index b014017df7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF40.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - SREF40 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF45.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF45.xml deleted file mode 100644 index 83269c8aa5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SREF45.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - SREF45 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LTNG.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SolarImage.xml similarity index 52% rename from edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LTNG.xml rename to edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SolarImage.xml index 930418ed60..2b9066dd82 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/LTNG.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/SolarImage.xml @@ -1,10 +1,10 @@ - LTNG - pluginName,dataTime + SolarImage + pluginName,reportType,satellite,instrument,site,wavelength,intTime,dataTime - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/TPC_WIND_PROB.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/TPC_WIND_PROB.xml deleted file mode 100644 index 4b9c0702ba..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/TPC_WIND_PROB.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - TPC_WIND_PROB - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UAIR.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UAIR.xml deleted file mode 100644 index b9b33c13dd..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UAIR.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UAIR - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_ASIA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_ASIA.xml deleted file mode 100644 index f675601e6e..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_ASIA.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - UKENS_ASIA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_CPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_CPAC.xml deleted file mode 100644 index 1930091a94..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_CPAC.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - UKENS_CPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_NA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_NA.xml deleted file mode 100644 index 599e83b9ab..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_NA.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - UKENS_NA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_NH.xml deleted file mode 100644 index 12d569a211..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKENS_NH.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - UKENS_NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET.xml deleted file mode 100644 index 51831ccbf2..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_ASIA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_ASIA.xml deleted file mode 100644 index 2d6232c484..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_ASIA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_ASIA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_AU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_AU.xml deleted file mode 100644 index e33a9ea5b2..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_AU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_AU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_CPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_CPAC.xml deleted file mode 100644 index 2d5f23d58d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_CPAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_CPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_EU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_EU.xml deleted file mode 100644 index 515844830b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_EU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_EU - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_NA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_NA.xml deleted file mode 100644 index a33aa34221..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_NA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_NA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_NH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_NH.xml deleted file mode 100644 index 17d69d6c78..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_NH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_NH - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SA.xml deleted file mode 100644 index c740803616..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_SA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SAF.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SAF.xml deleted file mode 100644 index e9fe83645a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SAF.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_SAF - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SPAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SPAC.xml deleted file mode 100644 index 346fe47811..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/UKMET_SPAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - UKMET_SPAC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/VAAC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/VAAC.xml deleted file mode 100644 index d181dfd3d7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/VAAC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - VAAC - pluginName,areaName,resolution,imageType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WARN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WARN.xml deleted file mode 100644 index ac563a202f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WARN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WARN - pluginName,reportType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WATCH.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WATCH.xml deleted file mode 100644 index 17ed5a8fd2..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WATCH.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WATCH - pluginName,reportType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10AK.xml deleted file mode 100644 index baf6bf7516..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10AK_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10AK_2.xml deleted file mode 100644 index f799328b45..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10AK_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10AK_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10EP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10EP.xml deleted file mode 100644 index 9c602d6d02..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10EP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10EP - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10EP_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10EP_2.xml deleted file mode 100644 index de1ffb92f6..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10EP_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10EP_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WC.xml deleted file mode 100644 index db1a210e6f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10WC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WC_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WC_2.xml deleted file mode 100644 index cd780596af..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WC_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10WC_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WNA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WNA.xml deleted file mode 100644 index 1f6b0ab0e3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WNA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10WNA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WNA_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WNA_2.xml deleted file mode 100644 index 555c3b2ec3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE10WNA_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE10WNA_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE2AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE2AK.xml deleted file mode 100644 index c8e32b2e6f..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE2AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE2AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE30MAO.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE30MAO.xml deleted file mode 100644 index 83f39723c8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE30MAO.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE30MAO - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE30MGLOBAL.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE30MGLOBAL.xml deleted file mode 100644 index 58d4508f0b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE30MGLOBAL.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE30MGLOBAL - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4AK.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4AK.xml deleted file mode 100644 index a2a93ecc67..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4AK.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4AK - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4AK_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4AK_2.xml deleted file mode 100644 index 42746cc852..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4AK_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4AK_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4ENP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4ENP.xml deleted file mode 100644 index 9ce23392ba..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4ENP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4ENP - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4ENP_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4ENP_2.xml deleted file mode 100644 index 21ef9e7fcf..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4ENP_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4ENP_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WC.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WC.xml deleted file mode 100644 index 27cbc7e439..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WC.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4WC - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WC_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WC_2.xml deleted file mode 100644 index 51399f20c9..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WC_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4WC_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WNA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WNA.xml deleted file mode 100644 index 99b8a73d44..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WNA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4WNA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WNA_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WNA_2.xml deleted file mode 100644 index 69965bbe12..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVE4WNA_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVE4WNA_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVEP25WNA.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVEP25WNA.xml deleted file mode 100644 index 128155ff67..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVEP25WNA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVEP25WNA - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVEP25WNA_2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVEP25WNA_2.xml deleted file mode 100644 index 040c114af7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WAVEP25WNA_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WAVEP25WNA_2 - pluginName,info.ensembleId,info.secondaryId,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WCN.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WCN.xml deleted file mode 100644 index dbcbdce7e7..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WCN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WCN - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WCP.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WCP.xml deleted file mode 100644 index 777d6cb04b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WCP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WCP - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WOU.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WOU.xml deleted file mode 100644 index 34053fb4a8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WOU.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WOU - pluginName,reportType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSAT.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSAT.xml deleted file mode 100644 index 1d7b2c68a2..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSAT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WSAT - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSTM.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSTM.xml deleted file mode 100644 index d1b6ead951..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSTM.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WSTM - pluginName,reportType,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSTM2.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSTM2.xml deleted file mode 100644 index 5dde743f03..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/ncep/hold/NcInventoryDefinitions/WSTM2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - WSTM2 - pluginName,dataTime - - - - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/python/MasterInterface.py b/edexOsgi/build.edex/esb/data/utility/common_static/base/python/MasterInterface.py index 8710a976dc..40d6655c57 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/python/MasterInterface.py +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/python/MasterInterface.py @@ -33,6 +33,7 @@ # ------------ ---------- ----------- -------------------------- # 10/20/08 njensen Initial Creation. # 01/17/13 1486 dgilling Make a new-style class. +# 09/23/13 16614 njensen Fixed reload method # # # @@ -120,7 +121,8 @@ class MasterInterface(object): if self.isInstantiated(moduleName): self.__instanceMap.__delitem__(moduleName) if sys.modules.has_key(moduleName): - sys.modules.__delitem__(moduleName) + self.clearModuleAttributes(moduleName) + sys.modules.pop(moduleName) if moduleName in self.scripts: self.scripts.remove(moduleName) @@ -128,7 +130,8 @@ class MasterInterface(object): # we may be overriding something in self.scripts, so let's # force an import here if moduleName in self.scripts: - sys.modules.__delitem__(moduleName) + self.clearModuleAttributes(moduleName) + sys.modules.pop(moduleName) __import__(moduleName) if not moduleName in self.scripts: self.scripts.append(moduleName) @@ -140,10 +143,27 @@ class MasterInterface(object): def reloadModule(self, moduleName): if sys.modules.has_key(moduleName): - # because the user might have added or removed items - # from the module's dictionary, we cannot trust reload() here. - sys.modules.__delitem__(moduleName) - __import__(moduleName) - + # From the python documentation: + # "When a module is reloaded, its dictionary (containing the module's + # global variables) is retained. Redefinitions of names will override the + # old definitions, so this is generally not a problem. If the new version + # of a module does not define a name that was defined by the old + # version, the old definition remains." + # + # + # Because the user might have removed items + # from the module's dictionary, we cannot trust reload() to + # remove old items. We will manually remove everything + # but built-ins to ensure everything gets re-initialized when + # reload() is called. + self.clearModuleAttributes(moduleName) + reload(sys.modules[moduleName]) + + def clearModuleAttributes(self, moduleName): + if sys.modules.has_key(moduleName): + mod = sys.modules[moduleName] + modGlobalsToRemove = [k for k in mod.__dict__ if not k.startswith('_')] + for k in modGlobalsToRemove: + mod.__dict__.pop(k) - \ No newline at end of file + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/python/RollbackMasterInterface.py b/edexOsgi/build.edex/esb/data/utility/common_static/base/python/RollbackMasterInterface.py index 98fef80653..6412a65bf0 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/python/RollbackMasterInterface.py +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/python/RollbackMasterInterface.py @@ -33,17 +33,12 @@ # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # 01/17/13 dgilling Initial Creation. +# 10/09/13 16614 njensen Fixed reloadModules() # # # -import os - import MasterInterface -import RollBackImporter - -rollbackImporter = RollBackImporter.RollBackImporter() - class RollbackMasterInterface(MasterInterface.MasterInterface): @@ -75,8 +70,6 @@ class RollbackMasterInterface(MasterInterface.MasterInterface): def reloadModules(self): for script in self.scripts: - super(RollbackMasterInterface, self).removeModule(script) - rollbackImporter.rollback() - self.importModules() + super(RollbackMasterInterface, self).reloadModule(script) \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/VM_global_library.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/VM_global_library.vm index 8386264e1c..ce5032bd03 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/VM_global_library.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/VM_global_library.vm @@ -9,6 +9,7 @@ ##### Evan Bookbinder 02-06-2013 Added WrapText macro to handle customization of indents ##### like the ~ and % characters in A1. ##### Evan Bookbinder 05-05-2013 handleClosesPoints and 3rd bullet changes (OVER & now) +##### Evan Bookbinder 09-20-2013 Fixed rural area otherPoints in pathcast section, added rural phrase #################################################################################################### #* Mile Marker Test Code @@ -31,7 +32,7 @@ $simplify is a boolean value (true or false) ### AUTHORS: EVAN BOOKBINDER & MIKE DANGELO ### PURPOSE: OUTPUT MILE MARKER, ROAD, INTERSECTION INFO -#macro(mmarkers$markers $id $name $type $simplify) +#macro(mmarkers $markers $id $name $type $simplify) #set($size = ${list.size($markers)}) #if(${type.length()} > 0) #set($singType = "${type} ") @@ -415,6 +416,7 @@ ${mathUtil.round(${motspd})}KT ## ########END MACRO #macro(handleClosestPoints $list, $points1, $points2, $stormType, $nearText, $nearThreshold, $overText, $overThreshold, $units, $useSecondRef) +#if(${list.size($points1)} > 0) #if(${stormType} == "line") #set($used = []) #set($used1 = []) @@ -463,6 +465,10 @@ ${location}## ${location}## #end #end +#else +###NO POINTS FOUND +OVER ${noLocPhrase} OF !** ENTER STORM DOT COUNTY/ZONE PORTION **! +#end #end ########END MACRO @@ -517,7 +523,7 @@ ${closestPoint.roundedDistance} ${units} #direction(${closestPoint.oppositeRound ### CHECK FOR DUPLICATE COUNTY NAMES WITHIN A CWA #parse("dupCounties.vm") #foreach (${area} in ${areas}) -#if(${list.contains($dupcounties, "${area.fips}")}) +#if(${list.contains($dupcounties, "${area.state_zone}")}) #set($useStates = true) #end #end @@ -584,8 +590,10 @@ THE ## #end ${prevCounty}## #if((${prevCountyType} != ${area.areaNotation} || ${useStates} == true) && ${prevStateAbbrev} != "DC") +#if(${prevCountyType.length()} > 0) ${prevCountyType}## #end +#end #if(${useStates} == true && ${prevStateAbbrev} != "DC") IN ## #areaFormat(${prevPartOfState} ${useCentralState} ${useExtremeState} true)## @@ -603,12 +611,16 @@ ${prevCounty}## #if(${prevCountyType} != ${area.areaNotation} || ${useStates} == true) #if(${countyCount} > 1) #if(${prevCountiesType}) +#if(${prevCountiesType.length()} > 0) ${prevCountiesType}## #end +#end #elseif(${prevCountyType}) +#if(${prevCountyType.length()} > 0) ${prevCountyType}## #end #end +#end #if(${useStates} == true && ${prevStateAbbrev} != "DC") IN ## #areaFormat(${prevPartOfState} ${useCentralState} ${useExtremeState} true)## @@ -632,12 +644,16 @@ ${prevCounty}## #if(${prevStateAbbrev} != "DC" && (${prevCountyType} != ${area.areaNotation} || (${prevCountyType} != ${area.areaNotation} || ((${prevState} != ${area.parentRegion} || ${prevPartOfState} != ${partOfState}) && ${useStates} == true)))) #if(${countyCount} > 1) #if(${prevCountiesType}) +#if(${prevCountiesType.length()} > 0) ${prevCountiesType}## #end +#end #elseif(${prevCountyType}) +#if(${prevCountyType.length()} > 0) ${prevCountyType}## #end #end +#end #if((${prevCountyType} != ${area.areaNotation} || ((${prevState} != ${area.parentRegion} || ${prevPartOfState} != ${partOfState}) && ${useStates} == true)) && ${prevStateAbbrev} != "DC") IN ## #areaFormat(${prevPartOfState} ${useCentralState} ${useExtremeState} true)## @@ -652,9 +668,9 @@ THE ## #end ${area.name}## #if(${area.areasNotation}) -#if(${countyCount} >= 1) +#if(${countyCount} >= 1 && ${area.areasNotation.length()} > 0) ${area.areasNotation}## -#else +#elseif(${area.areasNotation.length()} > 0) ${area.areaNotation}## #end #end @@ -677,7 +693,10 @@ THE ## #if(${area.partOfArea}) #areaFormat(${area.partOfArea} ${useCentralCounty} ${useExtremeCounty} true)## #end -${area.name} ${area.areaNotation}## +${area.name}## +#if(${area.areasNotation.length()} > 0) + ${area.areaNotation}## +#end #if(${useStates} == true && ${area.stateabbr} != "DC") IN ## #areaFormat(${partOfState} ${useCentralState} ${useExtremeState} true)## @@ -858,7 +877,11 @@ THE ## #end ${prevZone}## #if(${useStates} == true && ${prevStateAbbrev} != "DC") +#if(${prevStateAbbrev.length()} > 0) IN ## +#else +IN ## +#end #areaFormat(${prevPartOfState} ${useCentralState} ${useExtremeState} true)## ${prevState}## #end @@ -872,7 +895,11 @@ THE ## #end ${prevZone}## #if(${useStates} == true && ${prevStateAbbrev} != "DC") +#if(${prevStateAbbrev.length()} > 0) IN ## +#else +IN ## +#end #areaFormat(${prevPartOfState} ${useCentralState} ${useExtremeState} true)## ${prevState}## #end @@ -892,7 +919,11 @@ THE ## #end ${prevZone}## #if(((${prevState} != ${area.parentRegion} || ${prevPartOfState} != ${partOfState}) && ${useStates} == true)) && ${prevStateAbbrev} != "DC") +#if(${prevStateAbbrev.length()} > 0) IN ## +#else +IN ## +#end #areaFormat(${prevPartOfState} ${useCentralState} ${useExtremeState} true)## ${prevState}## #end @@ -905,7 +936,11 @@ THE ## #end ${area.name}## #if(${useStates} == true && ${prevStateAbbrev} != "DC") +#if(${prevStateAbbrev.length()} > 0) IN ## +#else +IN ## +#end #areaFormat(${partOfState} ${useCentralState} ${useExtremeState} true)## ${area.parentRegion}## #end @@ -921,7 +956,11 @@ THE ## #end ${area.name} ## #if(${useStates} == true && ${area.stateabbr} != "DC") +#if(${area.stateabbr.length()} > 0) IN ## +#else +IN ## +#end #areaFormat(${partOfState} ${useCentralState} ${useExtremeState} true)## ${area.parentRegion}## #end @@ -968,7 +1007,11 @@ ${prevZone}## #if(${area.partOfArea}) #areaFormat(${area.partOfArea} true true true)## #end +#if(${area.areaNotation.length()} > 0) ${area.name} ${area.areaNotation} IN ## +#else +${area.name} IN ## +#end #areaFormat(${area.partOfParentRegion} true false true)## ${area.parentRegion}... ##OUTPUT FOR D.C. @@ -1009,6 +1052,14 @@ ${area.parentRegion}... #elseif(${list.size($areas)} == 1 && ${list.get(${areas},0).stateabbr} == "LA") THE FOLLOWING PARISH... +##ONE LOCATION AND ONLY Alaska +#elseif(${list.size($areas)} == 1 && ${list.get(${areas},0).stateabbr} == "AK") +THE FOLLOWING AREA... + +##ONE LOCATION AND ONLY PR +#elseif(${list.size($areas)} == 1 && ${list.get(${areas},0).stateabbr} == "PR") +THE FOLLOWING MUNICIPALITY... + ##ONE LOCATION OTHERWISE #elseif(${list.size($areas)} == 1) THE FOLLOWING COUNTY... @@ -1020,8 +1071,16 @@ THE FOLLOWING COUNTY... #end #end #if(${parishFlag} == 0) +#if(${area.stateabbr} == "AK") +THE FOLLOWING MUNICIPALITIES... + +#elseif(${area.stateabbr} == "PR") +THE FOLLOWING AREAS... + +#else THE FOLLOWING COUNTIES... +#end #elseif(${list.size($areas)} == ${parishFlag}) THE FOLLOWING PARISHES... @@ -1191,15 +1250,15 @@ ${location}## #if($marineFlag == 1) ${otherLead} WILL REMAIN OVER MAINLY OPEN WATERS. #else -${otherLead} WILL REMAIN OVER MAINLY RURAL AREAS OF ## +${otherLead} WILL REMAIN OVER ${noLocPhrase} OF ## #headlineLocList(${areas} true true true false).## ###NOW SEARCH FOR OTHER POINTS (PRESUMABLY 3s) AND LIST THEM HERE ### NEED TO CODE THIS ONCE SECTION IS ADDED -#set($numOtherPoints = ${list.size($thirdTier)}) +#set($numOtherPoints = ${list.size($otherPoints)}) #if($numOtherPoints > 0) -..INCLUDING THE FOLLOWING LOCATIONS ## +..INCLUDING THE FOLLOWING LOCATIONS...## #set($count = 0) -#foreach(${loc} in ${thirdTier}) +#foreach(${loc} in ${otherPoints}) #set($count = $count + 1) #if(${loc.partOfArea}) #set($location = "#areaFormat(${loc.partOfArea} true false false) ${loc.name}") @@ -1207,7 +1266,7 @@ ${otherLead} WILL REMAIN OVER MAINLY RURAL AREAS OF ## #else #set($location = "${loc.name}") #end -${location.name}## +${location}## #if($count == $numOtherPoints - 1) AND ## #elseif($count < $numOtherPoints) @@ -1376,7 +1435,7 @@ AND ${strOutput} ${ruralPhrase} WILL REMAIN OVER MAINLY OPEN WATERS. #else ## NO MAJOR POINTS FOUND. LIST RURAL AREAS -${ruralPhrase} WILL REMAIN OVER MAINLY RURAL AREAS OF #headlineLocList(${areas} true true true false).## +${ruralPhrase} WILL REMAIN OVER ${noLocPhrase} OF #headlineLocList(${areas} true true true false).## #set($numMinorPoints = ${list.size($otherLocList)}) #if(${numMinorPoints} == 1) ..WHICH INCLUDES ## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.vm index 6e81ff75e1..925363999f 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.vm @@ -2,10 +2,10 @@ ## AIRPORT WEATHER WARNING TEMPLATE ## ## EXAMPLE TEMPLATE USING HUNTSVILLE PRODUCT ## ## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- APR 12 2012 ## -## VERSION AWIPS II 1.1 -- SEP 12 2012 OB12.9.1-12 ## -###################################################### +## UPDATED EVAN BOOKBINDER 9-18-2013 Implemented config.vm +################################################################## ## +#parse("config.vm") ${WMOId} ${vtecOffice} 000000 ${BBBId} AWW${siteId} #if(${productClass}=="T") @@ -23,11 +23,14 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #end ${ugcline} -#set($zoneList = "") #foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end -${zoneList} +-## +#end + ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -108,8 +111,6 @@ FOR THE FOLLOWING THREATS... #end -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") #end ############# ## WATCHES ## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.xml index bcfb659b62..515b9be7ff 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/airportWeatherWarning.xml @@ -2,9 +2,24 @@ + Updated Evan Bookbinder 5-5-13 to change units per Directive + Phil Kurimski 09-19-2013 added geospatialConfig.xml +--> + + + + + + + + + nmi kn @@ -16,9 +31,10 @@ ACARS Airport Locations Forecast Zones - + + COR @@ -96,168 +112,4 @@ - - - - - - - - - Zone - 0 - AND - 0 - - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - STATE_ZONE - - NAME - - parent - - - - - - - 25 - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - warngenlev - - - - - AREA - true - 8.0 - 5 - 5 - 10 - 8 - Name - - NAME --> - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.vm index ecc8003cf1..d24a1e0afd 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.vm @@ -1,18 +1,21 @@ #################### ## FLOOD ADVISORY ## #################### -################################################################################## -## Edited by Phil Kurimski 8-17-2011 for OB11.8.0-4 ## -## Evan Bookbinder 9-16-2011 for OB11.8.0-8 ## -## Mike Dangelo 9-19-2011 at Alaska TIM ## -## Mike Dangelo 1-25-2012 at CRH TIM ## -## Evan Bookbinder 2-24-2012 ## -## Phil Kurimski 2-28-2012 for OB 12.2.1-3 ## -## Evan Bookbinder 4-25-2012 for OB 12.3.1 (MND) ## -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## -## Phil Kurimski 9-13-2012 for OB 12.9.1-12 ## -## Phil Kurimski 2-05-2013 for OB13.2.1-3 Added rain so far section ## -################################################################################## +################################################################################### +## Edited by Phil Kurimski 08-17-2011 for OB11.8.0-4 ## +## Evan Bookbinder 09-16-2011 for OB11.8.0-8 ## +## Mike Dangelo 09-19-2011 at Alaska TIM ## +## Mike Dangelo 01-25-2012 at CRH TIM ## +## Evan Bookbinder 02-24-2012 ## +## Phil Kurimski 02-28-2012 for OB 12.2.1-3 ## +## Evan Bookbinder 04-25-2012 for OB 12.3.1 (MND) ## +## Mike Dangelo 09-13-2012 minor tweaks to ${variables} ## +## Phil Kurimski 09-13-2012 for OB 12.9.1-12 ## +## 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 +################################################################################### +#parse("config.vm") #if(${action} == "EXT") #set($starttime = "000000T0000Z") #set($extend = true) @@ -90,7 +93,11 @@ ${ugcline} /${productClass}.${action}.${vtecOffice}.FA.Y.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -149,76 +156,76 @@ ${advType} FOR... #set($rainAmount = "!** RAINFALL AMOUNTS **! INCHES OF RAIN HAVE FALLEN.") #end #if(${list.contains(${bullets}, "doppler")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") + #set($report = "DOPPLER RADAR INDICATED ${cause} THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA.") #end #if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "actual")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} CAUSING ${advTypeShort}${report2} IN THE ADVISORY AREA") + #set($report = "DOPPLER RADAR INDICATED ${cause} CAUSING ${advTypeShort}${report2} IN THE ADVISORY AREA.") #end #if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") + #set($report = "DOPPLER RADAR INDICATED ${cause} DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA.") #end #if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} WHICH WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") + #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} WHICH WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA.") #end #if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "actual")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} CAUSING ${advTypeShort}${report2} IN THE ADVISORY AREA") + #set($report = "DOPPLER RADAR INDICATED ${cause} CAUSING ${advTypeShort}${report2} IN THE ADVISORY AREA.") #end #if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") + #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA.") #end #if(${list.contains(${bullets}, "trainedSpotters")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}") + #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "actual")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") + #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}") + #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "actual")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") + #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "emergencyManagement")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}") + #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "actual")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") + #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "THE PUBLIC REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}") + #set($report = "THE PUBLIC REPORTED ${cause} IN !** LOCATION **! DUE TO THUNDERSTORMS. THIS WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "actual")}) - #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") + #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}.") #end #if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "THE PUBLIC REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") + #set($report = "THE PUBLIC REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "satelliteEstimates")}) - #set($report = "SATELLITE ESTIMATES INDICATE ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") + #set($report = "SATELLITE ESTIMATES INDICATE ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}.") #end #if(${list.contains(${bullets}, "satelliteEstimates")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "SATELLITE ESTIMATES INDICATE ${cause} FROM THUNDERSTORMS OVER !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") + #set($report = "SATELLITE ESTIMATES INDICATE ${cause} FROM THUNDERSTORMS OVER !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}.") #end * ## #if(${productClass}=="T") @@ -228,21 +235,76 @@ THIS IS A TEST MESSAGE. ## ###Leave two blank lines here######### +################################# +######## THIRD BULLET ########### +################################# * ## #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}) -...${report}. ${rainAmount} +#if(${stormType} == "line") +...A LINE OF THUNDERSTORMS PRODUCING HEAVY RAIN WAS 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} +#else +###############IF TRACK IS NOT ENABLED OR stormPosition IS NOT SELECTED ####################################### +#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) +...${report} ${rainAmount} +#end -#set($phenomena = "FLOOD") -#set($warningType = "ADVISORY") +############################################################# +######## FOURTH BULLET (OPTIONAL IN FLOOD PRODUCTS) ######### +############################################################# +############# IF TRACK IS ENABLED AND pathcast AND stormPosition BOTH SELECTED ############################################### +#if(${list.contains(${bullets},"pathcast")} && ${list.contains(${bullets}, "stormPosition")}) * ## #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## #end -#locationsList("SOME LOCATIONS THAT WILL EXPERIENCE MINOR FLOODING INCLUDE" "MINOR FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) +#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($floodType = "FLOODING") +* ## +#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 FOURTH BULLET ############################## +###################################### +###### WHERE ADD INFO GOES ########### +###################################### #if(${list.contains(${bullets}, "addRainfall")}) ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THIS ADDITIONAL RAIN WILL MAKE MINOR FLOODING. @@ -255,8 +317,9 @@ ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THI #drainages(${riverdrainages}) #end -## parse file command here is to pull in mile marker info +## parse file commands here pull in mile marker and/or point marker info ## #parse("mileMarkers.vm") +## #parse("pointMarkers.vm") ##################### ## CALL TO ACTIONS ## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.xml index d773113741..dd7fa2792f 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory.xml @@ -9,10 +9,25 @@ Evan Bookbinder 09-12-2012 Added settings for locations shapefile Added new areaSource object Phil Kurimski 02-05-2013 Added rain so far section + Mike Dangelo 09-18-2013 to optionally allow =true for pathcasting, and add pointMarker.xml 'include' + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -47,6 +62,11 @@ true + + false + 180 @@ -102,6 +122,7 @@ + @@ -109,6 +130,7 @@ + @@ -150,16 +172,17 @@ + - - - - + + + + @@ -200,16 +223,16 @@ + - - - + + @@ -226,118 +249,6 @@ -false - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.vm index 3f53c37c24..e495c4981c 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.vm @@ -2,15 +2,14 @@ ## FLOOD ADVISORY FOLLOW-UP ## ############################## ################################################################################## -## EDITED BY PHIL KURIMSKI 8-18-2011 FOR OB11.8.0-4 ## -## EVAN BOOKBINDER 9-16-2011 FOR OB11.0.8-8 ## -## Mike Dangelo 9-19-2011 at Alaska TIM ## -## Mike and Phil 1-25-2012 at CRH TIM ## -## Evan Bookbinder 2-24-2012 ## +## RECENT VERSION HISTORY: ## Phil Kurimski 2-28-2012 for OB 12.2.1-3 ## ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## ## Phil Kurimski 2-05-2013 for OB13.2.1-3 Added rain so far section ## +## Mike Dangelo 9-18-2013 added initial position and pathcasting options +## Evan Bookbinder 9-18-2013 implemented config.vm ################################################################################## +#parse("config.vm") #if(${action} == "EXT") #set($starttime = "000000T0000Z") #set($extend = true) @@ -175,7 +174,11 @@ ${ugcline} /${productClass}.${action}.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -238,27 +241,67 @@ THIS IS A TEST MESSAGE.## #end ...THE ${advType} ${hycType}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## #headlineLocList(${areas} true true true false)... -########### END NEW HEADLINE CODE #################### +########### END HEADLINE CODE #################### #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}) -...!** warning basis **! +#if(${stormType} == "line") +...A LINE OF THUNDERSTORMS PRODUCING HEAVY RAIN WAS 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} +#else +###############IF TRACK IS NOT ENABLED OR stormPosition IS NOT SELECTED ####################################### #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report}. ${rainAmount} -#end -#set ($phenomena = "FLASH FLOOD") -#set ($warningType = "ADVISORY") +#end +############################################ +######## (CITY LIST) ######### +############################################ +############# IF TRACK IS ENABLED AND pathcast AND stormPosition BOTH SELECTED ############################################### +#if(${list.contains(${bullets},"pathcast")} && ${list.contains(${bullets}, "stormPosition")}) #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## #end -#locationsList("SOME LOCATIONS THAT WILL EXPERIENCE MINOR FLOODING INCLUDE" "THIS FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) +#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")}) +#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..." "THIS FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) + +#end #if(${list.contains(${bullets}, "addRainfall")}) ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THIS ADDITIONAL RAIN WILL MAKE MINOR FLOODING. @@ -349,7 +392,11 @@ ${ugclinecan} /${productClass}.CAN.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -363,6 +410,8 @@ THIS IS A TEST MESSAGE.## #end ...THE ${advType} ${hycType}HAS BEEN CANCELLED FOR ## #headlineLocList(${cancelareas} true true true false)... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false)... ########### END NEW HEADLINE CODE #################### !** THE HEAVY RAIN HAS ENDED (AND/OR) FLOOD WATER IS RECEDING. THEREFORE...THE FLOODING THREAT HAS ENDED. **! @@ -380,7 +429,11 @@ ${ugcline} /${productClass}.CON.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -430,6 +483,8 @@ MINOR FLOODING IS OCCURRING NEAR !** Enter Location **!. ## parse file command here is to pull in mile marker info ## #parse("mileMarkers.vm") +## Uncomment below pull in point marker info +## #parse("pointMarkers.vm") ##################### ## CALL TO ACTIONS ## @@ -502,7 +557,11 @@ ${ugclinecan} /${productClass}.COR.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -533,7 +592,11 @@ ${ugcline} /${productClass}.COR.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.xml index 5c6a5e58a5..baf4575499 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup.xml @@ -9,9 +9,24 @@ Evan Bookbinder 09-12-2012 Added settings for locations shapefile Added new areaSource object Phil Kurimski 02-05-2013 Added rain so far section + Mike Dangelo 09-18-2013 to optionally allow =true for pathcasting, and add pointMarker.xml 'include' + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -45,6 +60,11 @@ true + + false + 30 @@ -110,16 +130,16 @@ + - - - + + @@ -155,16 +175,16 @@ + - - - + + @@ -181,117 +201,6 @@ -false - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.vm deleted file mode 100644 index d08608219d..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.vm +++ /dev/null @@ -1,826 +0,0 @@ -#################################### -## FLOOD ADVISORY FOLLOW-UP ZONES ## -#################################### -## Created by Mike Dangelo 09-19-2011 at Alaska TIM for zones -## Edited by Mike Dangelo 01-26-2012 at CRH TIM -## Edited by Phil Kurimski 2-29-2012 -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -## -#if(${action} == "EXT") - #set($starttime = "000000T0000Z") - #set($extend = true) -#else - #set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})}) - #set($extend = false) -#end -## -#if(${list.contains(${bullets}, "uss")}) - #set($advType = "URBAN AND SMALL STREAM FLOOD ADVISORY") - #set($advTypeShort = "URBAN AND SMALL STREAM FLOODING") -#elseif(${list.contains(${bullets}, "small")}) - #set($advType = "SMALL STREAM FLOOD ADVISORY") - #set($advTypeShort = "SMALL STREAM FLOODING") -#elseif(${list.contains(${bullets}, "arroyo")}) - #set($advType = "ARROYO AND SMALL STREAM FLOOD ADVISORY") - #set($advTypeShort = "ARROYO AND SMALL STREAM FLOODING") -#elseif(${list.contains(${bullets}, "hydrologic")}) - #set($advType = "HYDROLOGIC ADVISORY") - #set($advTypeShort = "MINOR FLOODING") -#else - #set($advType = "FLOOD ADVISORY") - #set($advTypeShort = "MINOR FLOODING") -#end -#if(${ic} == "SM") - #set($hycType = "FOR MELTING SNOW IN") -#elseif(${ic} == "RS") - #set($hycType = "FOR RAIN AND MELTING SNOW IN") -#elseif(${ic} == "IJ") - #set($hycType = "FOR ICE JAM FLOODING IN") -#elseif(${ic} == "IC") - #set($hycType = "FOR AN ICE JAM AND RAIN") -#elseif(${list.contains(${bullets}, "ic1")}) - #set($hycType = "FOR RAPID RIVER RISES IN") -#elseif(${list.contains(${bullets}, "ic2")}) - #set($hycType = "FOR MINOR FLOODING OF POOR DRAINAGE AREAS IN") -#end -#set($hycType = "") -#set($report = "!** warning basis **!") -#set($typeofevent = "") -#set($report2 = "") -#set($cause = "HEAVY RAIN") -#if(${list.contains(${bullets}, "rapidRiver")}) - #set($report2 = ". RAPID RIVER RISES WILL RESULT IN MINOR FLOODING") - #set($hycType = "FOR RAPID RIVER RISES ") -#end -#if(${list.contains(${bullets}, "poorDrainage")}) - #set($report2 = ". OVERFLOWING POOR DRAINAGE AREAS WILL RESULT IN MINOR FLOODING") - #set($hycType = "FOR MINOR FLOODING OF POOR DRAINAGE AREAS ") -#end -#if(${ic} == "SM") - #set($cause = "SNOW MELT") - #set($hycType = "FOR MELTING SNOW ") -#end -#if(${ic} == "RS") - #set($cause = "HEAVY RAIN AND SNOW MELT") - #set($hycType = "FOR RAIN AND MELTING SNOW ") -#end -#if(${ic} == "IJ") - #set($cause = "AN ICE JAM") - #set($hycType = "FOR ICE JAM FLOODING ") -#end -#if(${ic} == "IC") - #set($cause = "AN ICE JAM AND HEAVY RAIN") -#end -#if(${list.contains(${bullets}, "rapidRiver")}) - #set($typeofevent = ". RAPID RIVER RISES ARE EXPECTED") -#end -#if(${list.contains(${bullets}, "poorDrainage")}) - #set($typeofevent = ". OVERFLOWING POOR DRAINAGE AREAS WILL RESULT IN MINOR FLOODING") -#end -#if(${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "A GLACIER-DAMMED LAKEOUTBURST FLOOD WILL RESULT IN MINOR FLOODING AT !** LOCATION **!") -#end -#if(${list.contains(${bullets}, "groundWater")}) - #set($report = "RISING GROUND WATER LEVELS WILL RESULT IN MINOR FLOODING AT !** LOCATION **!") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($report = "SATELLITE ESTIMATES INDICATE HEAVY RAINFALL THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "satelliteGauge")}) - #set($report = "SATELLITE ESTIMATES AND RAIN GAUGE DATA INDICATE HEAVY RAINFALL THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "doppler")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR INDICATED ${cause} DUE TO A LINE OF THUNDERSTORMS THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} DUE TO A LINE OF THUNDERSTORMS THAT WILL CAUSE ${advTypeShort}${report2} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "trainedSpotters")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}${report2}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "actual")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "A TRAINED SPOTTER REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "A TRAINED SPOTTER REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO A THUNDERSTORM IN THAT WILL CAUSE ${advTypeShort}${report2}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "actual")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${report2}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "emergencyManagement")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO A THUNDERSTORM IN THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "actual")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "THE PUBLIC REPORTED ${advTypeShort} IN !** LOCATION **! DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "actual")}) - #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${report2}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "THE PUBLIC REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE MINOR FLOODING${report2}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "THE PUBLIC REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "THE PUBLIC REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "doppler")} || ${list.contains(${bullets}, "dopplerGauge")}) -#set($estimate = "UP TO !** Number **! INCHES OF RAIN HAS FALLEN IN THE PAST HOUR.") -#else -#set($estimate = "") -#end -########################################## -## FLOOD ADVISORY FOLLOW-UP HEADER INFO ## -########################################## -#if(${action}=="COR" && ${cancelareas}) -#set($CORCAN = "true") -#else -#set($CORCAN = "false") -#end -#if(${action}!="CANCON" && ${CORCAN}!="true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD ADVISORY...TEST -#else -FLOOD ADVISORY -#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}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#end -######################## -## FLOOD ADVISORY CAN ## -######################## -#if(${action}=="CAN") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE ${advType} ${hycType}HAS BEEN CANCELLED FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... - -########### END NEW HEADLINE CODE #################### - -#if(${list.contains(${bullets}, "recedingWater")}) -THE HIGH WATER IS RECEDING...AND IS NO LONGER EXPECTED TO POSE A THREAT. PLEASE CONTINUE TO HEED ANY ROAD CLOSURES. - -#end -#if(${list.contains(${bullets}, "rainEnded")}) -THE HEAVY RAIN HAS ENDED...AND FLOODING IS NO LONGER EXPECTED TO POSE A THREAT. - -#else -!** THE HEAVY RAIN HAS ENDED. !** OR **! THE FLOOD WATER IS RECEDING. THEREFORE...THE FLOODING THREAT HAS ENDED. **! - -#end -#end -######################## -## FLOOD ADVISORY EXP ## -######################## -#if(${action}=="EXP") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE ${advType} ${hycType}## -#if(${now.compareTo(${expire})} > -1) -EXPIRED AT ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} FOR ## -#else -WILL EXPIRE AT ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} FOR ## -#end -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... - -########### END NEW HEADLINE CODE #################### - -#if(${list.contains(${bullets}, "recedingWater")}) -THE HIGH WATER IS RECEDING...AND IS NO LONGER EXPECTED TO POSE A THREAT. PLEASE CONTINUE TO HEED ANY ROAD CLOSURES. - -#end -#if(${list.contains(${bullets}, "rainEnded")}) -THE HEAVY RAIN HAS ENDED...AND FLOODING IS NO LONGER EXPECTED TO POSE A THREAT. - -#end -#end -######################## -## FLOOD ADVISORY CON ## -######################## -#if(${action}=="CON" || ${action}=="COR") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE ${advType} ${hycType}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... - -########### END NEW HEADLINE CODE #################### - -#if(${productClass}=="T") - -THIS IS A TEST MESSAGE. ## -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...!** warning basis **! -#else - -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...${report}. ${estimate} -#end - -#set($phenomena = "FLASH FLOOD") -#set($warningType = "ADVISORY") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -## REMMED OUT FOR Alaska -## #locationsList("SOME LOCATIONS THAT WILL EXPERIENCE MINOR FLOODING INCLUDE" "THE FLOODING IS EXPECTED TO IMPACT MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) EXCLUDED FOR ALASKA -#if(${list.contains(${bullets}, "fcstPoint")}) -FOR THE !** insert river name and forecast point **!... -AT ${dateUtil.format(${now}, ${timeFormat.clock}, ${localtimezone})} THE STAGE WAS !** xx.x **! FEET. -FLOOD STAGE IS !** xx.x **! FEET. -FORECAST... !** insert crest stage and time **!. -IMPACTS...!** discussion of expected impacts and flood path **! -#else -!** insert impacts and flood path **! - -#end - -#if(${list.contains(${bullets}, "addRainfall")}) -ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THIS ADDITIONAL RAIN WILL CAUSE MINOR FLOODING. - -#end -#if(${list.contains(${bullets}, "specificPlace")}) -MINOR FLOODING IS OCCURRING NEAR !** Enter Location **!. - -#end -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -##################### -## CALL TO ACTIONS ## -##################### -##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}, "dontdrownCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "urbanCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER IN URBAN AREAS...HIGHWAYS...STREETS AND UNDERPASSES AS WELL AS OTHER POOR 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...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}, "donotdriveCTA")}) -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}, "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 ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${list.contains(${bullets}, "powerCTA")}) -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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${list.contains(${bullets}, "advisoryMeansCTA")}) -A FLOOD ADVISORY MEANS RIVER OR STREAM FLOWS ARE ELEVATED OR PONDING OF WATER IN URBAN OR OTHER AREAS IS OCCURRING OR IS IMMINENT. KEEP AN EYE ON WATERWAYS AND BE PREPARED TO TAKE ACTION. - -#end -#if(${ctaSelected} == "YES") -&& - -#end -#################################### END OF CTA STUFF ################################### -#end -############################ -## FLOOD ADVISORY CAN/CON ## -############################ -#if(${action}=="CANCON") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD ADVISORY...TEST -#else -FLOOD ADVISORY -#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}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#elseif(${CORCAN} == "true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD ADVISORY...TEST -#else -FLOOD ADVISORY -#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}.COR.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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 ${advType} ${hycType}HAS BEEN CANCELLED FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${cancelareas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${cancelaffectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... -########### END NEW HEADLINE CODE #################### - -## One line explanation - user can delete the one they don't want -## or delete both and explain why manually -!** THE HEAVY RAIN HAS ENDED. THEREFORE...THE FLOODING THREAT HAS ENDED. **! -!** THE FLOOD WATER IS RECEDING. THEREFORE...THE FLOODING THREAT HAS ENDED. **! - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end -#printcoords(${areaPoly}, ${list}) - - -$$ - -${ugcline} -/${productClass}.CON.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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 ${advType} REMAINS IN EFFECT UNTIL ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... -########### END NEW HEADLINE CODE #################### - -#if(${productClass}=="T") - -THIS IS A TEST MESSAGE. ## -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...!** warning basis **! -#else - -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...${report}. ${estimate} -#end - -#set($phenomena = "FLASH FLOOD") -#set($warningType = "ADVISORY") - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -##locationsList("SOME LOCATIONS THAT WILL EXPERIENCE MINOR FLOODING INCLUDE" "THE FLOODING IS EXPECTED TO IMPACT MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) EXCLUDED FOR ALASKA -#if(${list.contains(${bullets}, "fcstPoint")}) -FOR THE !** insert river name and forecast point **!... -AT ${dateUtil.format(${now}, ${timeFormat.clock}, ${localtimezone})} THE STAGE WAS !** xx.x **! FEET. -FLOOD STAGE IS !** xx.x **! FEET. -FORECAST... !** insert crest stage and time **!. -IMPACTS...!** discussion of expected impacts and flood path **! -#else -!** insert impacts and flood path **! - -#end -#if(${list.contains(${bullets}, "addRainfall")}) - -ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THIS ADDITIONAL RAIN WILL MAKE MINOR FLOODING. -#end -#if(${list.contains(${bullets}, "specificPlace")}) - -MINOR FLOODING IS OCCURRING NEAR !** Enter Location **!. -#end - -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end -##################### -## CALL TO ACTIONS ## -##################### -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("CTA")}) -#set($ctaSelected = "YES") -#end -#end -## -#if(${ctaSelected} == "YES") -PRECAUTIONARY/PREPAREDNESS ACTIONS... - -#end -#if(${list.contains(${bullets}, "dontdrownCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "urbanCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER IN URBAN AREAS...HIGHWAYS...STREETS AND UNDERPASSES AS WELL AS OTHER POOR 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...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}, "donotdriveCTA")}) -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}, "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 ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${list.contains(${bullets}, "powerCTA")}) -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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${list.contains(${bullets}, "advisoryMeansCTA")}) -A FLOOD ADVISORY MEANS RIVER OR STREAM FLOWS ARE ELEVATED...OR PONDING OF WATER IN URBAN OR OTHER AREAS IS OCCURRING OR IS IMMINENT. DO NOT ATTEMPT TO TRAVEL ACROSS FLOODED ROADS. FIND ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${ctaSelected} == "YES") -&& - -#end -#################################### END OF CTA STUFF ################################### -#elseif(${CORCAN}=="true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD ADVISORY...TEST -#else -FLOOD ADVISORY -#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}.COR.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#elseif(${CORCAN} == "true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD ADVISORY...TEST -#else -FLOOD ADVISORY -#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}.COR.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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 ${advType} ${hycType}HAS BEEN CANCELLED FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${cancelareas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${cancelaffectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... -########### END NEW HEADLINE CODE #################### - -## One line explanation - user can delete the one they don't want -## or delete both and explain why manually -!** THE HEAVY RAIN HAS ENDED. THEREFORE...THE FLOODING THREAT HAS ENDED. **! -!** THE FLOOD WATER IS RECEDING. THEREFORE...THE FLOODING THREAT HAS ENDED. **! - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end -#printcoords(${areaPoly}, ${list}) - - -$$ - -${ugcline} -/${productClass}.COR.${vtecOffice}.FA.Y.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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 ${advType} REMAINS IN EFFECT UNTIL ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... -########### END NEW HEADLINE CODE #################### - -#if(${productClass}=="T") - -THIS IS A TEST MESSAGE. ## -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...!** warning basis **! -#else - -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...${report}. ${estimate} -#end - -#set($phenomena = "FLASH FLOOD") -#set($warningType = "ADVISORY") - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -##locationsList("SOME LOCATIONS THAT WILL EXPERIENCE MINOR FLOODING INCLUDE" "THE FLOODING IS EXPECTED TO IMPACT MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) EXCLUDED FOR ALASKA -#if(${list.contains(${bullets}, "fcstPoint")}) -FOR THE !** insert river name and forecast point **!... -AT ${dateUtil.format(${now}, ${timeFormat.clock}, ${localtimezone})} THE STAGE WAS !** xx.x **! FEET. -FLOOD STAGE IS !** xx.x **! FEET. -FORECAST... !** insert crest stage and time **!. -IMPACTS...!** discussion of expected impacts and flood path **! -#else -!** insert impacts and flood path **! - -#end -#if(${list.contains(${bullets}, "addRainfall")}) - -ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THIS ADDITIONAL RAIN WILL MAKE MINOR FLOODING. -#end -#if(${list.contains(${bullets}, "specificPlace")}) - -MINOR FLOODING IS OCCURRING NEAR !** Enter Location **!. -#end - -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end -##################### -## CALL TO ACTIONS ## -##################### -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("CTA")}) -#set($ctaSelected = "YES") -#end -#end -## -#if(${ctaSelected} == "YES") -PRECAUTIONARY/PREPAREDNESS ACTIONS... - -#end -#if(${list.contains(${bullets}, "dontdrownCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "urbanCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER IN URBAN AREAS...HIGHWAYS...STREETS AND UNDERPASSES AS WELL AS OTHER POOR 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...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}, "donotdriveCTA")}) -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}, "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 ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${list.contains(${bullets}, "powerCTA")}) -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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${list.contains(${bullets}, "advisoryMeansCTA")}) -A FLOOD ADVISORY MEANS RIVER OR STREAM FLOWS ARE ELEVATED...OR PONDING OF WATER IN URBAN OR OTHER AREAS IS OCCURRING OR IS IMMINENT. DO NOT ATTEMPT TO TRAVEL ACROSS FLOODED ROADS. FIND ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${ctaSelected} == "YES") -&& - -#end -#end -#################################### -## END OF FLOOD ADVISORY PRODUCTS ## -#################################### -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end - -#printcoords(${areaPoly}, ${list}) - - -$$ - -#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.xml deleted file mode 100644 index b1c7b3fd20..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.xml +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - - - mi - mph - - - - Forecast Zones - - - - - - - - COR - CAN - CON - EXP - - - - - FA.Y - - - - false - - - true - - - - 30 - - 30 - - -ic,advType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - - - AREA - true - 8.0 - 5 - 5 - 4 - 8 - Name - - NAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - AREA - 1 - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory_Zones.vm deleted file mode 100644 index 85ce41f807..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory_Zones.vm +++ /dev/null @@ -1,374 +0,0 @@ -############################ -## FLOOD ADVISORY ZONES ## -############################ -## Created by Mike Dangelo 9-21-2011 at Alaska TIM ## -## Mary-Beth Schreck, Ed Plumb, Aaron Jacobs 9-22-2011 at Alaska TIM -## Mike Dangelo 01-26-2012 at CRH TIM -## Phil Kurimski 2-29-2012 -## Evan Bookbinder 4-25-2012 for OB 12.3.1 (MND) -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -## Mike Dangelo 2-06-2013 default bullets for advType, advTypeShort, ic and hycType -## -#if(${action} == "EXT") - #set($starttime = "000000T0000Z") - #set($extend = true) -#else - #set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})}) - #set($extend = false) -#end -## -#set($advType = "FLOOD ADVISORY") -#set($advTypeShort = "MINOR FLOODING") -#if(${list.contains(${bullets}, "general")}) - #set($advType = "FLOOD ADVISORY") - #set($advTypeShort = "MINOR FLOODING") -#elseif(${list.contains(${bullets}, "small")}) - #set($advType = "SMALL STREAM FLOOD ADVISORY") - #set($advTypeShort = "SMALL STREAM FLOODING") -#elseif(${list.contains(${bullets}, "uss")}) - #set($advType = "URBAN AND SMALL STREAM FLOOD ADVISORY") - #set($advTypeShort = "URBAN AND SMALL STREAM FLOODING") - #set($extend = false) -#elseif(${list.contains(${bullets}, "arroyo")}) - #set($advType = "ARROYO AND SMALL STREAM FLOOD ADVISORY") - #set($advTypeShort = "ARROYO AND SMALL STREAM FLOODING") - #set($extend = false) -#elseif(${list.contains(${bullets}, "hydrologic")}) - #set($advType = "HYDROLOGIC ADVISORY") - #set($advTypeShort = "MINOR FLOODING") - #set($extend = false) -#end -## -#set($ic = "ER") -#set($hycType = "") -#if(${list.contains(${bullets}, "ER")}) - #set($ic = "ER") - #set($hycType = "") -#elseif(${list.contains(${bullets}, "SM")}) - #set($ic = "SM") - #set($hycType = "MELTING SNOW") -#elseif(${list.contains(${bullets}, "RS")}) - #set($ic = "RS") - #set($hycType = "RAIN AND MELTING SNOW") -#elseif(${list.contains(${bullets}, "IJ")}) - #set($ic = "IJ") - #set($hycType = "ICE JAM FLOODING") -#elseif(${list.contains(${bullets}, "IC")}) - #set($ic = "IC") -#elseif(${list.contains(${bullets}, "rapidRiver")}) - #set($hycType = "RAPID RIVER RISES") -#elseif(${list.contains(${bullets}, "poorDrainage")}) - #set($hycType = "MINOR FLOODING OF POOR DRAINAGE AREAS") -#elseif(${list.contains(${bullets}, "GO")}) - #set($ic = "GO") - #set($hycType = "A GLACIER-DAMMED LAKE OUTBURST") -#elseif(${list.contains(${bullets}, "OT")}) - #set($ic = "OT") - #set($hycType = "GROUND WATER FLOODING") -#elseif(${list.contains(${bullets}, "DR")}) - #set($ic = "DR") - #set($hycType = "DAM GATE RELEASE") -#end -## -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD ADVISORY...TEST -#else -FLOOD ADVISORY -#end -NATIONAL WEATHER SERVICE ${officeShort} -#backupText(${backupSite}) -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -${ugcline} -/${productClass}.${action}.${vtecOffice}.FA.Y.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.N.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#headlineext(${officeLoc}, ${backupSite}, ${extend}) - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -${advType} FOR... -#if(${hycType} != "") -## ${hycType} IN... (EXCLUDED FOR AK) - ${hycType}... -#end -##REMMED OUT FOR ALASKA -###firstBullet(${areas}) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###firstBullet(${affectedCounties}) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) - -#set($report = "!** warning basis **!") -#set($typeofevent = "") -#set($cause = "HEAVY RAIN") -#set($rainAmount = "") -#if(${list.contains(${bullets}, "SM")}) - #set($cause = "SNOW MELT") -#end -#if(${list.contains(${bullets}, "RS")}) - #set($cause = "HEAVY RAIN AND SNOW MELT") -#end -#if(${list.contains(${bullets}, "IJ")}) - #set($cause = "AN ICE JAM") -#end -#if(${list.contains(${bullets}, "IC")}) - #set($cause = "AN ICE JAM AND HEAVY RAIN") -#end -#if(${list.contains(${bullets}, "SM")}) - #set($report = "MINOR FLOODING IS !** OCCURRING/EXPECTED **! DUE TO SNOW MELT") -#end -#if(${list.contains(${bullets}, "RS")}) - #set($report = "MINOR FLOODING IS !** OCCURRING/EXPECTED **! DUE TO HEAVY RAIN AND SNOW MELT") -#end -#if(${list.contains(${bullets}, "IJ")}) - #set($report = "MINOR FLOODING IS !** OCCURRING/EXPECTED **! DUE TO AN ICE JAM") -#end -#if(${list.contains(${bullets}, "IC")}) - #set($report = "MINOR FLOODING IS !** OCCURRING/EXPECTED **! DUE TO AN ICE JAM AND HEAVY RAIN") -#end -#if(${list.contains(${bullets}, "rapidRiver")}) - #set($typeofevent = ". RAPID RIVER RISES ARE EXPECTED") -#end -#if(${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "A GLACIER-DAMMED LAKEOUTBURST FLOOD WILL RESULT IN MINOR FLOODING AT !** LOCATION **!") -#end -#if(${list.contains(${bullets}, "groundWater")}) - #set($report = "RISING GROUND WATER LEVELS WILL RESULT IN MINOR FLOODING AT !** LOCATION **!") -#end -#if(${list.contains(${bullets}, "poorDrainage")}) - #set($typeofevent = ". OVERFLOWING POOR DRAINAGE AREAS WILL RESULT IN MINOR FLOODING") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($report = "SATELLITE ESTIMATES INDICATE HEAVY RAINFALL THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "satelliteGauge")}) - #set($report = "SATELLITE ESTIMATES AND RAIN GAUGE DATA INDICATE HEAVY RAINFALL THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "doppler")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED ${cause} DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR INDICATED ${cause} DUE TO A LINE OF THUNDERSTORMS THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "AUTOMATED RAIN GAUGES INDICATED ${cause} THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED ${cause} DUE TO A LINE OF THUNDERSTORMS THAT WILL CAUSE ${advTypeShort}${typeofevent} IN THE ADVISORY AREA") -#end -#if(${list.contains(${bullets}, "trainedSpotters")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "actual")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO A THUNDERSTORM IN THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "actual")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! DUE TO A THUNDERSTORM IN THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "actual")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE ${advTypeShort}${typeofevent}") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "THE PUBLIC REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "THE PUBLIC REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "A TRAINED SPOTTER REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "A TRAINED SPOTTER REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "THE PUBLIC REPORTED ${advTypeShort} IN !** LOCATION **! DUE TO A THUNDERSTORM THAT WILL CAUSE ${advTypeShort}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "actual")}) - #set($report = "THE PUBLIC REPORTED ${cause} CAUSING ${advTypeShort} IN !** LOCATION **!${typeofevent}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "THE PUBLIC REPORTED ${cause} IN !** LOCATION **! THAT WILL CAUSE MINOR FLOODING${typeofevent}") -#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 HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rain3")} ) - #set($rainAmount = "UP TO THREE INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rainEdit")} ) - #set($rainAmount = "!** RAINFALL AMOUNTS **! INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "doppler")} || ${list.contains(${bullets}, "dopplerGauge")}) -#set($estimate = "UP TO !** Number **! INCHES OF RAIN HAS FALLEN IN THE PAST HOUR.") -#else -#set($estimate = "") -#end - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...${report}. ${estimate}${rainAmount} - -#set($phenomena = "FLOOD") -#set($warningType = "ADVISORY") -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -## #locationsList("SOME LOCATIONS THAT WILL EXPERIENCE MINOR FLOODING INCLUDE" "THE FLOODING IS EXPECTED TO IMPACT MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) EXCLUDED FOR ALASKA -#if(${list.contains(${bullets}, "fcstPoint")}) -FOR THE !** insert river name and forecast point **!... -AT ${dateUtil.format(${now}, ${timeFormat.clock}, ${localtimezone})} THE STAGE WAS !** xx.x **! FEET. -FLOOD STAGE IS !** xx.x **! FEET. -FORECAST... !** insert crest stage and time **!. -IMPACTS...!** discussion of expected impacts and flood path **! -#else -!** insert impacts and flood path **! - -#end -#if(${list.contains(${bullets}, "addRainfall")}) - -ADDITIONAL RAINFALL OF !** Edit Amount **! INCHES IS EXPECTED OVER THE AREA. THIS ADDITIONAL RAIN WILL CAUSE MINOR FLOODING. -#end -#if(${list.contains(${bullets}, "specificPlace")}) - -MINOR FLOODING IS OCCURRING NEAR !** Enter Location **!. -#end - -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -##################### -## CALL TO ACTIONS ## -##################### -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("CTA")}) -#set($ctaSelected = "YES") -#end -#end -## -#if(${ctaSelected} == "YES") -PRECAUTIONARY/PREPAREDNESS ACTIONS... - -#end -#if(${list.contains(${bullets}, "dontdrownCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "urbanCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER IN URBAN AREAS...HIGHWAYS...STREETS AND UNDERPASSES AS WELL AS OTHER POOR 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...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}, "donotdriveCTA")}) -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}, "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 ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${list.contains(${bullets}, "powerCTA")}) -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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${list.contains(${bullets}, "advisoryMeansCTA")}) -A FLOOD ADVISORY MEANS RIVER OR STREAM FLOWS ARE ELEVATED...OR PONDING OF WATER IN URBAN OR OTHER AREAS IS OCCURRING OR IS IMMINENT. DO NOT ATTEMPT TO TRAVEL ACROSS FLOODED ROADS. FIND ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${ctaSelected} == "YES") -&& - -#end -#################################### END OF CTA STUFF ################################### - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end -#printcoords(${areaPoly}, ${list}) - - -$$ - -#parse("forecasterName.vm") - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory_Zones.xml deleted file mode 100644 index aaa466f272..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodAdvisory_Zones.xml +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - mi - mph - - - - Forecast Zones - - - - - - - - - NEW - COR - EXT - - - - - FA.Y - - - - true - - - true - - - 180 - - 60 - 120 - 180 - 210 - 240 - 270 - 300 - 330 - 360 - 420 - 480 - 540 - 600 - 660 - 720 - 1440 - 2160 - 2880 - 3600 - - -ic,advType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - - - - Zone - - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - STATE_ZONE - - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - AREA - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.vm index 47bb0364c8..1f501cbff6 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.vm @@ -1,17 +1,14 @@ ############################## ### AREAL FLOOD WARNING ###### ############################## -############################################################################ -## EDITED BY MIKE DANGELO 7-13-2011 ## -## Edited by Phil Kurimski 8-16-2011 R11.8 ## -## EDITED BY MIKE DANGELO 9-19-2011 at Alaska TIM ## -## EDITED BY Evan Bookbinder 2-24-2012 -## EDITED BY Phil Kurimski 2-28-2012 -## Mike Dangelo 9-13-2012 minor tweaks to ${variables}## -## Phil Kurimski 2-05-2013 +## RECENT VERSION HISTORY: ## Mike Dangelo 2-6-2013 added satellite estimate logic -## Mike Dangelo 5-2-2013 removed redundant entry/logic for particular/specific stream +## Mike Dangelo 5-2-2013 removed redundant entry/logic for specific stream +## Mike Dangelo 9-16-2013 fixed name of bullet for specific stream and removed redundant CTA +## Mike Dangelo 09-18-2013 added code for init pos & pathcasting +## Evan Bookbinder 9-18-2013 implemented config.vm #################################### SET SOME VARIABLES ################################### +#parse("config.vm") ## #if(${action} == "EXT") #set($starttime = "000000T0000Z") @@ -80,7 +77,11 @@ ${ugcline} /${productClass}.${action}.${vtecOffice}.FA.W.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -113,7 +114,7 @@ THIS IS A TEST MESSAGE. ## #end #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) -#set($report = "!**YOU DID NOT SELECT AN /EVENT/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**!") +#set($report = "!**YOU DID NOT SELECT EITHER A /REPORT/ BULLET OR AN /EVENT/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**!") #set($rainAmount = "") #if(${list.contains(${bullets}, "doppler")}) #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN THAT WILL CAUSE FLOODING.") @@ -192,15 +193,53 @@ THIS IS A TEST MESSAGE. ## #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") +...A LINE OF THUNDERSTORMS PRODUCING HEAVY RAIN WAS 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} +#else +###############IF TRACK IS NOT ENABLED OR stormPosition IS NOT SELECTED ####################################### #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report} ${rainAmount} +#end ############################################################# ######## FOURTH BULLET (OPTIONAL IN FLOOD PRODUCTS) ######### ############################################################# -#set($phenomena = "FLOOD") -#set($warningType = "WARNING") +############# IF TRACK IS ENABLED AND pathcast 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($floodType = "FLOODING") * ## #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## @@ -209,7 +248,7 @@ THIS IS A TEST MESSAGE. ## #### 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..." "THIS FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) +#locationsList("SOME LOCATIONS THAT WILL EXPERIENCE FLOODING INCLUDE..." ${floodType} 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) #end @@ -230,8 +269,9 @@ ADDITIONAL RAINFALL AMOUNTS OF !** EDIT AMOUNT **! ARE POSSIBLE IN THE WARNED AR 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 -## parse file command here is to pull in mile marker info +## parse file commands here pull in mile marker and/or point marker info ## #parse("mileMarkers.vm") +## #parse("pointMarkers.vm") #################################### END OF ADDITIONAL STUFF ################################### ###################################### diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.xml index b359d03bf6..8c47809de2 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning.xml @@ -8,11 +8,27 @@ Evan Bookbinder 09-11-2012 Added settings for locations shapefile Phil Kurimski 02-05-2013 Added additional valid duration times Mike Dangelo 02-06-2013 added default bullet for ic - 05-02-2013 removed redundant specific CTA + Mike Dangelo 05-02-2013 removed redundant specific CTA + Mike Dangelo 09-16-2013 fixed specific stream error, and added 6 days to durations + Mike Dangelo 09-18-2013 to optionally allow =true for pathcasting, and add pointMarker.xml 'include' + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -47,6 +63,11 @@ true + + false + 180 @@ -64,6 +85,7 @@ 4320 5760 7200 + 8640 10080 @@ -100,6 +122,7 @@ + @@ -107,13 +130,14 @@ + - + - + @@ -153,23 +177,23 @@ + - - - - + + + - + - + @@ -210,23 +234,23 @@ + - - - - + + + - + - + @@ -239,118 +263,6 @@ -false - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 30 - 200 - - - - - - - - - - distance - - - - - - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 @@ -361,6 +273,6 @@ and place into this template true - + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.vm index 99ee662ab0..faa00785c2 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.vm @@ -1,16 +1,16 @@ ########################################################### -## EDITED BY MIKE DANGELO 7-12-2011 FOR OB11.7 ## -## Edited by Phil Kurimski 8-18-2011 FOR OB11.8.0-4 ## -## Edited by Evan Bookbinder 9-16-2011 FOR OB11.8.0-8 ## -## EDITED BY MIKE DANGELO 9-19-2011 at Alaska TIM ## -## EDITED BY MIKE DANGELO 1-25-2012 at CRH TIM ## -## EDITED BY EVAN BOOKBINDER 2-24-2012 ## -## EDITED BY PHIL KURIMSKI 2-28-2012 ## +## AREAL FLOOD WARNING FOLLOWUP TEMPLATE +############################################################# +## RECENT VERSION HISTORY ## EDITED BY MIKE REGA 5-02-2012 DR 14885 MND blank line ## ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## Phil Kurimski 2-05-2013 FOR OB13.2.1-5 ## Evan Bookbinder 3-1-2013 segment ending $$ issues +## Mike Dangelo 9-16-2013 slight modifications to urbanCTA output +## Mike Dangelo 9-18-2013 added initial position and pathcasting options +## Evan Bookbinder 9-18-2013 implemented config.vm #################################### SET SOME VARs ################################### +#parse("config.vm") #set($hycType = "") #set($floodReason = "") #set($floodType = "FLOODING") @@ -64,24 +64,39 @@ ${ugclinecan} /${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#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}) -${area.name} ${area.stateabbr}-## +${area.name}## +#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}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end +-## +#end + #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -108,7 +123,6 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ################################ #### CREATE HEADLINES ########## ################################ -## County #if(${action}=="EXP" || ${action}=="CAN") ...THE FLOOD WARNING FOR ## @@ -123,6 +137,8 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${hycType} IN ## #end #headlineLocList(${cancelareas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false) ${expcanHLTag}... #end ############################ ## END CAN/EXP HEADLINE #### @@ -160,7 +176,11 @@ ${ugcline} /${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -176,7 +196,11 @@ ${ugcline} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -238,6 +262,30 @@ REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimez #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") +...A LINE OF THUNDERSTORMS PRODUCING HEAVY RAIN WAS 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} + +#else +###############IF TRACK IS NOT ENABLED OR stormPosition IS NOT SELECTED ####################################### #set($cityListLead = "RUNOFF FROM THIS EXCESSIVE RAINFALL WILL CAUSE ${floodType} TO OCCUR. ") #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## #if(${list.contains(${bullets}, "thunder")}) @@ -252,9 +300,24 @@ ${reportBy} ${floodType} ACROSS THE WARNED AREA.${rainAmount}${floodReason} !** !**YOU DID NOT SELECT AN /EVENT/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**! #end +#end + ############################################ ######## (CITY LIST) ######### ############################################ +############# 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")}) #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## @@ -267,16 +330,16 @@ THIS IS A TEST MESSAGE. ## #end ########################################## END OF OPTIONAL FOURTH BULLET ############################## -###################################### -###### WHERE ADDITIONAL INFO GOES #### -###################################### +############################### +###### WHERE ADD 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)**!. +#if(${list.contains(${bullets}, "specificStream")}) +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")}) @@ -286,6 +349,8 @@ FLOOD WATERS ARE MOVING DOWN !**name of channel**! FROM !**location**! TO !**loc ## 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 ################################### ###################################### @@ -321,10 +386,6 @@ EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE FLOODING OF SMALL CREEKS AND STR #if(${list.contains(${bullets}, "USS_CTA")}) EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE FLOODING OF SMALL CREEKS AND STREAMS...HIGHWAYS AND UNDERPASSES IN URBAN AREAS. 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}, "specificCTA")}) -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}, "nightCTA")}) BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.xml index 97413db074..e5f20972d0 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup.xml @@ -6,10 +6,26 @@ Qinglu Lin 04-04-2012 DR 14691. Added tag. Evan Bookbinder 09-11-2012 Added settings for locations shapefile Phil Kurimski 02-05-2013 + Mike Dangelo 09-16-2013 changed name bullets to 'specific' stream, slight urbanCTA modification + Mike Dangelo 09-18-2013 added initial position and pathcasting options + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -45,6 +61,11 @@ true + + false + 30 @@ -98,27 +119,26 @@ + - - - - + + + - + - + - @@ -143,27 +163,26 @@ + - - - + + - + - + - @@ -174,119 +193,6 @@ - false - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 30 - 200 - - - - - - - - - - distance - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.vm deleted file mode 100644 index 88d705f130..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.vm +++ /dev/null @@ -1,436 +0,0 @@ -### FLOOD WARNING FOLLOW UP in ZONES ###### -########################################### -####################################################################### -## Created BY MIKE DANGELO 9-19-2011 at Alaska TIM for zones coding ## -## Edited by Phil kurimski 2-29-2012 -## Edited by Mike Rega 5-02-2012 DR 14885-MND blank line -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -#################################### SET SOME VARs ################################### -#set($hycType = "") -#set($floodReason = "") -#set($floodType = "FLOODING") -###OVERRIDE DEFAULT EXECESSIVE RAINFALL IF NECESSARY -#* -#if(${list.contains(${bullets}, "icrs")}) - #set($hycType = "RAIN AND SNOW MELT") - #set($floodReason = " RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE ${floodType}.") -#elseif(${list.contains(${bullets}, "icsm")}) - #set($hycType = "RAPID SNOW MELT") - #set($floodReason = " RAPID SNOW MELT IS OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains(${bullets}, "icij")}) - #set($hycType = "ICE JAM FLOODING") - #set($floodReason = " AN ICE JAM IS OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains(${bullets}, "icicr")}) - #set($hycType = "AN ICE JAM AND HEAVY RAIN") - #set($floodReason = " AN ICE JAM IS ALSO OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains(${bullets}, "icics")}) - #set($hycType = "AN ICE JAM AND RAPID SNOW MELT") - #set($floodReason = " AN ICE JAM AND RAPID SNOW MELT ARE ALSO OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains(${bullets}, "icerr")}) - #set($hycType = "RAPID RIVER RISES") -#end -*# -#if(${ic} == "SM") - #set($hycType = "RAPID SNOW MELT") - #set($floodReason = " RAPID SNOW MELT IS OCCURRING AND WILL CONTINUE TO CAUSE ${floodType}.") -#elseif(${ic} == "RS") - #set($hycType = "RAIN AND SNOW MELT") - #set($floodReason = " RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE ${floodType}.") -#elseif(${ic} == "IJ") - #set($hycType = "ICE JAM FLOODING") - #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($floodReason = " FLOODING DUE TO AN ICE JAM AND HEAVY RAIN WILL CONTINUE.") -#elseif(${ic} == "MC") - #set($hycType = "") - #set($floodReason = "") -#elseif(${ic} == "UU") - #set($hycType = "") - #set($floodReason = "") -#elseif(${ic} == "DM") - #set($hycType = "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.") -#elseif(${ic} == "GO") - #set($hycType = "GLACIER-DAMMED LAKE OUTBURST") - #set($floodReason = " FLOODING DUE TO A GLACIER-DAMMED LAKE OUTBURST.") -#elseif(${ic} == "OT") - #set($hycType = "GROUND WATER FLOODING") - #set($floodReason = " FLOODING DUE TO GROUND WATER.") -#end -## -###################################################################################### -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLS${siteId} - -#if(${productClass}=="T") -TEST...FLOOD STATEMENT...TEST -#else -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/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} -#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/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} -#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/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -################################################################# -################################################################# -## LETS START WITH 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 ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})}") - #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 ########## -################################ -## County - -#if(${action}=="EXP" || ${action}=="CAN") -...THE FLOOD WARNING FOR ## -#if(${hycType} != "") -${hycType} IN ## -#end -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - ${expcanHLTag}... -## SLIGHTLY DIFFERENT VARIABLE FOR PARTIAL CANCELLATION HEADLINE -#elseif(${action}=="CANCON" || ${CORCAN}=="true") -...THE FLOOD WARNING FOR ## -#if(${hycType} != "") -${hycType} IN ## -#end -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${cancelareas} true true true false) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${cancelaffectedCounties} true true true false) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - ${expcanHLTag}... -#end - -############################ -## END CAN/EXP HEADLINE #### -############################ -####################################### -## EXPIRATION/CANCELLATION STATEMENT ## -####################################### -#if(${action}=="EXP" || ${action} == "CAN" || ${action}=="CANCON" || ${CORCAN}) -#if(${list.contains(${bullets}, "recedingWater")} && ${list.contains(${bullets}, "rainEnded")}) -THE HEAVY RAIN HAS ENDED AND FLOOD WATERS HAVE RECEDED...NO LONGER POSING A THREAT TO LIFE OR PROPERTY. PLEASE CONTINUE TO HEED ANY ROAD CLOSURES. -#elseif(${list.contains(${bullets}, "recedingWater")}) -FLOOD WATERS HAVE RECEDED...AND ARE NO LONGER EXPECTED TO POSE A THREAT TO LIFE OR PROPERTY. PLEASE CONTINUE TO HEED ANY ROAD CLOSURES. -#elseif(${list.contains(${bullets}, "rainEnded")}) -THE HEAVY RAIN HAS ENDED...AND FLOODING IS NO LONGER EXPECTED TO POSE A THREAT. -#else -!** THE HEAVY RAIN HAS ENDED. !** OR **! THE FLOOD WATER IS RECEDING. THEREFORE...THE FLOODING THREAT HAS ENDED. **! -#end - -#printcoords(${areaPoly}, ${list}) - - -#end -#################################### END OF CAN STUFF ################################### -#### IF PARTIAL CANCELLATION, INSERT $$ AND 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/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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 -...THE FLOOD WARNING ## -#if(${hycType} != "") -FOR ${hycType} ## -#end -REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###zoneHeadlineLocList(${areas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... - -################################################ -################################# -######## MAIN PARAGRAPH ########### -################################# -#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 HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rain3")} ) - #set($rainAmount = " UP TO THREE INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rainEdit")} ) - #set($rainAmount = " !** RAINFALL AMOUNTS **! INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#set($reportBy = "!**YOU DID NOT SELECT A /SOURCE/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**!") -#if(${list.contains(${bullets}, "doppler")}) - #set($reportBy = "DOPPLER RADAR INDICATED") -#elseif(${list.contains(${bullets}, "dopplerGauge")}) - #set($reportBy = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED") -#elseif(${list.contains(${bullets}, "trainedSpotters")}) - #set($reportBy = "TRAINED WEATHER SPOTTERS REPORTED") -#elseif(${list.contains(${bullets}, "lawEnforcement")}) - #set($reportBy = "LOCAL LAW ENFORCEMENT REPORTED") -#elseif(${list.contains(${bullets}, "public")}) - #set($reportBy = "THE PUBLIC REPORTED") -#elseif(${list.contains(${bullets}, "emergencyManagement")}) - #set($reportBy = "EMERGENCY MANAGEMENT REPORTED") -#elseif(${list.contains(${bullets}, "satellite")}) - #set($reportBy = "SATELLITE ESTIMATES INDICATED") -#elseif(${list.contains(${bullets}, "satelliteGauge")}) - #set($reportBy = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED") -#end -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#set($cityListLead = "RUNOFF FROM THIS EXCESSIVE RAINFALL WILL CAUSE ${floodType} TO OCCUR. ") -#if(${list.contains(${bullets}, "thunder")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} SLOW MOVING THUNDERSTORMS WITH VERY HEAVY RAINFALL ACROSS THE WARNED AREA.${rainAmount}${floodReason} -#elseif(${list.contains(${bullets}, "plainRain")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} AN AREA OF VERY HEAVY RAINFALL ACROSS THE WARNED AREA.${rainAmount}${floodReason} -#elseif(${list.contains(${bullets}, "floodOccurring")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} ${floodType} ACROSS THE WARNED AREA.${rainAmount}${floodReason} !** ENTER SPECIFIC REPORTS OF FLOODING AND EXPECTED RAINFALL AMOUNTS **! -#elseif(${list.contains(${bullets}, "genericFlood")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -!** ENTER REASON AND FORECAST FOR FLOOD **! -#elseif(${list.contains(${bullets}, "glacierOutburst")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} FLOODING DUE TO A GLACIER-DAMMED LAKE OUTBURST ACROSS THE WARNED AREA.${rainAmount} -#elseif(${list.contains(${bullets}, "groundWater")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} FLOODING DUE TO GROUND WATER ACROSS THE WARNED AREA.${rainAmount} -#else -!**YOU DID NOT SELECT AN /EVENT/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**! -#end - -############################################ -######## (CITY LIST) ######### -############################################ -#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! -${cityListLead} -## #locationsList("SOME LOCATIONS THAT WILL EXPERIENCE FLOODING INCLUDE" "${floodType} IS EXPECTED TO OCCUR OVER MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) - -########################################## END OF OPTIONAL FOURTH BULLET ############################## -###################################### -###### WHERE ADDITIONAL INFO GOES #### -###################################### -#if(${list.contains(${bullets}, "fcstPoint")}) -FOR THE !** insert river name and forecast point **!: -AT ${dateUtil.format(${now}, ${timeFormat.clock}, ${localtimezone})} THE STAGE WAS !** xx.x **! FEET. -FLOOD STAGE IS !** xx.x **! FEET. -FORECAST... !** insert crest stage and time **!. -IMPACTS...!** discussion of expected impacts and flood path **! - -#else -!** insert impacts and flood path **! - -#end -#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 - -## 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 -#if(${list.contains(${bullets}, "warningMeansCTA")}) -A FLOOD WARNING MEANS THAT FLOODING IS IMMINENT OR HAS BEEN REPORTED. STREAM RISES WILL BE SLOW AND FLASH FLOODING IS NOT EXPECTED. HOWEVER...ALL INTERESTED PARTIES SHOULD TAKE NECESSARY PRECAUTIONS IMMEDIATELY. - -#end -#if(${list.contains(${bullets}, "dontdrownCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "urbanCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER IN URBAN AREAS...HIGHWAYS...STREETS AND UNDERPASSES AS WELL AS OTHER POOR DRAINAGE AREAS AND LOW LYING SPOTS. - -#end -#if(${list.contains(${bullets}, "ruralCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER ON COUNTRY ROADS AND FARMLAND ALONG THE BANKS OF CREEKS AND STREAMS. - -#end -#if(${list.contains(${bullets}, "USS_CTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE FLOODING OF SMALL CREEKS AND STREAMS...HIGHWAYS AND UNDERPASSES IN URBAN AREAS. 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}, "particularStreamCTA")}) -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}, "specificCTA")}) -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}, "nightCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#end -#if(${list.contains(${bullets}, "donotdriveCTA")}) -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}, "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}, "camperCTA")}) -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 ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${list.contains(${bullets}, "powerCTA")}) -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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#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}) - -#end - -$$ - -#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.xml deleted file mode 100644 index ac8e88d277..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.xml +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - - - mi - mph - - - - Forecast Zones - - - - - - - - COR - CON - CAN - EXP - - - - - FA.W - - - - false - - - true - - - - 30 - - 30 - - -ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - - NAME - AREA - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning_Zones.vm deleted file mode 100644 index 06674f50d8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning_Zones.vm +++ /dev/null @@ -1,355 +0,0 @@ -############################################################################### -## Created BY Mike Dangelo 9-19-2011 at Alaska TIM for zone code issuances ## -## Mary-Beth Schreck, Ed Plumb, Aaron Jacobs 9-23-2011 at Alaska TIM -## edited by Mike Dangelo 01-26-2012 at CRH TIM -## edited by Phil Kurimski 2-29-2012 -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -#################################### SET SOME VARIABLES ################################### -#if(${action} == "EXT") - #set($starttime = "000000T0000Z") - #set($extend = true) -#else - #set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})}) - #set($extend = false) -#end -## -#if(${list.contains(${bullets}, "small")}) - #set($advType = "SMALL STREAM FLOOD WARNING") -#elseif(${list.contains(${bullets}, "uss")}) - #set($advType = "URBAN AND SMALL STREAM FLOOD WARNING") -#else - #set($advType = "FLOOD WARNING") -#end -#set($ic = "ER") -#set($hycType = "") -#if(${list.contains(${bullets}, "sm")}) - #set($ic = "SM") - #set($hycType = "SNOW MELT") -#elseif(${list.contains(${bullets}, "rs")}) - #set($ic = "RS") - #set($hycType = "RAIN AND SNOW MELT") -#elseif(${list.contains(${bullets}, "ij")}) - #set($ic = "IJ") - #set($hycType = "AN ICE JAM") -#elseif(${list.contains(${bullets}, "ic")}) - #set($ic = "IC") - #set($hycType = "AN ICE JAM WITH RAIN AND SNOW MELT") -#elseif(${list.contains(${bullets}, "go")}) - #set($ic = "GO") - #set($hycType = "A GLACIER-DAMMED LAKE OUTBURST") -#elseif(${list.contains(${bullets}, "dm")}) - #set($ic = "DM") - #set($hycType = "A LEVEE FAILURE") -#elseif(${list.contains(${bullets}, "dr")}) - #set($ic = "DR") - #set($hycType = "A DAM GATE RELEASE") -#elseif(${list.contains(${bullets}, "OT")}) - #set($ic = "OT") - #set($hycType = "GROUND WATER FLOODING") -#elseif(${list.contains(${bullets}, "mc")}) - #set($ic = "MC") -#elseif(${list.contains(${bullets}, "uu")}) - #set($ic = "UU") -#end -## -${WMOId} ${vtecOffice} 000000 ${BBBId} -FLW${siteId} - -BULLETIN - EAS ACTIVATION REQUESTED -#if(${productClass}=="T") -TEST...FLOOD WARNING...TEST -#else -FLOOD WARNING -#end -NATIONAL WEATHER SERVICE ${officeShort} -#backupText(${backupSite}) -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -${ugcline} -/${productClass}.${action}.${vtecOffice}.FA.W.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#headlineext(${officeLoc}, ${backupSite}, ${extend}) - -################################# -######## FIRST BULLET ########### -################################# -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -${advType} FOR... -#if(${hycType} != "") -## (EXCLUDED FOR AK) -## ${hycType} IN... - ${hycType}... -#end -##REMMED OUT FOR ALASKA -###firstBullet(${areas}) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###firstBullet(${affectedCounties}) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - -################################# -####### SECOND BULLET ########### -################################# -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) - -#set($typeofevent = "") -#set($report = "HEAVY RAIN THAT WILL CAUSE FLOODING.") -#set($rainAmount = "") -#if(${list.contains(${bullets}, "rapidRiver")}) - #set($typeofevent = ". RAPID RIVER RISES ARE EXPECTED.") -#end -#if(${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "A GLACIER-DAMMED LAKE OUTBURST FLOOD WILL RESULT IN MINOR FLOODING AT !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "groundWater")}) - #set($report = "RISING GROUND WATER LEVELS WILL RESULT IN MINOR FLOODING AT !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($report = "SATELLITE ESTIMATES INDICATE HEAVY RAINFALL THAT WILL CAUSE ${advType}${typeofevent} IN THE WARNING AREA.") -#end -#if(${list.contains(${bullets}, "satelliteGauge")}) - #set($report = "SATELLITE ESTIMATES AND RAIN GAUGE DATA INDICATE HEAVY RAINFALL THAT WILL CAUSE ${advType}${typeofevent} IN THE WARNING AREA.") -#end -#if(${list.contains(${bullets}, "doppler")}) - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN DUE TO A THUNDERSTORM THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN DUE TO A LINE OF THUNDERSTORMS. THE HEAVY RAIN WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA. THAT HEAVY RAIN WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT A THUNDERSTORM IS PRODUCING HEAVY RAIN OVER THE AREA. THAT RAIN WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT A LINE OF THUNDERSTORMS IS PRODUCING HEAVY RAIN OVER THE AREA. THAT RAIN WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **! DUE TO A THUNDERSTORM THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "floodReport")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED FLOODING IN !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **! THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN DUE TO A THUNDERSTORM OVER !** LOCATION **! THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "floodReport")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED FLOODING IN !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN IN !** LOCATION **! THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN DUE TO A THUNDERSTORM OVER !** LOCATION **! THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "floodReport")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED FLOODING IN !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN IN !** LOCATION **! THAT WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "THE PUBLIC REPORTED HEAVY RAIN IN !** LOCATION **! DUE TO A THUNDERSTORM. THE HEAVY RAIN WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "floodReport")}) - #set($report = "THE PUBLIC REPORTED FLOODING IN !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "THE PUBLIC REPORTED HEAVY RAIN IN !** LOCATION **!. THAT HEAVY RAIN WILL CAUSE FLOODING.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "THE PUBLIC REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "THE PUBLIC REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS.") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "A TRAINED SPOTTER REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD.") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "A TRAINED SPOTTER REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS.") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD.") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS.") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "glacierOutburst")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO A GLACIER-DAMMED LAKE OUTBURST FLOOD.") -#end -#if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "groundWater")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED MINOR FLOODING IN !** LOCATION **! DUE TO RISING GROUND WATER LEVELS.") -#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 HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rain3")} ) - #set($rainAmount = "UP TO THREE INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rainEdit")} ) - #set($rainAmount = "!** RAINFALL AMOUNTS **! INCHES OF RAIN HAS ALREADY FALLEN.") -#end - -################################# -######## THIRD BULLET ########### -################################# -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...${report} ${rainAmount} - -############################################################# -######## FOURTH BULLET (OPTIONAL IN FLOOD PRODUCTS) ######### -############################################################# -#set($phenomena = "FLOOD") -#set($warningType = "WARNING") -#if(${list.contains(${bullets}, "listofcities")}) -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -## #locationsList("SOME LOCATIONS THAT WILL EXPERIENCE FLOODING INCLUDE" "FLOODING IS EXPECTED TO OCCUR OVER MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) EXCLUDED FOR ALASKA - -#end -########################################## END OF FOURTH BULLET ############################## -###################################### -###### WHERE ADD INFO GOES ########### -###################################### -#if(${list.contains(${bullets}, "fcstPoint")}) -FOR THE !** insert river name and forecast point **!: -AT ${dateUtil.format(${now}, ${timeFormat.clock}, ${localtimezone})} THE STAGE WAS !** xx.x **! FEET. -FLOOD STAGE IS !** xx.x **! FEET. -FORECAST... !** insert crest stage and time **!. -IMPACTS...!** discussion of expected impacts and flood path **! - -#else -!** insert impacts and flood path **! - -#end -#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 - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -#################################### END OF ADDITIONAL STUFF ################################### -###################################### -####### CALL TO ACTIONS ############## -###################################### -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("CTA")}) -#set($ctaSelected = "YES") -#end -#end -## -#if(${ctaSelected} == "YES") -PRECAUTIONARY/PREPAREDNESS ACTIONS... - -#end -## -#if(${list.contains(${bullets}, "warningMeansCTA")}) -A FLOOD WARNING MEANS THAT FLOODING IS IMMINENT OR HAS BEEN REPORTED. STREAM RISES WILL BE SLOW AND FLASH FLOODING IS NOT EXPECTED. HOWEVER...ALL INTERESTED PARTIES SHOULD TAKE NECESSARY PRECAUTIONS IMMEDIATELY. - -#end -#if(${list.contains(${bullets}, "dontdrownCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "urbanCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER IN URBAN AREAS...HIGHWAYS...STREETS AND UNDERPASSES AS WELL AS OTHER POOR DRAINAGE AREAS AND LOW LYING SPOTS. - -#end -#if(${list.contains(${bullets}, "ruralCTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE ELEVATED LEVELS ON SMALL CREEKS AND STREAMS...AND PONDING OF WATER ON COUNTRY ROADS AND FARMLAND ALONG THE BANKS OF CREEKS AND STREAMS. - -#end -#if(${list.contains(${bullets}, "USS_CTA")}) -EXCESSIVE RUNOFF FROM HEAVY RAINFALL WILL CAUSE FLOODING OF SMALL CREEKS AND STREAMS...HIGHWAYS AND UNDERPASSES IN URBAN AREAS. 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}, "particularStreamCTA")}) -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}, "specificCTA")}) -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}, "nightCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#end -#if(${list.contains(${bullets}, "donotdriveCTA")}) -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}, "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}, "camperCTA")}) -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 ALTERNATE ROUTES. IT TAKES ONLY A FEW INCHES OF SWIFTLY FLOWING WATER TO CARRY VEHICLES AWAY. - -#end -#if(${list.contains(${bullets}, "powerCTA")}) -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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#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") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning_Zones.xml deleted file mode 100644 index 5ef2dc44fe..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/arealFloodWarning_Zones.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - mi - mph - - - - Forecast Zones - County Warning Areas - - - - - - - NEW - COR - EXT - - - - - FA.W - - - - true - - - true - - - 180 - - 60 - 120 - 150 - 180 - 210 - 240 - 360 - 480 - 600 - 720 - - -ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - - NAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.vm index 0b7f4a7511..aa0d01e273 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.vm @@ -2,14 +2,25 @@ ## 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") @@ -53,10 +64,10 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ############################################################################# ## Flash Flood Emergency Headline -- Coming soon to a warning near you! # ############################################################################# -###if(${list.contains(${bullets}, "ffwEmergency")} ) -##...FLASH FLOOD EMERGENCY FOR !** LOCATION **!... -## -###end +#if(${list.contains(${bullets}, "ffwEmergency")} ) +...FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}... + +#end #headlineext(${officeLoc}, ${backupSite}, ${extend}) ################################# @@ -189,12 +200,6 @@ THIS IS A TEST MESSAGE. ## #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 -######################################################################### -## Parse command to include a burnScarInfo.vm file with site specific dam -## information. Sites can include this information in a separate file or -## include in the template per the coding below. -######################################################################### -#parse ("burnScarInfo.vm") * ## #if(${productClass}=="T") @@ -208,7 +213,7 @@ THIS IS A TEST MESSAGE. ## ## 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 !** LOCATION **!. SEEK HIGHER GROUND NOW! THIS IS A POTENTIALLY LIFE THREATENING SITUATION!" 2 2) +#wrapText("THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW!" 2 2) #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.xml index f9d06b5a71..873ce06e9e 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarning.xml @@ -1,11 +1,25 @@ - + + + + + + + + + mi mph @@ -152,9 +166,7 @@ - - - + @@ -212,9 +224,7 @@ --> - - - + @@ -252,121 +262,6 @@ template or listing the dams in a separate file and using the include command --> - - - - County - 0 - AND - 0 - COUNTYNAME - - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 50 - 10 - - distance - - - - - - - - - - - - - - - false - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.vm index b84926cd1c..0a4929cd2f 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.vm @@ -2,10 +2,13 @@ ## BURN SCAR FLASH FLOOD STATEMENT ## #################################################### ## CREATED BY Phil Kurimski 2-07-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.v, #################################################### ## 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 VARs ################################### +#parse("config.vm") #set($hycType = "") #set($snowMelt = "") #set($floodReason = "") @@ -14,6 +17,7 @@ #set($burnScar = "") #set($burnCTA = "") #set($burnScarEnd = "") +#set($emergencyHeadline = "!** ENTER LOCATION **!") ###OVERRIDE DEFAULT EXECESSIVE RAINFALL IF NECESSARY #if(${ic} == "RS") #set($hycType = "RAIN AND SNOW MELT") @@ -21,9 +25,9 @@ #end ## ######################################################################### -## Parse command to include a burnScarInfo.vm file with site specific dam -## information. Sites can include this information in a separate file or -## include in the template per the coding below. +## 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") #set($endwarning = "THE HEAVY RAIN HAS ENDED...AND FLOODING IS NO LONGER EXPECTED TO POSE A THREAT${burnScarEnd}. PLEASE CONTINUE TO HEED ALL ROAD CLOSURES.") @@ -56,7 +60,11 @@ ${ugclinecan} /${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #elseif(${CORCAN}=="true") ${ugclinecan} @@ -64,7 +72,11 @@ ${ugclinecan} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #else ${ugcline} @@ -72,7 +84,11 @@ ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${s}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #end @@ -115,6 +131,8 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${hycType} IN ## #end #headlineLocList(${cancelareas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false) ${expcanHLTag}... #end ############################ ## END CAN/EXP HEADLINE #### @@ -142,7 +160,11 @@ ${ugcline} /${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -158,7 +180,11 @@ ${ugcline} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -174,6 +200,15 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #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 ${emergencyHeadline}... + #end ...THE FLASH FLOOD WARNING ## #if(${hycType} != "") @@ -181,15 +216,6 @@ FOR ${hycType} ## #end REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## #headlineLocList(${areas} true true true false)... -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) -#set($ctaSelected = "YES") - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end ################################################ ################################# @@ -312,6 +338,13 @@ THIS IS A TEST MESSAGE. ## #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report} ${rainAmount} ${isExpected} ${snowMelt} +########################################################################## +## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # +########################################################################## +#if(${list.contains(${bullets}, "ffwEmergency")}) +THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW! + +#end ${burnScar} ############################################ diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.xml index 718a4c7dbb..e2794a5994 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarFlashFloodWarningFollowup.xml @@ -1,11 +1,25 @@ - + + + + + + + + + mi mph @@ -115,9 +129,7 @@ - - - + @@ -171,9 +183,7 @@ - - - + @@ -206,116 +216,6 @@ false - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - name - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfo.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfo.vm index 059dc71c7c..4184299dbc 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfo.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfo.vm @@ -10,6 +10,7 @@ #if(${list.contains($bullets, "FourMileBurnArea")}) #set($burnScarName = "FOUR MILE BURN AREA") #set($burnScarEnd = " OVER THE FOUR MILE BURN AREA") + #set($emergencyHeadline = "AREAS IN AND AROUND THE ${burnScarName}") #end #if(${list.contains($bullets, "fourmilelowimpact")}) #set($ctaSelected = "YES") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfoBullet.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfoBullet.xml index 0692cb41c0..814754494e 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfoBullet.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/burnScarInfoBullet.xml @@ -5,9 +5,9 @@ This process can be done for any pre-configured FFW box. --> \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/config.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/config.vm new file mode 100644 index 0000000000..8a4bdd862f --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/config.vm @@ -0,0 +1,59 @@ +############################################################################ +## This file contains global WarnGen tempate (.vm) configuration settings +## If you have any questions please contact Evan Bookbinder - WFO EAX +## CREATED 9/20/2013 +############################################################################ +### SET LAND REFERENCE DISTANCE UNITS +#set($landDistanceUnits = "MILES") +### SET MARINE REFERENCE DISTANCE UNITS +#set($marineDistanceUnits = "NM") + +### SET DISTANCE (LAND) AT OR BELOW WHICH STORM REFERENCE MILEAGE WILL BE SHOWN AS "NEAR" +#set($maxLandNearDistance = 6) +### SET DISTANCE (MARINE) AT OR BELOW WHICH STORM REFERENCE MILEAGE WILL BE SHOWN AS "NEAR" +#set($maxMarineNearDistance = 6) +### SET "NEAR" WORDING +#set($nearPhrase = "NEAR") + +### SET DISTANCE (LAND) AT OR BELOW WHICH STORM REFERENCE MILEAGE WILL BE SHOWN AS"OVER" +#set($maxLandOverDistance = 2) +### SET DISTANCE (LAND) AT OR BELOW WHICH STORM REFERENCE MILEAGE WILL BE SHOWN AS"OVER" +#set($maxMarineOverDistance = 2) +### SET "OVER" WORDING +#set($overPhrase = "OVER") + +### SET STORM SPEED (LAND) BELOW WHICH STORM MOVEMENT WILL BE "STATIONARY" .. e.g. < 5 mph +#set($landStationary = 5) +### SET STORM SPEED (MARINE) BELOW WHICH STORM MOVEMENT WILL BE "STATIONARY" .. e.g < 5 knots +#set($marineStationary = 5) + +### USE SECOND STORM REFERENCE? true or false +### DETERMINES WHETHER OR NOT A SECOND STORM REFERENCE IS USED IN THE 3RD BULLET. +### TRUE: +### "A SEVERE THUNDERSTORM WAS LOCATED NEAR PODUNK...OR 40 MILES EAST OF DENVER" +### FALSE: +### "A SEVERE THUNDERSTORM WAS LOCATED NEAR PODUNK" +### ONE VARIABLE IS SET FOR A SINGLE STORM, THE OTHER FOR A LINE OF STORMS +#set ($useSecondReferenceCell = true) +#set ($useSecondReferenceLine = false) + +### INCLUDE STATE ABBREVIATIONS WITH ZONE LISTING IN MND HEADER? true or false +### +### FOR WESTERN REGION/ALASKA, THIS WILL LIKELY BE FALSE...AS WOULD ANY CWA COVERING +### ONLY A SINGLE STATE +### FALSE OPTION: +### AKZ220>224-226-170400 +### YUKON FLAT AND SURROUNDING UPLANDS-CENTRAL INTERIOR- +### MIDDLE TANANA VALLEY-DELTANA AND TANANA FLATS- +### 556 PM AKDT MON SEP 16 2013 +### +### TRUE OPTION: +### AKZ220>224-226-170400 +### YUKON FLAT AND SURROUNDING UPLANDS AK-CENTRAL INTERIOR AK- +### MIDDLE TANANA VALLEY AK-DELTANA AND TANANA FLATS AK- +### 556 PM AKDT MON SEP 16 2013 +#set($includeStateAbbreviation = true) + +### SET RURAL PHRASING WHEN NO WARNGEN LOCATIONS ARE IN THE PATH OF THE STORM TRACK/POLYGON +### THIS STORM WILL REMAIN OVER ___________ OF XXXX COUNTY/ZONE +#set($noLocPhrase = "MAINLY RURAL AREAS") \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/countyTypes.txt b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/countyTypes.txt index f3aa89ad5e..9e22d41d13 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/countyTypes.txt +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/countyTypes.txt @@ -1,5 +1,5 @@ LA \ PARISH -LOUISIANNA \ PARISH +LOUISIANA \ PARISH LA+ \ PARISHES LOUISIANA+ \ PARISHES DC \ diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/customTemplate.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/customTemplate.vm deleted file mode 100644 index a3323ebfad..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/customTemplate.vm +++ /dev/null @@ -1,184 +0,0 @@ -#################################################################### -## CUSTOM TEMPLATE ## -## History -## QINGLU LIN 8-14-2012 DR 14493 use corToNewMarker and TMLtime ## -#################################################################### -${WMOId} ${vtecOffice} 000000 -CUSTOM -${ugcline} -/${productClass}.${action}.${vtecOffice}.SS.W.${etn}.${dateUtil.format(${start}, ${timeFormat.ymdthmz})}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ - -BULLETIN - EAS ACTIVATION REQUESTED -#if(${productClass}=="T") -TEST...CUSTOM WARNING...TEST -#else -CUSTOM WARNING -#end -NATIONAL WEATHER SERVICE ${officeShort} -${dateUtil.format(${start}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#headline(${officeLoc}, ${backupSite}) - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -CUSTOM WARNING FOR... -#foreach (${area} in ${areas}) - ## -#if(${area.partOfArea}) -#areaFormat(${area.partOfArea} true false) ## -#end -${area.name} ${area.areaNotation} IN #areaFormat(${area.partOfParentRegion} true false) ${area.parentRegion}... -#if(${list.size($area.points)} > 0) -#if(${list.size($area.points)} > 1) - THIS INCLUDES THE CITIES OF... #foreach (${city} in ${area.points})${city}... #end - -#else - THIS INCLUDES THE CITY OF ${list.get(${area.points},0)} -#end -#end -#end - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -UNTIL ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} - -#set($report = "") -#if(${list.contains($bullets, "much")}) - #set ($report = "NATIONAL WEATHER SERVICE CUSTOM RADAR WAS TRACKING A CUSTOM THING") -#end -#set($closest = ${list.get($closestPoints, 0)}) -#set($secondary = ${list.get($closestPoints, 1)}) -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${report} ## -#if($closest.roundedDistance <= 4) -OVER ## -#else -${closest.roundedDistance} MILES #direction(${closest.oppositeRoundedAzimuth}) OF ## -#end -${closest.name}## -#if($secondary) -...OR ${secondary.roundedDistance} MILES #direction(${secondary.oppositeRoundedAzimuth}) OF ${secondary.name}## -#end -#if($movementSpeed < 3 || ${stationary}) -. ${reportType2} NEARLY STATIONARY. -#else -...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. -#end -## Determine if the pathcast goes over only rural areas -#set($ruralOnly = 1) -#foreach(${pc} in ${pathCast}) -#if(${pc.points}) -#set($ruralOnly = 0) -#end -#end -#set($numOtherCities = ${list.size($otherPoints)}) - -#################### -## BEGIN PATHCAST ## -#################### -#if(${pathCast} && ${ruralOnly} == 0) -#if(${stormType} == "line") -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -THE CUSTOM THING PRODUCING STORMS WILL BE NEAR... -#else -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -THE CUSTOM THING WILL BE NEAR... -#end -#set($numRural = 0)## indicates the number of rural points -#foreach (${pc} in ${pathCast}) -#if(${pc.points}) -#set($numRural = 0) -#set($numCities = ${list.size($pc.points)}) -#set($count = 0) - ## -#foreach (${city} in ${pc.points}) -#if(${city.roundedDistance} < 3) -## close enough to not need azran, considered OVER the area -${city.name}## -#else -## needs azran information -${city.roundedDistance} MILES #direction(${city.oppositeRoundedAzimuth}) OF ${city.name}## -#end -#set($count = $count + 1) -#if($count == $numCities - 1) - AND ## -#elseif($count < $numCities) -...## -#end -#end - BY ${dateUtil.format(${pc.time}, ${timeFormat.clock}, ${localtimezone})}... -#else## Handle the rural cases -#set($numRural = $numRural + 1) -#if($numRural > 2) - RURAL ${pc.area} ${pc.areaNotation} AT ${dateUtil.format(${pc.time}, ${timeFormat.clock}, ${localtimezone})}... -#set($numRural = 0) -#end -#end -#end -#elseif(${otherPoints} && ${numOtherCities} > 0) -* OTHER LOCATIONS IN THE WARNING INCLUDE BUT ARE NOT LIMITED TO -#set($count = 0) - ## -#foreach(${point} in ${otherPoints}) -#set($count = $count + 1) -${point}## -#if($count == $numOtherCities - 1) - AND ## -#elseif($count < $numOtherCities) -...## -#end -#end - -#else -* THE CUSTOM THING WILL OTHERWISE REMAIN OVER MAINLY RURAL AREAS OF THE INDICATED COUNTIES. - -#end -#################### -## ENDS PATHCAST ## -#################### - -#if(${list.contains($bullets, "more")}) -IN ADDITION TO THE CUSTOM WARNING... - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -#end -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end -#printcoords(${areaPoly}, ${list}) - -TIME...MOT...LOC ## -#if(${corToNewMarker}) -${dateUtil.format(${TMLtime}, ${timeFormat.time})}Z ## -#else -${dateUtil.format(${event}, ${timeFormat.time})}Z ## -#end -${mathUtil.roundAndPad(${movementDirection})}DEG ## -${mathUtil.round(${movementInKnots})}KT ## -#foreach(${eventCoord} in ${eventLocation}) -#llFormat(${eventCoord.y}) #llFormat(${eventCoord.x}) ## -#end - -$$ - -!**NAME/INITIALS**! diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/customTemplate.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/customTemplate.xml deleted file mode 100644 index 5a5af277f5..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/customTemplate.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - - - - - - - - - - - XX.W - - - - true - - - true - - - - torWatches - svrWatches - - - - 30 - - 10 - 15 - 20 - 25 - 30 - 40 - 45 - 50 - 60 - 75 - 90 - - - - - - - - - - - - - - - 0.00 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - WARNGENLEV - 1 - INCLUSIVE - - 25 - - 50 - true - true - - warngenlev - population - - - - - - - 2 - mi - mph - NAME - - WARNGENLEV - 0 - EXCLUSIVE - - - distance - warngenlev - - - - - - true - 20 - 45 - 8.0 - 5 - 4 - 8 - Name - - WARNGENLEV - 0 - EXCLUSIVE - - COUNTYNAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - City - County - States - TIMEZONES - TIME_ZONE - CWA - - WFO - $warngenCWAFilter - INCLUSIVE - - - - \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/damInfo.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/damInfo.vm index ed4ec6f9b2..1300d431a1 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/damInfo.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/damInfo.vm @@ -61,11 +61,12 @@ #if(${bullet.endsWith("Dam")}) #set($ctaSelected = "YES") #set($sitespecSelected = "YES") -## #set($hycType = "THE ${riverName} BELOW ${damName}") -## #set($headline = "FOR ${reportType2} ${damName} ON THE ${riverName} ") -## #set($reportType1 = "${reportType2} ${damName} ON THE ${riverName}${reportInfo}") -## #set($addInfo = "THE NEAREST DOWNSTREAM TOWN IS ${cityInfo} FROM THE DAM.") -## #set($sitespecCTA = "IF YOU ARE IN LOW LYING AREAS BELOW THE ${damName} YOU SHOULD MOVE TO HIGHER GROUND IMMEDIATELY.") + #set($hycType = "THE ${riverName} BELOW ${damName}") + #set($emergencyHeadline = "TOWNS AND CITIES IMMEDIATELY BELOW ${damName} ON THE ${riverName}") + #set($headline = "FOR ${reportType2} ${damName} ON THE ${riverName} ") + #set($reportType1 = "${reportType2} ${damName} ON THE ${riverName}${reportInfo}") + #set($addInfo = "THE NEAREST DOWNSTREAM TOWN IS ${cityInfo} FROM THE DAM.") + #set($sitespecCTA = "IF YOU ARE IN LOW LYING AREAS BELOW THE ${damName} YOU SHOULD MOVE TO HIGHER GROUND IMMEDIATELY.") #end #end ####################################################################### diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dssEvents.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dssEvents.vm new file mode 100644 index 0000000000..670322f246 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dssEvents.vm @@ -0,0 +1,28 @@ +#* +CREATED 09-20-2013 BY EVAN BOOKBINDER + +dbTable list should include the pointSource objects created in +dssEvents.xml + +*# + +#if ($dss_events) +#set($size = ${list.size($dss_events)}) +#if ($size > 0) +PEOPLE ATTENDING ## +#set($counter = 1) +#foreach($dss in $dss_events) +#if($counter < $size) +${dss.name}...## +#set($counter = $counter + 1) +#elseif($counter == $size) +#if($size > 1) +AND ## +#end +${dss.name} ## +#end +#end +SHOULD SEEK SAFE SHELTER IMMEDIATELY! + +#end +#end \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dssEvents.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dssEvents.xml new file mode 100644 index 0000000000..c01ba98673 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dssEvents.xml @@ -0,0 +1,32 @@ + + + + warngen_dss + NAME + TRACK + true + 10 + 10 + + distance + + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dupCounties.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dupCounties.vm index ffc49c6e8d..29f8f6dfdc 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dupCounties.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/dupCounties.vm @@ -1,7 +1,10 @@ ### IF YOU HAVE DUPLICATE COUNTY NAMES IN YOUR CWA -### (e.g. JOHNSON KANSAS AND JOHNSON MISSOURI) INCLUDE FIPS BELOW -### IN THE XXYYY FORMAT WHERE XX = STATE FIPS AND YYY = COUNTY FIPS -### For example: #set ($dupcounties = ["20091","20107","29101","29115"]) +### (e.g. LINN KANSAS AND LINN MISSOURI) INCLUDE FIPS/ZONE CODES BELOW. +### FIPS CODES ARE IN A XXYYY NUMERIC FORMAT WHERE XX = STATE FIPS AND YYY = COUNTY FIPS +### ZONE CODES ARE IN A XXYYY STRING FORMAT WHERE XX = STATE ABBREVIATION AND YYY = ZONE CODE +### For example: For Linn County Kansas and Linn County Missouri, we would have 4 entires: +### the FIPS/Zone pair for Linn Kansas and the FIPS/Zone pair for Linn Missouri +### #set ($dupcounties = ["29115","MO024","20107","KS060"]) ### IF YOU DO NOT HAVE DUPLICATE COUNTY NAMES USE THE FOLLOWING SYNTAX: ### Null example: #set ($dupcounties = [""]) #set ($dupcounties = [""]) \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.vm index 809df3f0e4..49e03ff80b 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.vm @@ -1,16 +1,16 @@ ################# ############################################################################ ## EXTREME WIND WARNING TEMPLATE ## -## (SLIGHTLY) MODIFIED BY TOM BIRCHARD - WFO HFO ## -## VERSION AWIPS II 1.0 -- 15-APRIL-2011 -## MODIFIED EVAN BOOKBINDER 09-16-2011 OB11.0.8-8 ## -## EVAN BOOKBINDER WFO EAX 11-04-2011 OB11.9-3 (DRs) ## +## RECENT HISTORY ## QINGLU LIN 8-14-2012 DR 14493 use TMLtime ## ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## -## Evan Bookbinder 06-07-2013 Fixed CTAs/&& +## Evan Bookbinder 06-07-2013 Fixed CTAs/&& +## Evan Bookbinder 09-18-2013 Implemented config.vm ############################################################################ +################# ## EWW PRODUCT ## ################# +#parse("config.vm") ## ${WMOId} ${vtecOffice} 000000 ${BBBId} EWW${siteId} @@ -115,12 +115,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${reportType}...${reportType1} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY.## #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH.## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.xml index eeb8f45585..51dda91a61 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarning.xml @@ -4,10 +4,24 @@ Evan Bookbinder 09-12-2012 Added settings for locations shapefile Added new areaSource object Evan Bookbinder 03-1-2013 Fixed group Settings - Evan Bookbinder 06-07-2013 Fixed CTAs + Evan Bookbinder 06-07-2013 Fixed CTAs + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -80,7 +94,8 @@ - + + @@ -106,161 +121,10 @@ - + + - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 50 - - distance - warngenlev - population - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - warngenlev - population - - - - - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - COUNTYNAME - AREA - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.vm index 9575f728e9..88b81211e0 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.vm @@ -4,8 +4,10 @@ ## 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 ################################################ ## +#parse("config.vm") ### CREATE PHRASING DEPENDING ON WHETHER WE ISSUE EXP PRIOR TO EXPIRATION TIME OR NOT #if(${action}=="COR" && ${cancelareas}) #set($CORCAN = "true") @@ -42,7 +44,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -144,7 +150,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -170,12 +180,13 @@ THIS IS A TEST MESSAGE. ## #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${reportType}...${reportType1} ## #end +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY.## #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH.## @@ -308,7 +319,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugclinecan} /${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -322,6 +337,8 @@ THIS IS A TEST MESSAGE.## #end ...THE EXTREME WIND WARNING FOR ## #headlineLocList(${cancelareas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false) ${expcanHLTag}... ## One line explanation !**EXPLANATION**! @@ -349,7 +366,11 @@ $$ ${ugcline} /${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -371,12 +392,13 @@ THIS IS A TEST MESSAGE. AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${lo AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${reportType}...${reportType1} ## #end +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY.## #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH.## @@ -468,7 +490,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.xml index fc306ee4e1..201c1800dc 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/extremeWindWarningFollowup.xml @@ -6,9 +6,23 @@ Added new areaSource object Evan Bookbinder 03-01-2013 Fixed Group Settings Evan Bookbinder 06-07-2013 Fixed CTAs + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -94,8 +108,7 @@ - - + @@ -120,164 +133,10 @@ - - - - + + - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - warngenlev - population - - - - - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - 1 - NAME - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/ffwfaw.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/ffwfaw.vm deleted file mode 100644 index 43ef9d09c8..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/ffwfaw.vm +++ /dev/null @@ -1,311 +0,0 @@ -################################################################## -## FLASH FLOOD/AREAL WARNING TEMPLATE FOR COUNTY-BASED PRODUCTS ## -################################################################## -## EDITED BY MIKE DANGELO 7-13-2011 ## -## Edited by Phil Kurimski 8-15-2011 for OB11.80-4 ## -## Overhauled by Evan Bookbinder 9-15-2011 for OB11.8.0-8 to combine FFW/FLW -## - -#################################### SET SOME VARIABLES ################################### -#set ($hycType = "") -#set ($ic = "ER") -#set ($floodReason = "") - -#set ($MNDPROD = "!** YOU DID NOT SELECT A WARNING TYPE! CLOSE THIS WINDOW AND REGENERATE YOUR WARNING **!") - -#if(${list.contains($bullets, "ffwSelect")}) - #set($MNDPROD = "FLASH FLOOD WARNING") - #set($EAS = "EAS ACTIVATION REQUEST") - #set($floodType = "FLASH FLOODING") - #set($pil = "FFW") - #set($vtecPhenSig = "FF.W") -#elseif(${list.contains($bullets, "fawSelect")}) - #set($MNDPROD = "FLOOD WARNING") - #set($EAS = "IMMEDIATE BROADCAST REQUEST") - #set($floodType = "FLOODING") - #set($pil = "FLW") - #set($vtecPhenSig = "FA.W") -#end - -## -#if(${action} == "EXT") - #set($starttime = "000000T0000Z") - #set($extend = true) -#else - #set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})}) - #set($extend = false) -#end -## -###OVERRIDE DEFAULT EXECESSIVE RAINFALL IF NECESSARY -#if(${list.contains($bullets, "icrs")}) - #set ($ic = "RS") - #set ($hycType = "RAIN AND SNOW MELT IN...") - #set ($floodReason = " RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE ${floodType}.") -#elseif(${list.contains($bullets, "icsm")}) - #set ($ic = "SM") - #set ($hycType = "FOR RAPID SNOW MELT IN...") - #set ($floodReason = " RAPID SNOW MELT IS OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains($bullets, "icij")}) - #set ($ic = "IJ") - #set ($hycType = "FOR ICE JAM FLOODING IN...") - #set ($floodReason = " AN ICE JAM IS OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains($bullets, "icicr")}) - #set ($ic = "IC") - #set ($hycType = "FOR AN ICE JAM AND HEAVY RAIN IN...") - #set ($floodReason = " AN ICE JAM IS ALSO OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains($bullets, "icics")}) - #set ($ic = "IC") - #set ($hycType = "FOR AN ICE JAM AND RAPID SNOW MELT IN...") - #set ($floodReason = " AN ICE JAM AND RAPID SNOW MELT ARE ALSO OCCURRING AND WILL CAUSE ${floodType}.") -#elseif(${list.contains($bullets, "icerr")}) - #set ($ic = "ER") - #set ($hycType = "FOR RAPID RIVER RISES IN...") -#end -## -${WMOId} ${vtecOffice} 000000 ${BBBId} -${pil}${siteId} -#if(${specialCorText}) -${specialCorText} -#else -${ugcline} -#################################### VTEC LINE ################################### -/${productClass}.${action}.${vtecOffice}.${vtecPhenSig}.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ - -#################################### MND HEADER ################################### -BULLETIN - ${EAS} -#if(${productClass}=="T") -TEST...${MNDPROD}...TEST -#else -${MNDPROD} -#end -NATIONAL WEATHER SERVICE ${officeShort} -#backupText(${backupSite}) -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#headlineext(${officeLoc}, ${backupSite}, ${extend}) - -################################# -######## FIRST BULLET ########### -################################# -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -${MNDPROD} FOR... -#if (${hycType} != "") - ${hycType} -#end -#firstBullet(${areas}) - -################################# -####### SECOND BULLET ########### -################################# -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) - - -################################################ -################################# -######## THIRD BULLET ########### -################################# -#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 HAS ALREADY FALLEN.") -#end -#if(${list.contains($bullets, "rain3")} ) - #set ($rainAmount = " UP TO THREE INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains($bullets, "rainEdit")} ) - #set ($rainAmount = " !** RAINFALL AMOUNTS **! INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#set ($reportBy = "!**YOU DID NOT SELECT A /SOURCE/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**!") -#if(${list.contains($bullets, "doppler")}) - #set ($reportBy = "NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED") -#elseif(${list.contains($bullets, "dopplerGauge")}) - #set ($reportBy = "NATIONAL WEATHER SERVICE DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED") -#elseif(${list.contains($bullets, "trainedSpotters")}) - #set ($reportBy = "TRAINED WEATHER SPOTTERS REPORTED") -#elseif(${list.contains($bullets, "lawEnforcement")}) - #set ($reportBy = "LOCAL LAW ENFORCEMENT REPORTED") -#elseif(${list.contains($bullets, "public")}) - #set ($reportBy = "THE PUBLIC REPORTED") -#elseif(${list.contains($bullets, "emergencyManagement")}) - #set ($reportBy = "EMERGENCY MANAGEMENT REPORTED") -#elseif(${list.contains($bullets, "satellite")}) - #set ($reportBy = "SATELLITE ESTIMATES INDICATED") -#elseif(${list.contains($bullets, "satelliteGauge")}) - #set ($reportBy = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED") -#end -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#set($cityListLead = "") -#if(${list.contains($bullets, "thunder")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} SLOW MOVING THUNDERSTORMS WITH VERY HEAVY RAINFALL ACROSS THE WARNED AREA.${rainAmount}${floodReason} -#set($cityListLead = "RUNOFF FROM THIS EXCESSIVE RAINFALL WILL CAUSE ${floodType} TO OCCUR. ") -#elseif(${list.contains($bullets, "plainRain")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} AN AREA OF VERY HEAVY RAINFALL ACROSS THE WARNED AREA.${rainAmount}${floodReason} -#set($cityListLead = "RUNOFF FROM THIS EXCESSIVE RAINFALL WILL CAUSE ${floodType} TO OCCUR. ") -#elseif(${list.contains($bullets, "floodOccurring")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -${reportBy} ${floodType} ACROSS THE WARNED AREA.${rainAmount}${floodReason} !** ENTER SPECIFIC REPORTS OF FLOODING AND EXPECTED RAINFALL AMOUNTS **! -#elseif(${list.contains($bullets, "genericFlood")}) -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## -!** ENTER REASON AND FORECAST FOR FLOOD **! -#else -"!**YOU DID NOT SELECT AN /EVENT/ BULLET. PLEASE CLOSE THIS WINDOW AND REGENERATE YOUR WARNING**! -#end - -########################################################################## -## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # -########################################################################## -#if(${list.contains($bullets, "ffwEmergency")} ) -#if(${list.contains($bullets, "ffwSelect")}) - THIS IS A FLASH FLOOD EMERGENCY FOR !** LOCATION **!. - -#else - -!** YOU HAVE SELECTED FLASH FLOOD EMERGENCY BUT AN AREAL FLOOD WARNING. PLEASE CLOSE AND REGENERATE YOUR WARNING CORRECTLY **! - -#end -#end -############################################ -######## FOURTH BULLET (CITY LIST) ######### -############################################ -* ## -#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! -${cityListLead}#locationsList("SOME LOCATIONS THAT WILL EXPERIENCE FLOODING INCLUDE" "${floodType} IS EXPECTED TO OCCUR OVER MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) - -########################################## 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 -############################################## -###### mile markers ############## -############################################## -#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 -#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, "particularStreamCTA")}) -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, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF ${floodType} IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#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")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#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 ${MNDPROD} 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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE. - -#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}) - - -$$ - -!**NAME/INITIALS**! - -## example of a for-each loop which will include interstate/mile marker information -## #foreach (${local} in ${alpha}) -## spot is ${local.name}... -## #end - -########### EXAMPLES OF PARSE OR INCLUDE STATEMENTS ################################ -## #parse ("test.vm") -## #include ("username.txt") -#end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/ffwfaw.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/ffwfaw.xml deleted file mode 100644 index 27e6a280ff..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/ffwfaw.xml +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - mi - mph - - - - - County Names - County Warning Areas - - - - - - - NEW - COR - EXT - - - - - FF.W - FA.W - - - - true - - - true - - - 360 - - 120 - 180 - 210 - 240 - 270 - 300 - 330 - 360 - 420 - 480 - 540 - 600 - 660 - 720 - 1440 - 2160 - 2880 - 3600 - - -ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.00 - AND - 0 - COUNTYNAME - - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - - NAME - - parent - - - - - - - 25 - - - - false - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - COUNTYNAME - STATE - STATE - countyTypes.txt - - distance - - - - - NAME - POINTS - true - 30 - 200 - - warngenlev - population - - - - - - - - - - NAME - POINTS - true - 10 - 200 - - name - - - - - - - - - - City - County - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.vm index 95cb7569cf..ac579914f4 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.vm @@ -4,6 +4,7 @@ ## CREATED BOOKBINDER/DANGELO - 2-07-12 - Initial OB12 Write ## ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## ############################################################################### +#parse("config.vm") ${WMOId} ${vtecOffice} 000000 ${BBBId} FRW${siteId} ${ugcline} @@ -59,6 +60,7 @@ A FIRE WAS RACING TOWARD !** LOCATIONS **! AND COULD REACH THERE BY !** TIME **! ## parse file command here is to pull in mile marker info ## #parse("mileMarkers.vm") +## #parse("pointMarkers.vm") ##################### ## CALL TO ACTIONS ## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.xml index e7e3d13354..ebb44f9f77 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/fireWarning.xml @@ -4,9 +4,23 @@ Modified MIKE REGA 5-10-2012 DR 14525 added timeZoneField DR 14691 added feAreaField Evan Bookbinder 09-12-2012 added new areaSource object + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -24,7 +38,7 @@ - + COR @@ -88,155 +102,4 @@ - - - Zone - 0 - AND - 0 - NAME - NAME - FE_AREA - TIME_ZONE - STATE - countyTypes.txt - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - - - - - 1 - AREA - true - 8.0 - 5 - 5 - 4 - 8 - Name - COUNTYNAME - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.vm index 6417edfdb1..8c4eb87aa5 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.vm @@ -1,19 +1,15 @@ ############################################################ ## FLASH FLOOD WARNING TEMPLATE FOR COUNTY-BASED PRODUCTS ## ############################################################ -## EDITED BY MIKE DANGELO 7-13-2011 -## Edited by Phil Kurimski 8-15-2011 for OB11.8.0-4 -## EDITED BY EVAN BOOKBINDER 9-15-2011 for OB11.8.0-8 -## EDITED BY MIKE DANGELO 9-21-2011 at Alaska TIM -## EDITED BY PHIL KURIMSKI 9-23-2011 at Alaska TIM for burn scars and mud slides -## EDITED BY EVAN BOOKBINDER 11-04-11 - OB11.9-3 (DRs) -## EDITED BY MIKE DANGELO 1-25-2012 at CRH TIM -## EDITED BY MIKE DANGELO 2-23-2012 -## EDITED BY EVAN BOOKBINDER 2-24-2012 +## RECENT VERSION HISTORY: ## EDITED BY Phil Kurimski 9-13-2012 OB12.9.1-12 to add Flash Flood Emergency Headline ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## Phil Kurimski 2-05-2013 revised CTA statements +## Mike Dangelo 09-17-2013 added code for init pos & pathcasting, and added pointMarkers parse line +## Evan Bookbinder 9-18-2013 Implemented config.vm +## Gene Petrescu 09-19-2013 Added Alaska Modifications (GP comments) #################################### SET SOME VARIABLES ################################### +#parse("config.vm") #set($hycType = "") ## #if(${action} == "EXT") @@ -29,7 +25,7 @@ #if(${list.contains(${bullets}, "icrs")}) #set($ic = "RS") #set($hycType = "RAIN AND SNOW MELT IN...") - #set($snowMelt = "RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE FLOODING.") + #set($snowMelt = "RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE FLOODING. ") #end ## ${WMOId} ${vtecOffice} 000000 ${BBBId} @@ -58,11 +54,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ############################################################################# ## Flash Flood Emergency Headline -- Coming soon to a warning near you! # ############################################################################# -###if(${list.contains(${bullets}, "ffwEmergency")} ) -###set($ctaSelected = "YES") -##...FLASH FLOOD EMERGENCY FOR !** LOCATION **!... -## -###end +#if(${list.contains(${bullets}, "ffwEmergency")} ) +#set($ctaSelected = "YES") +...FLASH FLOOD EMERGENCY FOR !** LOCATION **!... + +#end #headlineext(${officeLoc}, ${backupSite}, ${extend}) ################################# @@ -76,7 +72,13 @@ FLASH FLOOD WARNING FOR... #if(${hycType} != "") ${hycType} #end +###REMMED OUT FOR ALASKA #firstBullet(${areas}) +###UNCOMMENT NEXT LINE for AK - Temp fix until hydro shapefiles can be created +###!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! +###UNCOMMENT BELOW FOR A ZONE BASED PRODUCT USING COUNTY HEADLINES +###firstBullet(${affectedCounties}) +############# GP end ################################# ####### SECOND BULLET ########### @@ -92,11 +94,15 @@ THIS IS A TEST MESSAGE. ## ################################# ######## THIRD BULLET ########### ################################# -#set($report = "HEAVY RAIN IS OCCURRING. !** ADD MORE DETAIL HERE **!") +#set($s1 = "DOPPLER RADAR ") +#set($s2 = "INDICATED ") +#set($s3 = "HEAVY RAIN") +#set($overPhrase = "OVER") +#set($nearPhrase = "NEAR") #if(${list.contains(${bullets}, "flash")} ) - #set($isExpected = "FLASH FLOODING IS ALREADY OCCURRING.") + #set($isExpected = "FLASH FLOODING IS ALREADY OCCURRING. ") #else - #set($isExpected = "FLASH FLOODING IS EXPECTED TO BEGIN SHORTLY.") + #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.") @@ -112,97 +118,278 @@ THIS IS A TEST MESSAGE. ## #end #set($rainAmount = "") #if(${list.contains(${bullets}, "rain1")} ) - #set($rainAmount = "UP TO ONE INCH OF RAIN HAS ALREADY FALLEN.") + #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.") + #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.") + #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.") + #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.") + #set($s1 = "DOPPLER RADAR ") + #set($s2 = "INDICATED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #end #if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED THUNDERSTORMS PRODUCING HEAVY RAIN ACROSS THE WARNED AREA.") + #set($s1 = "DOPPLER RADAR ") + #set($s2 = "INDICATED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #end #if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA.") + #set($s1 = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES ") + #set($s2 = "INDICATED ") + #set($s3 = "HEAVY RAIN FALLING") + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #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.") + #set($s1 = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES ") + #set($s2 = "INDICATED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #end #if(${list.contains(${bullets}, "trainedSpotters")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **!.") + #set($s1 = "TRAINED WEATHER SPOTTERS ") + #set($s2 = "REPORTED ") + #set($s3 = "FLASH FLOODING") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED THUNDERSTORMS PRODUCING HEAVY RAIN IN !** LOCATION **!.") + #set($s1 = "TRAINED WEATHER SPOTTERS ") + #set($s2 = "REPORTED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "flash")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED FLASH FLOODING OCCURRING IN !** LOCATION **!.") + #set($s1 = "TRAINED WEATHER SPOTTERS ") + #set($s2 = "REPORTED ") + #set($s3 = "FLASH FLOODING") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **!.") + #set($s1 = "TRAINED WEATHER SPOTTERS ") + #set($s2 = "REPORTED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED HEAVY RAIN IN !** LOCATION **!") + #set($s1 = "THE PUBLIC ") + #set($s2 = "REPORTED ") + #set($s3 = "FLASH FLOODING") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "THE PUBLIC REPORTED HEAVY RAIN FROM THUNDERSTORMS IN !** LOCATION **!.") + #set($s1 = "THE PUBLIC ") + #set($s2 = "REPORTED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "flash")}) - #set($report = "THE PUBLIC REPORTED FLASH FLOODING OCCURRING IN !** LOCATION **!.") + #set($s1 = "THE PUBLIC ") + #set($s2 = "REPORTED ") + #set($s3 = "FLASH FLOODING") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "THE PUBLIC REPORTED HEAVY RAIN IN !** LOCATION **!.") + #set($s1 = "THE PUBLIC ") + #set($s2 = "REPORTED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN OVER !** LOCATION **!.") + #set($s1 = "LOCAL LAW ENFORCEMENT ") + #set($s2 = "REPORTED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN DUE TO THUNDERSTORMS OVER !** LOCATION **!.") + #set($s1 = "LOCAL LAW ENFORCEMENT ") + #set($s2 = "REPORTED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "flash")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED FLASH FLOODING IS OCCURRING IN !** LOCATION **!.") + #set($s1 = "LOCAL LAW ENFORCEMENT ") + #set($s2 = "REPORTED ") + #set($s3 = "FLASH FLOODING") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN IN !** LOCATION **!.") + #set($s1 = "LOCAL LAW ENFORCEMENT ") + #set($s2 = "REPORTED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "emergencyManagement")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN OVER !** LOCATION **! ") + #set($s1 = "EMERGENCY MANAGEMENT ") + #set($s2 = "REPORTED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN DUE TO THUNDERSTORMS OVER !** LOCATION **!.") + #set($s1 = "EMERGENCY MANAGEMENT ") + #set($s2 = "REPORTED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "flash")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED FLASH FLOODING IN !** LOCATION **!.") + #set($s1 = "EMERGENCY MANAGEMENT ") + #set($s2 = "REPORTED ") + #set($s3 = "FLASH FLOODING") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "emergencyManagement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "EMERGENCY MANAGEMENT REPORTED HEAVY RAIN IN !** LOCATION **!.") + #set($s1 = "EMERGENCY MANAGEMENT ") + #set($s2 = "REPORTED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "IN") + #set($overPhrase = "IN") #end #if(${list.contains(${bullets}, "satellite")}) - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN.") + #set($s1 = "SATELLITE ESTIMATES ") + #set($s2 = "INDICATED ") + #set($s3 = "HEAVY RAIN") + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #end #if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "SATELLITE ESTIMATES INDICATED THUNDERSTORMS PRODUCING HEAVY RAIN OVER THE WARNED AREA.") + #set($s1 = "SATELLITE ESTIMATES ") + #set($s2 = "INDICATED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #end #if(${list.contains(${bullets}, "satelliteGauge")}) - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE WARNED AREA.") + #set($s1 = "SATELLITE ESTIMATES AND RAIN GAUGES ") + #set($s2 = "INDICATED ") + #set($s3 = "HEAVY RAIN FALLING") + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #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.") + #set($s1 = "SATELLITE ESTIMATES AND RAIN GAUGES ") + #set($s2 = "INDICATED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") +#end +#if(${list.contains(${bullets}, "onlyGauge")}) + #set($s1 = "GAUGE REPORTS ") + #set($s2 = "INDICATED ") + #set($s3 = "HEAVY RAIN FALLING") + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") +#end +#if(${list.contains(${bullets}, "onlyGauge")} && ${list.contains(${bullets}, "thunder")}) + #set($s1 = "GAUGE REPORTS ") + #set($s2 = "INDICATED ") + #if(${stormType} == "line") + #set($s3 = "THUNDERSTORMS PRODUCING HEAVY RAIN") + #else + #set($s3 = "A THUNDERSTORM PRODUCING HEAVY RAIN") + #end + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") +#end +#if(${list.contains(${bullets}, "onlyGauge")} && ${list.contains(${bullets}, "plain rain")}) + #set($s1 = "GAUGE REPORTS ") + #set($s2 = "INDICATED ") + #set($nearPhrase = "NEAR") + #set($overPhrase = "OVER") #end * ## #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## #end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${report} ${rainAmount} ${isExpected} ${snowMelt} - -#wrapText(${burnScar} 2 2) +#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) +...${s1}${s2}${s3} ## +############# IF TRACK IS ENABLED AND stormPosition SELECTED ############################################### +#if(${list.contains(${bullets},"stormPosition")}) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase}, 6, ${overPhrase}, 2, "MILES", false) +. ## +#if(${list.contains(${bullets}, "flash")}) +#set($skip = "") +#else +#if(${movementSpeed} < 3 || ${stationary}) +#if(${list.contains(${bullets}, "thunder")}) +THE STORM IS NEARLY STATIONARY. ## +#else +THE RAIN WILL CONTINUE. ## +#end +#else +#if(${stormType} == "line") +#if(${list.contains(${bullets}, "thunder")}) +THE STORMS ARE MOVING ## +#else +THE STORM IS MOVING ## +#end +#else +THE RAIN IS MOVING ## +#end +#direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. ## +#end +#end +#else +!** LOCATION **! ## +#end +${rainAmount}${isExpected}${snowMelt}${burnScar} ########################################################################## ## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # @@ -216,10 +403,23 @@ THIS IS A TEST MESSAGE. ## ############################################################# ######## FOURTH BULLET (OPTIONAL IN FLOOD PRODUCTS) ######### ############################################################# +############# IF TRACK IS ENABLED AND trackStorm AND stormPosition BOTH SELECTED ############################################### +#if(${list.contains(${bullets},"pathcast")}) +* ## +#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. ## @@ -249,8 +449,9 @@ FLOOD WATERS ARE MOVING DOWN !**name of channel**! FROM !**location**! TO !**loc #end -## parse file command here is to pull in mile marker info +## parse file command here is to pull in mile marker and/or point marker info ## #parse("mileMarkers.vm") +## #parse("pointMarkers.vm") #################################### END OF ADDITIONAL STUFF ################################### ###################################### @@ -359,13 +560,18 @@ PLEASE REPORT FLOODING TO YOUR LOCAL LAW ENFORCEMENT AGENCY WHEN YOU CAN DO SO S ########################################## ########BOTTOM OF THE PRODUCT############# ########################################## +######################## +## LAT/LON, TML, SIGN ## +######################## #if(${productClass}=="T") THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. #end -#set($COORDS = "#printcoords(${areaPoly}, ${list})") -${COORDS} + +#printcoords(${areaPoly}, ${list}) + $$ -#parse("forecasterName.vm") + +#parse("forecasterName.vm") \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.xml index 037ac9c54e..db363c2f88 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning.xml @@ -1,18 +1,30 @@ - + + + + + + + + + mi mph @@ -47,6 +59,11 @@ true + + false + @@ -58,13 +75,20 @@ 180 - 30 60 90 120 + 150 180 + 210 240 + 270 + 300 + 330 360 + 390 + 420 + 450 480 @@ -78,17 +102,18 @@ - - + + - - + + + + @@ -98,7 +123,9 @@ - + + @@ -113,7 +140,7 @@ - + @@ -127,14 +154,16 @@ - - + + + + @@ -144,15 +173,14 @@ - - - - + + + - @@ -173,17 +201,19 @@ - - + + - - + + + + @@ -193,10 +223,10 @@ - - - - + + + @@ -216,118 +246,6 @@ - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - 1 - NAME - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 50 - 10 - - distance - - - - - - - - - - - - - - - false - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.vm index 305eac6082..e9c73c7d55 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.vm @@ -11,7 +11,11 @@ ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## Phil Kurimski 2-08-2013 revised CTA statements ## Evan Bookbinder 3-1-2013 missing $$ for Partial Cancellation +## Mike Dangelo 09-18-2013 added code for init pos & pathcasting, and added pointMarkers parse line +## Mike Dangelo 09-19-2013 implemented config.vm +## Gene Petrescu 09-20-2013 added AK modifications (GP comments) #################################### SET SOME VARs ################################### +#parse("config.vm") #set($hycType = "") #set($snowMelt = "") #set($floodReason = "") @@ -53,7 +57,11 @@ ${ugclinecan} /${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #elseif(${CORCAN}=="true") ${ugclinecan} @@ -61,7 +69,11 @@ ${ugclinecan} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #else ${ugcline} @@ -69,7 +81,11 @@ ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #end @@ -104,14 +120,24 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${hycType} != "") ${hycType} IN ## #end +###REMMED OUT FOR Alaska. This would output the headline in zone format #headlineLocList(${areas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${affectedCounties} true true true false) ${expcanHLTag}... +###UNCOMMENT LINE BELOW FOR AK - Temp fix until hydro shapefiles can be created +###!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! ${expcanHLTag}... ## SLIGHTLY DIFFERENT VARIABLE FOR PARTIAL CANCELLATION HEADLINE #elseif(${action}=="CANCON" || ${CORCAN}=="true") ...THE FLASH FLOOD WARNING FOR ## #if(${hycType} != "") ${hycType} IN ## #end +###REMMED OUT FOR Alaska. This would output the headline in zone format #headlineLocList(${cancelareas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false) ${expcanHLTag}... +###UNCOMMENT LINE BELOW FOR AK - Temp fix until hydro shapefiles can be created +###!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! ${expcanHLTag}... #end ############################ ## END CAN/EXP HEADLINE #### @@ -140,7 +166,11 @@ ${ugcline} /${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -156,7 +186,11 @@ ${ugcline} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ /00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -173,21 +207,26 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") THIS IS A TEST MESSAGE.## #end -...THE FLASH FLOOD WARNING ## -#if(${hycType} != "") -FOR ${hycType} ## -#end -REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -#headlineLocList(${areas} true true true false)... -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### +################################### +## Flash Flood Emergency Headline # +################################### #if(${list.contains(${bullets}, "ffwEmergency")}) #set($ctaSelected = "YES") ...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... #end +...THE FLASH FLOOD WARNING ## +#if(${hycType} != "") +FOR ${hycType} ## +#end +REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## +###REMMED OUT FOR Alaska. This would output the headline in zone format +#headlineLocList(${areas} true true true false)... +###REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES +###headlineLocList(${affectedCounties} true true true false)... +###UNCOMMENT LINE BELOW for AK - Temp fix until hydro shapefiles can be created +###!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... ################################################ ################################# @@ -297,19 +336,76 @@ REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimez #if(${list.contains(${bullets}, "satelliteGauge")} && ${list.contains(${bullets}, "thunder")}) #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT THUNDERSTORMS WERE PRODUCING HEAVY RAIN OVER THE WARNED AREA.") #end +#if(${list.contains(${bullets}, "onlyGauge")}) + #set($report = "GAUGE REPORTS INDICATED THAT HEAVY RAIN WAS FALLING OVER THE WARNED AREA.") +#end +#if(${list.contains(${bullets}, "onlyGauge")} && ${list.contains(${bullets}, "thunder")}) + #set($report = "GAUGE REPORTS INDICATED THUNDERSTORMS WERE PRODUCING HEAVY RAIN OVER THE WARNED AREA.") +#end +#if(${list.contains(${bullets}, "onlyGauge")} && ${list.contains(${bullets}, "plainRain")}) + #set($report = "GAUGE REPORTS INDICATED HEAVY RAIN WAS FALLING OVER THE WARNED AREA.") +#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}) -...${report} ${rainAmount} ${isExpected} ${snowMelt} +#if(${stormType} == "line") +...A LINE OF THUNDERSTORMS PRODUCING HEAVY RAIN WAS 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} ${isExpected} ${snowMelt} +#else +###############IF TRACK IS NOT ENABLED OR stormPosition IS NOT SELECTED ####################################### +#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${report} ${rainAmount} ${isExpected} ${snowMelt} +#end + +########################## +## Flash Flood Emergency # +########################## +#if(${list.contains(${bullets}, "ffwEmergency")} ) +#set($ctaSelected = "YES") +THIS IS A FLASH FLOOD EMERGENCY FOR !** LOCATION **!. SEEK HIGHER GROUND NOW! +#end ${burnScar} -############################################ -######## (CITY LIST) ######### -############################################ +###################################################### +######## 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 @@ -323,7 +419,7 @@ THIS IS A TEST MESSAGE. ## ########### KEEP TWO BLANK LINES BELOW -########################################## END OF OPTIONAL FOURTH BULLET ############################## +########################################## END OF OPTIONAL LOCATIONS LISTS ############################## ###################################### ###### WHERE ADDITIONAL INFO GOES #### ###################################### @@ -342,6 +438,8 @@ FLOOD WATERS ARE MOVING DOWN !**name of channel**! FROM !**location**! TO !**loc ## 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 ################################### ###################################### @@ -447,16 +545,16 @@ PLEASE REPORT FLOODING TO YOUR LOCAL LAW ENFORCEMENT AGENCY WHEN YOU CAN DO SO S #end #################################### END OF CTA STUFF ################################### - -########################################## -########BOTTOM OF THE PRODUCT############# -########################################## +######################## +## LAT/LON, TML, SIGN ## +######################## #if(${productClass}=="T") THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. #end -#set($COORDS = "#printcoords(${areaPoly}, ${list})") -${COORDS} + +#printcoords(${areaPoly}, ${list}) + $$ #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.xml index 078b34d0da..9284ac84ea 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup.xml @@ -1,19 +1,30 @@ - + + + + + + + + + mi mph @@ -49,6 +60,11 @@ true + +false + 30 @@ -83,17 +99,19 @@ - - + + - - + + + + @@ -103,10 +121,10 @@ - - - - + + + @@ -136,14 +154,16 @@ - - + + + + @@ -153,10 +173,10 @@ - - - + + @@ -176,118 +196,6 @@ - false - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - name - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.vm deleted file mode 100644 index 7acabc6992..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.vm +++ /dev/null @@ -1,456 +0,0 @@ -#################################################### -## FLASH FLOOD STATEMENT for ZONES ## -#################################################### -## Modified by MIKE DANGELO 9-19-2011 at Alaska TIM ## -## Overhauled by Phil Kurimski 09-23-2011 to reflect work -## done in August. -## Edited by Mike Dangelo 01-26-2012 at CRH TIM -## Edited by Phil Kurimski 2-29-2012 -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -#################################### SET SOME VARs ################################### -#set($hycType = "") -#set($snowMelt = "") -#set($floodReason = "") -#set($floodType = "FLASH FLOODING") -#set($burnCTA = "") -###OVERRIDE DEFAULT EXECESSIVE RAINFALL IF NECESSARY -#if(${list.contains(${bullets}, "icrs")}) - #set($hycType = "RAIN AND SNOW MELT") - #set($floodReason = " RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE ${floodType}.") -#end -## -###################################################################################### -${WMOId} ${vtecOffice} 000000 ${BBBId} -FFS${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/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} -#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/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} -#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/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} -#end - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -################################################################# -################################################################# -## LETS START WITH 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 ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})}") - #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 ## -#if(${hycType} != "") -${hycType} IN ## -#end -##REMMED OUT FOR Alaska. This would output the headline in zone format -###headlineLocList(${areas} true true true false) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${affectedCounties} true true true false) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - ${expcanHLTag}... -## SLIGHTLY DIFFERENT VARIABLE FOR PARTIAL CANCELLATION HEADLINE -#elseif(${action}=="CANCON" || ${CORCAN}=="true") -...THE FLASH FLOOD WARNING FOR ## -#if(${hycType} != "") -${hycType} IN ## -#end -##REMMED OUT FOR Alaska. This would output the headline in zone format -###headlineLocList(${cancelareas} true true true false) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${cancelaffectedCounties} true true true false) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - ${expcanHLTag}... -#end -############################ -## END CAN/EXP HEADLINE #### -############################ -####################################### -## EXPIRATION/CANCELLATION STATEMENT ## -####################################### - -#if(${action}=="EXP" || ${action} == "CAN" || ${action}=="CANCON" || ${CORCAN}=="true") -#if(${list.contains(${bullets}, "recedingWater")}) -FLOOD WATERS HAVE RECEDED...AND ARE NO LONGER EXPECTED TO POSE A THREAT TO LIFE OR PROPERTY. PLEASE CONTINUE TO HEED ANY ROAD CLOSURES. -#elseif(${list.contains(${bullets}, "rainEnded")}) -THE HEAVY RAIN HAS ENDED...AND FLOODING IS NO LONGER EXPECTED TO POSE A THREAT. -#else -!** THE HEAVY RAIN HAS ENDED. !** OR **! THE FLOOD WATER IS RECEDING. THEREFORE...THE FLOODING THREAT HAS ENDED. **!" -#end - -#printcoords(${areaPoly}, ${list}) - - -$$ -#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/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#elseif(${CORCAN}) - - -${ugcline} -/${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ -/00000.0.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${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 -...A FLASH FLOOD WARNING ## -#if(${hycType} != "") -FOR ${hycType} ## -#end -REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -##REMMED OUT FOR Alaska. This would output the headline in zone format -###headlineLocList(${cancelareas} true true true false)... -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###headlineLocList(${cancelaffectedCounties} true true true false)... -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**!... - -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - -...A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#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 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 -#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 HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rain3")} ) - #set($rainAmount = "UP TO THREE INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "rainEdit")} ) - #set($rainAmount = "!** RAINFALL AMOUNTS **! INCHES OF RAIN HAS ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "doppler")}) - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN DUE TO A THUNDERSTORM. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN DUE TO THUNDERSTORMS. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT A THUNDERSTORM IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT A LINE OF THUNDERSTORMS IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **! ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **! DUE TO A THUNDERSTORM. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "flash")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED FLASH FLOODING IN !** LOCATION **!. ${rainAmount}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN OVER !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN DUE TO A THUNDERSTORM OVER !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "flash")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED FLASH FLOODING IN !** LOCATION **!. ${rainAmount}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#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}, "public")}) - #set($report = "HEAVY RAIN HAS BEEN REPORTED IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "HEAVY RAIN FROM THUNDERSTORMS HAS BEEN REPORTED IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "flash")}) - #set($report = "FLASH FLOODING HAS BEEN REPORTED IN !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "HEAVY RAIN HAS BEEN REPORTED IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN DUE TO A THUNDERSTORM. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN DUE TO THUNDERSTORMS. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satelliteGauge")}) - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satelliteGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT A THUNDERSTORM IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satelliteGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT A LINE OF THUNDERSTORMS IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) -...${report}. ${snowMelt} - -${burnScar} - -############################################ -######## (CITY LIST) ######### -############################################ -#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 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 - -## 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}, "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}, "particularStreamCTA")}) -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}, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLASH FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#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")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE. - -#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}) - - -$$ -#end - -#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.xml deleted file mode 100644 index bd603b5472..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.xml +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - mi - mph - - - - Forecast Zones - - - - - - - - COR - CON - CAN - EXP - - - - - FF.W - - - - false - - - true - - - - 30 - - 30 - - -ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - - NAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - name - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning_Zones.vm deleted file mode 100644 index 2ed327655a..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning_Zones.vm +++ /dev/null @@ -1,347 +0,0 @@ -############################################################ -## FLASH FLOOD WARNING TEMPLATE FOR COUNTY-BASED PRODUCTS ## -############################################################ -## EDITED BY MIKE DANGELO 7-13-2011 ## -## Edited by Phil Kurimski 8-15-2011 for OB11.8 ## -## EDITED BY MIKE DANGELO 9-21-2011 at Alaska TIM ## -## EDITED BY PHIL KURIMSKI 9-23-2011 at Alaska TIM for burn scars and mud slides ## -## EDITED BY PHIL KURIMSKI 2-29-2012 -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -#################################### SET SOME VARIABLES ################################### -#set($hycType = "") -## -#if(${action} == "EXT") - #set($starttime = "000000T0000Z") - #set($extend = true) -#else - #set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})}) - #set($extend = false) -#end -## -#if(${list.contains(${bullets}, "icrs")}) - #set($ic = "RS") - #set($snowMelt = "RAPID SNOW MELT IS ALSO OCCURRING AND WILL ADD TO THE FLOODING.") - #set($hycType = "RAIN AND SNOW MELT IN...") -#else - #set($ic = "ER") - #set($snowMelt = "") -#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 !** LOCATION **!... -## -###end -#headlineext(${officeLoc}, ${backupSite}, ${extend}) - -################################# -######## FIRST BULLET ########### -################################# -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -FLASH FLOOD WARNING FOR... -#if(${hycType} != "") - ${hycType} -#end -##REMMED OUT FOR ALASKA -###firstBullet(${areas}) -##REPLACE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY HEADLINE INSTEAD OF ZONES -###firstBullet(${affectedCounties}) -!**INSERT RIVER/STREAM OR AREA**! IN !**INSERT GEO AREA**! - -################################# -####### 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 ALREADY FALLEN.") -#end -#if(${list.contains(${bullets}, "doppler")}) - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN DUE TO A THUNDERSTORM. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR INDICATED HEAVY RAIN DUE TO THUNDERSTORMS. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "dopplerGauge")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT A THUNDERSTORM IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "dopplerGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "DOPPLER RADAR AND AUTOMATED RAIN GAUGES INDICATED THAT A LINE OF THUNDERSTORMS IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **! ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **! DUE TO A THUNDERSTORM. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "flash")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED FLASH FLOODING IN !** LOCATION **!. ${rainAmount}") -#end -#if(${list.contains(${bullets}, "trainedSpotters")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "TRAINED WEATHER SPOTTERS REPORTED HEAVY RAIN IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN OVER !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN DUE TO A THUNDERSTORM OVER !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "flash")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED FLASH FLOODING IN !** LOCATION **!. ${rainAmount}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED HEAVY RAIN IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#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}, "public")}) - #set($report = "HEAVY RAIN HAS BEEN REPORTED IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "HEAVY RAIN FROM THUNDERSTORMS HAS BEEN REPORTED IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "flash")}) - #set($report = "FLASH FLOODING HAS BEEN REPORTED IN !** LOCATION **!.") -#end -#if(${list.contains(${bullets}, "public")} && ${list.contains(${bullets}, "plainRain")}) - #set($report = "HEAVY RAIN HAS BEEN REPORTED IN !** LOCATION **!. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN DUE TO A THUNDERSTORM. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "SATELLITE ESTIMATES INDICATED HEAVY RAIN DUE TO THUNDERSTORMS. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satelliteGauge")}) - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT HEAVY RAIN WAS FALLING OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satelliteGauge")} && ${list.contains(${bullets}, "thunder")}) - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT A THUNDERSTORM IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end -#if(${list.contains(${bullets}, "satelliteGauge")} && ${list.contains(${bullets}, "thunder")} && ${stormType} == "line") - #set($report = "SATELLITE ESTIMATES AND AUTOMATED RAIN GAUGES INDICATED THAT A LINE OF THUNDERSTORMS IS PRODUCING HEAVY RAIN OVER THE AREA. ${rainAmount} ${isExpected}") -#end - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${report} ${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 !** LOCATION **!. 2 2) -#end - - -############################################################# -######## FOURTH BULLET (OPTIONAL IN FLOOD PRODUCTS) ######### -############################################################# -#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 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 - -## 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}, "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}, "particularStreamCTA")}) -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}, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLASH FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#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")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#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")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE. - -#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") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning_Zones.xml deleted file mode 100644 index 472f4dfcdc..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/flashFloodWarning_Zones.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - - - - mi - mph - - - - Forecast Zones - Major Rivers - - - - - NEW - COR - EXT - - - - - FF.W - - - - true - - - true - - - - torWatches - svrWatches - - - - 180 - - 30 - 60 - 90 - 120 - 180 - 240 - 360 - 480 - - -ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - NAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - - NAME - AREA - TRACK - true - 50 - 10 - - - - - - - - - - distance - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/forecasterName.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/forecasterName.vm index a07eb091ca..87f146d6b3 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/forecasterName.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/forecasterName.vm @@ -1,8 +1,8 @@ ##$user IS A GLOBAL VARIABLE CONTAINING THE WORKSTATION'S LOGIN USERNAME -#if(${user}=="yourawipslogin") -YOURNAME +#if(${user}=="ebookbin") +TEST #elseif(${user}=="hisawipslogin") SOMEONEELSESNAME #else !**NAME/INITIALS**! -#end \ No newline at end of file +#end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_COUNTY.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_COUNTY.xml new file mode 100644 index 0000000000..cff158ac8e --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_COUNTY.xml @@ -0,0 +1,202 @@ + + + + + County + 0 + AND + 0 + COUNTYNAME + NAME + STATE + FE_AREA + TIME_ZONE + countyTypes.txt + FIPS + NAME + + parent + + + + + + + 0 + + + + + Zone + INTERSECT + 0 + AND + 0 + NAME + NAME + STATE + FE_AREA + TIME_ZONE + countyTypes.txt + STATE_ZONE + NAME + + parent + + + + + + + 0 + + + + + + + NAME + AREA + POINTS + 1 + 100 + + + + + + + + + + distance + warngenlev + population + + + + + + NAME + AREA + POINTS + 5 + 100 + + + + + + + + + + distance + warngenlev + + + + + + AREA + 1 + true + 8.0 + 5 + 5 + 10 + 8 + Name + COUNTYNAME + STATE + STATE + countyTypes.txt + + warngenlev + population + distance + + + + + + + + + + + + + + NAME + 1 + AREA + TRACK + true + 10 + 10 + + distance + + + + + + + + + + + + + + TRACK + NAME + 1 + AREA + true + 20 + 10 + + + + + + + + + + warngenlev + population + distance + + + + + + WarnGenLoc + County + States + TIMEZONES + TIME_ZONE + + + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_MARINE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_MARINE.xml new file mode 100644 index 0000000000..652e170cc0 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_MARINE.xml @@ -0,0 +1,171 @@ + + + + + WarnGenLoc + MarineZones + MarineZones + TIMEZONES + TIME_ZONE + + + + + + MarineZones + 0 + AND + 0 + NAME + NAME + NAME + countyTypes.txt + ID + NAME + + parent + + + + + + + 0 + + + + + + + NAME + AREA + POINTS + 1 + 100 + + + + + + + + + + distance + warngenlev + + + + + + NAME + AREA + POINTS + + + + + + + + + 5 + 100 + + distance + warngenlev + + + + + + AREA + + false + 1 + 10.0 + 5 + 5 + 10 + 8 + Name + Name + Name + Name + countyTypes.txt + + warngenlev + distance + + + + + + + + + + + + + + NAME + 1 + AREA + TRACK + false + 10 + 10 + + distance + + + + + + + + + + + + + + NAME + 1 + AREA + TRACK + false + 20 + 10 + + + + + + + + + + distance + + + \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_ZONE.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_ZONE.xml new file mode 100644 index 0000000000..8f531db6bc --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/geospatialConfig_ZONE.xml @@ -0,0 +1,207 @@ + + + + + WarnGenLoc + Zone + States + TIMEZONES + TIME_ZONE + + + + + + Zone + 0 + AND + 0 + NAME + NAME + STATE + FE_AREA + TIME_ZONE + countyTypes.txt + STATE_ZONE + NAME + + parent + + + + + + + 0 + + + + + COUNTY + INTERSECT + 0 + AND + 0 + COUNTYNAME + NAME + STATE + FE_AREA + TIME_ZONE + countyTypes.txt + FIPS + NAME + + parent + + + + + + + 0 + + + + + + + NAME + AREA + POINTS + 1 + 100 + + + + + + + + + + distance + warngenlev + + + + + + NAME + AREA + POINTS + 5 + 100 + + + + + + + + + + distance + warngenlev + + + + + + AREA + 1 + true + 8.0 + 5 + 5 + 10 + 8 + Name + NAME + STATE + STATE + countyTypes.txt + + warngenlev + population + distance + + + + + + + + + + + + + + NAME + 1 + AREA + TRACK + true + 10 + 10 + + distance + + + + + + + + + + + + + + NAME + 1 + AREA + TRACK + true + 20 + 10 + + + + + + + + + + warngenlev + population + distance + + + + + + + + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.vm index 2747fc4bb3..6a74dfd0e5 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.vm @@ -1,20 +1,16 @@ -################################################################ -## SEVERE THUNDERSTORM WARNING TEMPLATE ## -## FOR CR IMPACT BASED SVR INITIATIVE ## -## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- 2-21-2012 OB12.1.1-1 ## -## VERSION AWIPS II 1.1 -- 2-29-2012 OB12.2.1-4 ## -## VERSION AWIPS II 1.2 -- 4-20-2012 ## -## QINGLU LIN 8-14-2012 DR 14493 use TMLtime ## -## VERSION AWIPS II 1.3 -- 2-04-2012 OB13.2.1-5 impact stmts ## -## VERSION AWIPS II 1.4 -- 5-20-2012 Addl IBW Changes ## -################################################################ +################################################################## +## SEVERE THUNDERSTORM WARNING TEMPLATE ## +## FOR CR IMPACT BASED SVR INITIATIVE ## +## CREATED BY PHIL KURIMSKI - WFO DTX ## +## UPDATED 9-18-2013 Implement global config.vm ## +################################################################## ## Commented out Impact statements Feb 2013 and created file to ## be parsed into the template called impactStatements.vm ## Changes to the impact statements can be made to this file ## instead of the template ################################################################ ## +#parse("config.vm") ##SET SOME INITIAL VARIABLES #set($hazard = "") #set($source = "") @@ -354,12 +350,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${reportType3} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) #if(${stormType} == "line") ...AND ARE NEARLY STATIONARY. #else @@ -424,10 +421,10 @@ THIS IS A TEST MESSAGE. ## ############################################## #if(${list.contains(${bullets}, "specialEvent")}) #if(${stormType} == "line") -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF THESE STORMS AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF THESE STORMS AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. #else -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF THIS STORM AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF THIS STORM AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. #end #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.xml index b620ec3999..d0bd8e2468 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereThunderstormWarning.xml @@ -6,10 +6,24 @@ MIKE REGA 5-10-2012 DR 14525 added timeZoneField DR 14691 added feAreaField Evan Bookbinder 09-11-2012 Added settings for locations shapefile - Added new areaSource object + Added new areaSource object + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -170,10 +184,9 @@ - - - - + + + @@ -203,157 +216,4 @@ - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - POINTS - AREA - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - POINTS - AREA - - - - - - - - - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 10 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.vm index 1896e8cb3f..69093663ea 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.vm @@ -2,20 +2,17 @@ ## SEVERE WEATHER STATEMENT TEMPLATE ## ## FOR CR IMPACT BASED TOR/SVR INITIATIVE ## ## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- 2-21-2012 OB12.1.1-1 ## -## VERSION AWIPS II 1.1 -- 2-29-2012 OB12.2.1-4 ## -## VERSION AWIPS II 1.2 -- 4-20-2012 ## -## VERSION AWIPS II 1.3 -- 9-13-2012 OB12.9.1-12 ## -## VERSION AWIPS II 1.4 -- 2-04-2012 OB13.2.1-5 impact stmts ## -## VERSION AWIPS II 1.5 -- Bookbinder 2-22-13 2013 IBW Changes## -## VERSION AWIPS II 1.6 -- Kurimski 5-20-13 2013 IBW Changes ## +## UPDATED Evan Bookbinder 2-22-13 2013 IBW Changes ## +## UPDATED -- Kurimski 5-20-13 2013 IBW Changes ## +## UPDATED -- Kurimski 9/17/13 Tor Emer Headline ## +## UPDATED -- Bookbinder 9/18/13 Implement config.vm ## ################################################################ ## Commented out Impact statements Feb 2013 and created file to ## be parsed into the template called impactStatements.vm ## Changes to the impact statements can be made to this file ## instead of the template ################################################################ -## +#parse("config.vm") ################################################################### ## Set null variables for wind/hail tags used in the template ## ################################################################### @@ -100,19 +97,33 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugclinecan} /${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end +-## +#end + #elseif(${CORCAN}=="true") ${ugclinecan} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end +-## +#end + #else ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #end @@ -154,6 +165,8 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #elseif(${action}=="CANCON" || ${CORCAN}=="true") ...THE ${eventType} WARNING FOR ## #headlineLocList(${cancelareas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false) ${expcanHLTag}... #end ############################ ## END CAN/EXP HEADLINE #### @@ -165,12 +178,12 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${action}=="EXP" || ${action}=="CAN" || ${action}=="CANCON" || ${CORCAN}=="true") #### SET A DEFAULT STATEMENT IN CASE NO BULLET WAS SELECTED OR AVAILABLE #if(${stormType} == "line") - #set($expcanPhrase = "THE LINE OF STORMS WHICH PROMPTED THE WARNING HAVE !** WEAKENED/MOVED OUT OF THE WARNED AREA **!. THEREFORE THE WARNING ${expcanBODYTag}.") + #set($expcanPhrase = "THE LINE OF STORMS WHICH PROMPTED THE WARNING HAVE !** WEAKENED. MOVED OUT OF THE WARNED AREA.**! THEREFORE THE WARNING ${expcanBODYTag}.") #else #if(${phenomena}=="SV") - #set($expcanPhrase = "THE SEVERE THUNDERSTORM WHICH PROMPTED THE WARNING HAS !** WEAKENED/MOVED OUT OF THE WARNED AREA **!. THEREFORE THE WARNING ${expcanBODYTag}.") + #set($expcanPhrase = "THE SEVERE THUNDERSTORM WHICH PROMPTED THE WARNING HAS !** WEAKENED. MOVED OUT OF THE WARNED AREA. **! THEREFORE THE WARNING ${expcanBODYTag}.") #else - #set($expcanPhrase = "THE TORNADIC THUNDERSTORM WHICH PROMPTED THE WARNING HAS !** WEAKENED/MOVED OUT OF THE WARNED AREA **!. THEREFORE THE WARNING ${expcanBODYTag}.") + #set($expcanPhrase = "THE TORNADIC THUNDERSTORM WHICH PROMPTED THE WARNING HAS !** WEAKENED. MOVED OUT OF THE WARNED AREA. **! THEREFORE THE WARNING ${expcanBODYTag}.") #end #end #### WEAKENED BELOW SEVERE LIMITS @@ -332,7 +345,11 @@ $$ ${ugcline} /${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -347,7 +364,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugcline} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -356,19 +377,19 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ...THIS MESSAGE IS FOR TEST PURPOSES ONLY... #end +#end +##################################################################### +### TORNADO EMERGENCY HEADLINE # +##################################################################### +#if(${list.contains(${bullets}, "torEmergency")}) + +...TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... + #end #if(${action}=="CANCON" || ${action}=="CON" || ${action}=="COR" || ${CORCAN}=="true") ...A ${eventType} WARNING REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## #headlineLocList(${areas} true true true false)... ########### END NEW HEADLINE CODE #################### -##################################################################### -### TORNADO EMERGENCY PER NWS 10-511 DIRECTIVE # -##################################################################### -#if(${list.contains(${bullets}, "torEmergency")}) - -...THIS IS A TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... - -#end #set($reportType = "!** BASIS FOR WARNING **!") #set($reportAuthSVR = "") ############### BASIS SECTION #################### @@ -831,12 +852,13 @@ THIS IS A TEST MESSAGE. ## #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## ${reportType} LOCATED ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) #if(${stormType} == "line") ...AND ARE NEARLY STATIONARY. #else diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.xml index bcf1832654..97516c2459 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSevereWeatherStatement.xml @@ -12,7 +12,8 @@ Evan Bookbinder 09-11-2012 Added settings for locations shapefile Added new areaSource object Phil Kurimski 02-04-2013 OB13.2.1-5 Changed Sig Tor to Considerable - Phil Kurimski 05-20-2013 Added selection for very weak tornadoes and landspouts + Phil Kurimski 05-20-2013 Added selection for very weak tornadoes and landspouts + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -230,10 +244,9 @@ - - - - + + + @@ -288,10 +301,9 @@ - - - - + + + @@ -369,10 +381,9 @@ - - - - + + + @@ -426,10 +437,9 @@ - - - - + + + @@ -459,156 +469,4 @@ - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - POINTS - AREA - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - POINTS - AREA - - - - - - - - - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 10 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - States - County - - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarning.vm new file mode 100644 index 0000000000..7efb6291b3 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarning.vm @@ -0,0 +1,499 @@ +##################################################### +## SPECIAL MARINE WARNING TEMPLATE ## +## FOR CR IMPACT BASED WARNING INITIATIVE ## +## CREATED BY PHIL KURIMSKI - WFO DTX ## +## UPDATED PHIL KURIMSKI -- SEP 17 2013 OB13.5.2-4 ## +## EVAN BOOKBINDER -- SEP 18 2013 Implemented config.vm +###################################################### +#parse("config.vm") +################################################ +## Set null variables used in the template +################################################ +#set($capable = "") +#set($ashfallPath = "") +#set($debrisflowPath = "") +#set($ashfallInfo = "") +#set($debrisflowInfo = "") +#set($ashfallCTA = "") +#set($spoutTag = "") +#set($source = "RADAR INDICATED.") +#set($extraSource = "") +#set($spoutThreat = "") +################################################ +## Set up override for ashfall warning +## This will change Special Marine Warning to +## Ashfall Warning Per the 10-313 Directive +################################################ +#if(${list.contains(${bullets}, "ashfall")}) + #set($ashfallHeadline = "ASHFALL WARNING FOR VOLCANIC ASH AND OTHER HAZARDS FOR...") +#end +################################################ +${WMOId} ${vtecOffice} 000000 ${BBBId} +SMW${siteId} +${ugcline} +/${productClass}.${action}.${vtecOffice}.MA.W.${etn}.${dateUtil.format(${start}, ${timeFormat.ymdthmz})}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ + +BULLETIN - IMMEDIATE BROADCAST REQUESTED +#if(${productClass}=="T") +TEST...SPECIAL MARINE WARNING...TEST +#else +SPECIAL MARINE 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 +#headline(${officeLoc}, ${backupSite}) + +* ## +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +################################################## +## Override for Ashfall Warning +################################################## +#if(${ashfallHeadline}) +${ashfallHeadline} +#else +SPECIAL MARINE WARNING FOR... +#end +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${areas}) + ## +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## The following code will create a string of marine zone fips codes +## which will be important in combining marine zones +####################################################################### +####################################################################### +## Set the fipsstring variable to null for marine zone combinations +####################################################################### +#set($fipsstring = "") +#foreach (${area} in ${areas}) +#set($fipsstring = $fipsstring + $area.fips + "-") +#end +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +## Uncomment the parse command if you are combining your marine zones +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +* ## +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) + +####################################################################### +## List of Event Types. Added several events such as Shower...Cloud and Front. +## Removed Strong and Severe Thunderstorm selections and placed logic in the +## wind and hail selections that will change wording for Severe Thunderstorms. +####################################################################### +#set($eventType = "THUNDERSTORM") +#if(${list.contains(${bullets}, "thunderstorm")}) + #set($eventType = "THUNDERSTORM") + #set($severeType = "STRONG") +#end +#if(${list.contains(${bullets}, "shower")}) + #set($eventType = "SHOWER") +#end +#if(${list.contains(${bullets}, "cloud")}) + #set($eventType = "CLOUD") +#end +#if(${list.contains(${bullets}, "front")}) + #set($eventType = "FRONT") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($eventType = "VOLCANO") +#end +####################################################################### +## Added a Threat Section to the template that includes Wind...Hail +## and Waterspout selections. +## Strong Thunderstorm will change to Severe Thunderstorm automatically based on +## selections in Wind...Hail and Waterspout sections. +####################################################################### +#set($windTag = "<34") +#set($windCTA = "GUSTY WINDS") +#if(${list.contains(${bullets}, "34ktWind")}) + #set($windTag = ">34") + #set($windType = "WIND GUSTS 34 KNOTS OR GREATER") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "40ktWind")}) + #set($windTag = "40") + #set($windType = "WIND GUSTS TO 40 KNOTS") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "40ktplusWind")}) + #set($windTag = "49") + #set($windType = "WIND GUSTS TO NEARLY 50 KNOTS") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "50ktWind")}) + #set($windTag = "50") + #set($windType = "WIND GUSTS IN EXCESS OF 50 KNOTS") + #set($severeType = "SEVERE") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "65ktWind")}) + #set($windTag = "65") + #set($windType = "WIND GUSTS IN EXCESS OF 65 KNOTS") + #set($severeType = "SEVERE") + #set($windCTA = "${windType}") +#end +#set($hailTag = "0.00") +#set($hailCTA = "") +#if(${list.contains(${bullets}, "smallHail")}) + #set($hailTag = "<.75") + #set($hailType = "SMALL HAIL") + #set($hailCTA = "...${hailType}") +#end +#if(${list.contains(${bullets}, "largeHail")}) + #set($hailTag = ">.75") + #set($hailType = "LARGE HAIL") + #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") +#end +#if(${list.contains(${bullets}, "destructiveHail")}) + #set($hailTag = ">2.0") + #set($hailType = "LARGE DESTRUCTIVE HAIL") + #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") +#end +#if(${list.contains(${bullets}, "sightedSpout")}) + #set($spoutTag = "WATERSPOUT...OBSERVED") + #set($spoutType = "WATERSPOUTS") + #set($severeType = "SEVERE") +#end +#if(${list.contains(${bullets}, "possibleSpout")}) + #set($spoutTag = "WATERSPOUT...POSSIBLE") + #set($spoutType = "WATERSPOUTS") + #set($capable = "CAPABLE OF ") + #set($severeType = "SEVERE") +#end +################################################ +## Threat section for Volcanic Situations +################################################ +#if(${list.contains(${bullets}, "ashfall")}) + #set($ashfallType = "ASHFALL") + #set($ashfallPath = "VOLCANIC ASH") + #set($ctaSelected = "YES") + #set($ashfallCTA = "ASH IS AN EYE AND RESPIRATORY IRRITANT AND IS ABRASIVE. THOSE WITH RESPIRATORY SENSITIVITIES SHOULD TAKE EXTRA PRECAUTIONS TO MINIMIZE EXPOSURE. PROTECT ELECTRONICS AND COVER AIR INTAKES IF ASHFALL IS EXPECTED OR CONFIRMED. REMOVE ASH FROM SURFACES WITH WATER IF POSSIBLE TO PREVENT EXCESSIVE ACCUMULATION.") + #set($ashfallInfo = "AN ASHFALL WARNING MEANS THAT THE VOLCANO IS UNDERGOING A MAJOR ERUPTION. IT IS VERY LIKELY THAT MARINERS WILL BE AFFECTED BY VOLCANIC HAZARDS IN THE WARNING AREAS SUCH AS SIGNIFICANT DEBRIS...ASHFALL ONE QUARTER INCH OR GREATER...LAVA...OR LAHAR AND DEBRIS FLOWS.") +#end +#if(${list.contains(${bullets}, "debrisFlow")}) + #set($debrisflowType = "DEBRIS FLOW") + #set($debrisflowPath = "DEBRIS FLOW") + #set($debrisflowInfo = "THE ERUPTION OF THE VOLCANO CAN CAUSE A SUDDEN MELTING OF SNOW AND ICE ON THE MOUNTAIN. THIS WILL RESULT IN A TORRENT OF MUD...ASH...ROCK...AND HOT WATER TO FLOW DOWN THE MOUNTAIN AND INTO THE NEARBY WATERS.") +#end +################################################################################## +## Logic to put together the threats based on Wind...Hail and Waterspout sections. +################################################################################## +#if(${spoutType} && ${windType} && ${hailType}) + #set($threat = "${spoutType}...${windType} AND ${hailType}") +#elseif(${spoutType} && ${hailType}) + #set($threat = "${spoutType} AND ${hailType}") +#elseif(${spoutType} && ${windType}) + #set($threat = "${spoutType} AND ${windType}") +#elseif(${windType} && ${hailType}) + #set($threat = "${windType} AND ${hailType}") +#elseif(${spoutType}) + #set($threat = "${spoutType}") +#elseif(${windType}) + #set($threat = "${windType}") +#elseif(${hailType}) + #set($threat = "${hailType}") +#else + #set($threat = "!**YOU DID NOT SELECT ANY THREATS. PLEAST RE-GENERATE THIS WARNING!**!") +#end +#set($hazard = "${threat}.") +####################################################################### +## Logic for Volcanic Threats. If selected this will override any +## other selections for wind/hail/spouts. +####################################################################### +#if(${ashfallType} && ${debrisflowType}) + #set($threat = "${ashfallType} AND ${debrisflowType}") + #set($volcanoPath = "${ashfallPath} AND ${debrisflowPath}") +#elseif(${ashfallType}) + #set($threat = "${ashfallType}") + #set($volcanoPath = "${ashfallPath}") +#elseif(${debrisflowType}) + #set($threat = "${debrisflowType}") + #set($volcanoPath = "${debrisflowPath}") +#else +#end +######################################################################### +## Section to determine Thunderstorm Severity based on Threat Selections. +######################################################################### +#if(${eventType} == "THUNDERSTORM") + #set($thunderstormType = "${severeType} ${eventType}") + #set($eventType = "${thunderstormType}") +#end +####################################################################### +## Section to create line wording based on track type. +####################################################################### +#set($stormline = "A ${eventType}") +#set($pathheader = "THE ${eventType}") +#set($specialEvent = "THIS ${eventType}") +#set($reportType2 = "THE ${eventType} WAS") +#if(${stormType} == "line") + #set($stormline = "A LINE OF ${eventType}S") + #set($pathheader = "${eventType}S") + #set($specialEvent = "THESE ${eventType}S") + #set($reportType2 = "THE ${eventType}S WERE") +#end +########################################################################### +## Corrective coding to prevent the use of "Line of Fronts" in the Product. +########################################################################### +#if(${eventType} == "FRONT") + #set($stormline = "A ${eventType}") + #set($pathheader = "THE ${eventType}") + #set($specialEvent = "THIS ${eventType}") + #set($reportType2 = "THE ${eventType} WAS") +## #set($stormType = "") +#end +####################################################################### +## Coding for volcanos...this will override all other selections. +####################################################################### +#set($impacted = "LOCATIONS IMPACTED INCLUDE...") +#if(${eventType} == "VOLCANO") + #set($stormline = "AN ERUPTION OF !** NAME OF VOLCANO**! VOLCANO") + #set($pathheader = "THE ${volcanoPath}") + #set($reportType2 = "THE ${volcanoPath} WAS") + #set($specialEvent = "THE ${volcanoPath}") +## #set($stormType = "") + #set($impacted = "LOCATIONS IMPACTED BY ${volcanoPath} INCLUDE...") +#end +########################################################################## +## Basis section that incorporates line phenomena...capable vs producing +## and threat based on selections above. Added Satellite Imagery to basis. +########################################################################## +#set($report = "!** YOU DIDN'T SELECT A REPORTER **! ${eventType}") +#if(${list.contains(${bullets}, "doppler")}) + #set($source = "RADAR INDICATED.") + #set($capable = "CAPABLE OF ") +## #set($report = "DOPPLER RADAR INDICATED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "sightedSpout")}) +## #set($report = "DOPPLER RADAR INDICATED ${stormline}...PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "marineSpotter")}) + #set($source = "MARINE WEATHER SPOTTER.") +## #set($report = "MARINE WEATHER SPOTTERS REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "mariner")}) + #set($source = "MARINER.") +## #set($report = "A MARINER REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "public")}) + #set($source = "PUBLIC.") +## #set($report = "THE PUBLIC REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "pilot")}) + #set($source = "PILOT.") +## #set($report = "A PILOT REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "satellite")}) + #set($source = "SATELLITE IMAGERY INDICATED.") + #set($capable = "CAPABLE OF ") +## #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "sightedSpout")}) +## #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...PRODUCING ${threat}...") +#end +## If waterspouts are observed override the capable wording +#if(${list.contains(${bullets}, "sightedSpout")}) +#set($capable = "") +#end +## If waterspouts are selected include them in the AT... section of the product +#if($spoutTag.length() > 0) + #set($spoutThreat = " ${capable}PRODUCING ${spoutType}") +#end +#set($report = "${stormline}${spoutThreat}...") + +## Storm current location description + +* ## +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) +...${report}LOCATED ## +#if(${stormType} == "line") +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) +#else +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) +#end +#if(${eventType} == "VOLCANO") +. +#elseif(${movementSpeed} < ${marineStationary} || ${stationary}) +. ${reportType2} NEARLY STATIONARY. +#else +...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. +#end + +############################################# +######## GENERATE ADDITIONAL REPORTS ####### +############################################# +#if(${list.contains(${bullets}, "addlRpt")}) +#set($extraSource = " AT !**enter time, phenomena**! WAS REPORTED !**enter location**!.") +#end +########################################################################## +## Command to parse the impact statements into the template +########################################################################## +#parse("impactStatements.vm") +################################### +## Section to include the hazard ## +################################### + +#wrapText("HAZARD...${hazard}" 2 11) + +#wrapText("SOURCE...${source}${extraSource}" 2 11) + +#wrapText("IMPACT...${smwimpact}" 2 11) + +${ashfallInfo} + +${debrisflowInfo} + +#set($eventType = "${pathheader}") +#set($warningType = "WARNING") +#if(${list.contains(${bullets}, "pathcast")}) +* ## +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#pathCast("${eventType} WILL BE NEAR..." ${eventType} ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#elseif(${list.contains(${bullets}, "listoflocations")}) +* ## +#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("${impacted}" "${eventType}" 0 ${locationList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#end + +############################################## +###### SPECIAL VENUE/EVENT CASE ############## +############################################## + +#if(${list.contains(${bullets}, "specialEvent")}) +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. + +#end +##################### +## CALL TO ACTIONS ## +##################### +####################################################################### +## 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 +## + +${ashfallCTA} + +#if(${list.contains(${bullets}, "genericCTA")}) +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "gustyWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "nonThunderstormCTA")}) +MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. + +#end +#if(${list.contains(${bullets}, "waterspoutCTA")}) +THUNDERSTORMS CAN PRODUCE SUDDEN WATERSPOUTS. WATERSPOUTS CAN EASILY OVERTURN BOATS AND CREATE LOCALLY HAZARDOUS SEAS. SEEK SAFE HARBOR IMMEDIATELY. + +#end +#if(${list.contains(${bullets}, "lightningCTA")}) +FREQUENT LIGHTNING IS OCCURRING WITH THIS STORM. IF CAUGHT ON THE OPEN WATER STAY BELOW DECK IF POSSIBLE...KEEP AWAY FROM UNGROUNDED METAL OBJECTS. + +#end +#if(${list.contains(${bullets}, "reportCTA")}) +REPORT SEVERE WEATHER TO THE COAST GUARD OR NEAREST LAW ENFORCEMENT AGENCY. THEY WILL RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE OFFICE. + +#end +#if(${ctaSelected} == "YES") +&& +#end +############# +## WATCHES ## +############# + +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#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}) + +################################################################## +## Waterspout/Hail/Wind Tags used by CR for IBW +################################################################## + +#if($spoutTag.length() > 0) +${spoutTag} +#end +HAIL...${hailTag}IN +WIND...${windTag}KTS + +$$ + +#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarning.xml new file mode 100644 index 0000000000..f32d251601 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarning.xml @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + nmi + kn + + + + Coastal Marine Zones + + + + + + NEW + COR + + + + + MA.W + + + + true + + + true + + + + torWatches + svrWatches + + + + 30 + + 10 + 15 + 20 + 25 + 30 + 40 + 45 + 60 + 90 + 120 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarningFollowup.vm new file mode 100644 index 0000000000..312e7cab78 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarningFollowup.vm @@ -0,0 +1,1256 @@ +##################################################### +## SPECIAL MARINE WARNING FOLLOWUP ## +## FOR CR IMPACT BASED WARNING INITIATIVE ## +## CREATED BY PHIL KURIMSKI - WFO DTX ## +## UPDATED KURIMSKI SEP 17 2013 OB13.5.2-4 ## +## UPDATED BOOKBINDER 9-18-2013 Implemented config.vm +##################################################### +#parse("config.vm") +############################################ +## Set null variables used in the template +############################################ +#set($capable = "") +#set($windhailTag = "") +#set($ashfallPath = "") +#set($debrisflowPath = "") +#set($ashfallInfo = "") +#set($debrisflowInfo = "") +#set($ashfallCTA = "") +#set($ashCON = "") +#set($spoutTag = "") +#set($source = "RADAR INDICATED.") +#set($extraSource = "") +#set($spoutThreat = "") +################################################ +## Set up override for ashfall warning +## This will change Special Marine Warning to +## Ashfall Warning Per the 10-313 Directive +################################################ +#set($warningType = "SPECIAL MARINE WARNING") +#if(${list.contains(${bullets}, "ashfall")}) + #set($warningType = "ASHFALL WARNING FOR VOLCANIC ASH AND OTHER HAZARDS") + #set($ashCON = "N") +#end +################################################ +####################################################################### +## List of Event Types. Added several events such as Shower...Cloud and Front. +## Removed Strong and Severe Thunderstorm selections and placed logic in the +## wind and hail selections that will change wording for Severe Thunderstorms. +####################################################################### +#set($eventType = "THUNDERSTORM") +#if(${list.contains(${bullets}, "thunderstorm")}) + #set($eventType = "THUNDERSTORM") + #set($severeType = "STRONG") +#end +#if(${list.contains(${bullets}, "shower")}) + #set($eventType = "SHOWER") +#end +#if(${list.contains(${bullets}, "cloud")}) + #set($eventType = "CLOUD") +#end +#if(${list.contains(${bullets}, "front")}) + #set($eventType = "FRONT") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($eventType = "VOLCANO") +#end +####################################################################### +## Added a Threat Section to the template that includes Wind...Hail +## and Waterspout selections. +## Strong Thunderstorm will change to Severe Thunderstorm automatically based on +## selections in Wind...Hail and Waterspout sections. +####################################################################### +#set($windTag = "<34") +#set($windCTA = "GUSTY WINDS") +#if(${list.contains(${bullets}, "34ktWind")}) + #set($windTag = ">34") + #set($windType = "WIND GUSTS 34 KNOTS OR GREATER") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "40ktWind")}) + #set($windTag = "40") + #set($windType = "WIND GUSTS TO 40 KNOTS") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "40ktplusWind")}) + #set($windTag = "49") + #set($windType = "WIND GUSTS TO NEARLY 50 KNOTS") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "50ktWind")}) + #set($windTag = "50") + #set($windType = "WIND GUSTS IN EXCESS OF 50 KNOTS") + #set($severeType = "SEVERE") + #set($windCTA = "${windType}") +#end +#if(${list.contains(${bullets}, "65ktWind")}) + #set($windTag = "65") + #set($windType = "WIND GUSTS IN EXCESS OF 65 KNOTS") + #set($severeType = "SEVERE") + #set($windCTA = "${windType}") +#end +#set($hailTag = "0.00") +#set($hailCTA = "") +#if(${list.contains(${bullets}, "smallHail")}) + #set($hailTag = "<.75") + #set($hailType = "SMALL HAIL") + #set($hailCTA = "...${hailType}") +#end +#if(${list.contains(${bullets}, "largeHail")}) + #set($hailTag = ">.75") + #set($hailType = "LARGE HAIL") + #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") +#end +#if(${list.contains(${bullets}, "destructiveHail")}) + #set($hailTag = ">2.0") + #set($hailType = "LARGE DESTRUCTIVE HAIL") + #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") +#end +#if(${list.contains(${bullets}, "sightedSpout")}) + #set($spoutTag = "WATERSPOUT...OBSERVED") + #set($spoutType = "WATERSPOUTS") + #set($severeType = "SEVERE") +#end +#if(${list.contains(${bullets}, "possibleSpout")}) + #set($spoutTag = "WATERSPOUT...POSSIBLE") + #set($spoutType = "WATERSPOUTS") + #set($capable = "CAPABLE OF ") + #set($severeType = "SEVERE") +#end +################################################ +## Threat section for Volcanic Situations +################################################ +#if(${list.contains(${bullets}, "ashfall")}) + #set($ashfallType = "ASHFALL") + #set($ashfallPath = "VOLCANIC ASH") + #set($ctaSelected = "YES") + #set($ashfallCTA = "ASH IS AN EYE AND RESPIRATORY IRRITANT AND IS ABRASIVE. THOSE WITH RESPIRATORY SENSITIVITIES SHOULD TAKE EXTRA PRECAUTIONS TO MINIMIZE EXPOSURE. PROTECT ELECTRONICS AND COVER AIR INTAKES IF ASHFALL IS EXPECTED OR CONFIRMED. REMOVE ASH FROM SURFACES WITH WATER IF POSSIBLE TO PREVENT EXCESSIVE ACCUMULATION.") + #set($ashfallInfo = "AN ASHFALL WARNING MEANS THAT THE VOLCANO IS UNDERGOING A MAJOR ERUPTION. IT IS VERY LIKELY THAT MARINERS WILL BE AFFECTED BY VOLCANIC HAZARDS IN THE WARNING AREAS SUCH AS SIGNIFICANT DEBRIS...ASHFALL ONE QUARTER INCH OR GREATER...LAVA...OR LAHAR AND DEBRIS FLOWS.") +#end +#if(${list.contains(${bullets}, "debrisFlow")}) + #set($debrisflowType = "DEBRIS FLOW") + #set($debrisflowPath = "DEBRIS FLOW") + #set($debrisflowInfo = "THE ERUPTION OF THE VOLCANO CAN CAUSE A SUDDEN MELTING OF SNOW AND ICE ON THE MOUNTAIN. THIS WILL RESULT IN A TORRENT OF MUD...ASH...ROCK...AND HOT WATER TO FLOW DOWN THE MOUNTAIN AND INTO THE NEARBY WATERS.") +#end +################################################################################## +## Logic to put together the threats based on Wind...Hail and Waterspout sections. +################################################################################## +#if(${spoutType} && ${windType} && ${hailType}) + #set($threat = "${spoutType}...${windType} AND ${hailType}") +#elseif(${spoutType} && ${hailType}) + #set($threat = "${spoutType} AND ${hailType}") +#elseif(${spoutType} && ${windType}) + #set($threat = "${spoutType} AND ${windType}") +#elseif(${windType} && ${hailType}) + #set($threat = "${windType} AND ${hailType}") +#elseif(${spoutType}) + #set($threat = "${spoutType}") +#elseif(${windType}) + #set($threat = "${windType}") +#elseif(${hailType}) + #set($threat = "${hailType}") +#else + #set($threat = "!**YOU DID NOT SELECT ANY THREATS. PLEAST RE-GENERATE THIS WARNING!**!") +#end +#set($hazard = "${threat}.") +####################################################################### +## Logic for Volcanic Threats. If selected this will override any +## other selections for wind/hail/spouts. +####################################################################### +#if(${ashfallType} && ${debrisflowType}) + #set($threat = "${ashfallType} AND ${debrisflowType}") + #set($volcanoPath = "${ashfallPath} AND ${debrisflowPath}") +#elseif(${ashfallType}) + #set($threat = "${ashfallType}") + #set($volcanoPath = "${ashfallPath}") +#elseif(${debrisflowType}) + #set($threat = "${debrisflowType}") + #set($volcanoPath = "${debrisflowPath}") +#else +#end +######################################################################### +## Section to determine Thunderstorm Severity based on Threat Selections. +######################################################################### +#if(${eventType} == "THUNDERSTORM") + #set($thunderstormType = "${severeType} ${eventType}") + #set($eventType = "${thunderstormType}") +#end +####################################################################### +## Section to create line wording based on track type. +####################################################################### +#set($stormline = "A ${eventType}") +#set($pathheader = "THE ${eventType}") +#set($specialEvent = "THIS ${eventType}") +#set($reportType2 = "THE ${eventType} WAS") +#if(${stormType} == "line") + #set($stormline = "A LINE OF ${eventType}S") + #set($pathheader = "${eventType}S") + #set($specialEvent = "THESE ${eventType}S") + #set($reportType2 = "THE ${eventType}S WERE") +#end +########################################################################## +##Corrective coding to prevent the use of "Line of Fronts" in the Product. +########################################################################## +#if(${eventType} == "FRONT") + #set($stormline = "A ${eventType}") + #set($pathheader = "THE ${eventType}") + #set($specialEvent = "THIS ${eventType}") + #set($stormType = "") + #set($reportType2 = "THE ${eventType} WAS") +#end +####################################################################### +## Coding for volcanos...this will override all other selections. +####################################################################### +#set($impacted = "LOCATIONS IMPACTED INCLUDE...") +#if(${eventType} == "VOLCANO") + #set($stormline = "AN ERUPTION OF !** NAME OF VOLCANO**! VOLCANO") + #set($pathheader = "THE ${volcanoPath}") + #set($specialEvent = "THE ${volcanoPath}") + #set($reportType2 = "THE ${volcanoPath} WAS") + #set($stormType = "") + #set($impacted = "LOCATIONS IMPACTED BY ${volcanoPath} INCLUDE...") +#end +########################################################################## +## Basis section that incorporates line phenomena...capable vs producing +## and threat based on selections above. Added Satellite Imagery to basis. +########################################################################## +#set($report = "!** YOU DIDN'T SELECT A REPORTER **! ${eventType}") +#if(${list.contains(${bullets}, "doppler")}) + #set($source = "RADAR INDICATED.") + #set($capable = "CAPABLE OF ") +## #set($report = "DOPPLER RADAR INDICATED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "doppler")} && ${list.contains(${bullets}, "sightedSpout")}) +## #set($report = "DOPPLER RADAR INDICATED ${stormline}...PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "marineSpotter")}) + #set($source = "MARINE WEATHER SPOTTER.") +## #set($report = "MARINE WEATHER SPOTTERS REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "mariner")}) + #set($source = "MARINER.") +## #set($report = "A MARINER REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "public")}) + #set($source = "PUBLIC.") +## #set($report = "THE PUBLIC REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "pilot")}) + #set($source = "PILOT.") +## #set($report = "A PILOT REPORTED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "satellite")}) + #set($source = "SATELLITE IMAGERY INDICATED.") + #set($capable = "CAPABLE OF ") +## #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...${capable}PRODUCING ${threat}...") +#end +#if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "sightedSpout")}) +## #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...PRODUCING ${threat}...") +#end +## If waterspouts are observed override the capable wording +#if(${list.contains(${bullets}, "sightedSpout")}) +#set($capable = "") +#end +## If waterspouts are selected include them in the AT... section of the product +#if($spoutTag.length() > 0) + #set($spoutThreat = " ${capable}PRODUCING ${spoutType}") +#end +#set($report = "${stormline}${spoutThreat}...") +############################################# +######## GENERATE ADDITIONAL REPORTS ####### +############################################# +#if(${list.contains(${bullets}, "addlRpt")}) +#set($extraSource = " AT !**enter time, phenomena**! WAS REPORTED !**enter location**!.") +#end +########################################################################## +## Command to parse the impact statements into the template +########################################################################## +#parse("impactStatements.vm") +####################################################################### +## The following code will create a string of marine zone fips codes +## which will be important in combining marine zones +####################################################################### +####################################################################### +## Set the fipsstring variable to null for marine zone combinations +## This will only work for single CON/CAN/EXP products +## Combination CON/CAN will need additional code which will be +## included in the template below. +####################################################################### +#set($fipsstring = "") +#foreach (${area} in ${areas}) +#set($fipsstring = $fipsstring + $area.fips + "-") +#end +####################################################################### +## HEADER FOR NON-CAN/CON PRODUCTS +####################################################################### +## +#if(${action}=="COR" && ${cancelareas}) +#set($CORCAN = "true") +#else +#set($CORCAN = "false") +#end +#if(${action}!="CANCON" && ${CORCAN}!="true") +${WMOId} ${vtecOffice} 000000 ${BBBId} +MWS${siteId} + +#if(${productClass}=="T") +TEST...MARINE WEATHER STATEMENT...TEST +#else +MARINE 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}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ +${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} + +#if(${productClass}=="T") +...THIS MESSAGE IS FOR TEST PURPOSES ONLY... + +#end +#end +## +####################################################################### +## MWS CANCEL PRODUCT +####################################################################### +## Altered cancellation headline for cleaner wording and to match +## NWS Directive 10-314 +####################################################################### +#if(${action}=="CAN") +#if(${productClass}=="T") +THIS IS A TEST MESSAGE.## +#end +...THE ${warningType} IS CANCELLED... + +THE AFFECTED AREAS WERE... +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${areas}) +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +## Uncomment the parse command if you are combining your marine zones +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +####################################################################### +## Setup eventType for wording in the End of Warning Statement +####################################################################### +#set($stormline = " HAS") +#set($pose = "POSES") +#if(${stormType} == "line") + #set($stormline = "S HAVE") + #set($pose = "POSE") +#end +#set($eventType = "!**STORMS**! HAVE") +#if(${list.contains(${bullets}, "thunderstorm")}) + #set($eventType = "THUNDERSTORM${stormline}") +#end +#if(${list.contains(${bullets}, "shower")}) + #set($eventType = "SHOWER${stormline}") +#end +#if(${list.contains(${bullets}, "cloud")}) + #set($eventType = "CLOUD${stormline}") +#end +#if(${list.contains(${bullets}, "front")}) + #set($eventType = "FRONT HAS") + #set($pose = "POSES") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($eventType = "VOLCANO HAS") + #set($pose = "POSES") +#end +####################################################################### +## Section for end of warning statements. Replaced default wording with +## a better defined reason for the end to the warning. +####################################################################### +#set($canwarning = "THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#if(${list.contains(${bullets}, "weakenedWarnEnd")}) + #set($canwarning = "THE ${eventType} WEAKENED AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end +#if(${list.contains(${bullets}, "movedWarnEnd")}) + #set($canwarning = "THE ${eventType} MOVED OUT OF THE AREA AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($canwarning = "THE ${eventType} STOPPED ERUPTING AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end + +${canwarning} + +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#end +## +####################################################################### +## MWS CON PRODUCT +####################################################################### +## +#if(${action}=="CON" || (${action}=="COR" && ${CORCAN}=="false")) +#if(${productClass}=="T") +THIS IS A TEST MESSAGE.## +#end +######################################################################## +## Altered continuation headline for cleaner wording and to match +## NWS Directive 10-314 +######################################################################## +...A${ashCON} ${warningType} REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone})... + +FOR THE FOLLOWING AREAS... +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${areas}) +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +## Uncomment the parse command if you are combining your marine zones +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +## Storm current location description +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) +...${report}LOCATED ## +#if(${stormType} == "line") +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) +#else +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) +#end +#if(${eventType} == "VOLCANO") +. +#elseif(${movementSpeed} < ${marineStationary} || ${stationary}) +. ${reportType2} NEARLY STATIONARY. +#else +...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. +#end + +################################### +## Section to include the hazard ## +################################### +#wrapText("HAZARD...${hazard}" 0 9) + +#wrapText("SOURCE...${source}${extraSource}" 0 9) + +#wrapText("IMPACT...${smwimpact}" 0 9) + +${ashfallInfo} + +${debrisflowInfo} + +################################################### +######## GENERATE PATHCAST OR CITIES LIST ######### +################################################### +#set($eventType = "${pathheader}") +#set($warningType = "WARNING") +#if(${list.contains(${bullets}, "pathcast")}) +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#pathCast("${eventType} WILL BE NEAR..." ${eventType} ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#elseif(${list.contains(${bullets}, "listoflocations")}) +#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("${impacted}" "${eventType}" 0 ${locationList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#end +############################################## +###### SPECIAL VENUE/EVENT CASE ############## +############################################## + +#if(${list.contains(${bullets}, "specialEvent")}) +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. + +#end +##################### +## CALL TO ACTIONS ## +##################### +####################################################################### +## 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 +## + +${ashfallCTA} + +#if(${list.contains(${bullets}, "genericCTA")}) +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "gustyWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "nonThunderstormCTA")}) +MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. + +#end +#if(${list.contains(${bullets}, "waterspoutCTA")}) +THUNDERSTORMS CAN PRODUCE SUDDEN WATERSPOUTS. WATERSPOUTS CAN EASILY OVERTURN BOATS AND CREATE LOCALLY HAZARDOUS SEAS. SEEK SAFE HARBOR IMMEDIATELY. + +#end +#if(${list.contains(${bullets}, "lightningCTA")}) +FREQUENT LIGHTNING IS OCCURRING WITH THIS STORM. IF CAUGHT ON THE OPEN WATER STAY BELOW DECK IF POSSIBLE...KEEP AWAY FROM UNGROUNDED METAL OBJECTS. + +#end +#if(${list.contains(${bullets}, "reportCTA")}) +REPORT SEVERE WEATHER TO THE COAST GUARD OR NEAREST LAW ENFORCEMENT AGENCY. THEY WILL RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE OFFICE. + +#end +#if(${ctaSelected} == "YES") +&& +#end +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#end +## +## ##################################################################### +## MWS CAN/CON PRODUCT +## ##################################################################### +## Altered cancellation headline for cleaner wording and to match +## NWS Directive 10-314 +######################################################################## +#if(${action}=="CANCON") +${WMOId} ${vtecOffice} 000000 ${BBBId} +MWS${siteId} + +#if(${productClass}=="T") +TEST...MARINE WEATHER STATEMENT...TEST +#else +MARINE 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}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ +${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 ${warningType} IS CANCELLED... + +THE AFFECTED AREAS WERE... +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${cancelareas}) +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## The following code will create a string of marine zone fips codes +## which will be important in combining marine zones +## This has to be done again since the CAN/CON section uses cancelareas +####################################################################### +####################################################################### +## Set the fipsstring variable to null for marine zone combinations +####################################################################### +#set($fipsstring = "") +#foreach (${area} in ${cancelareas}) +#set($fipsstring = $fipsstring + $area.fips + "-") +#end +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +## Uncomment the parse command if you are combining your marine zones +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +###################################################################### +## Setup eventType for wording in the End of Warning Statement +###################################################################### +#set($stormline = " HAS") +#set($pose = "POSES") +#if(${stormType} == "line") + #set($stormline = "S HAVE") + #set($pose = "POSE") +#end +#set($eventType = "!**STORMS**! HAVE") +#if(${list.contains(${bullets}, "event1")}) + #set($eventType = "THUNDERSTORM${stormline}") +#end +#if(${list.contains(${bullets}, "event3")}) + #set($eventType = "SHOWER${stormline}") +#end +#if(${list.contains(${bullets}, "event4")}) + #set($eventType = "CLOUD${stormline}") +#end +#if(${list.contains(${bullets}, "event5")}) + #set($eventType = "FRONT HAS") + #set($pose = "POSES") +#end +####################################################################### +## Replaced default end of warning wording. +####################################################################### + +THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS. + +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#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}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ +${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 +######################################################################## +## Altered continuation headline for cleaner wording and to match +## NWS Directive 10-314 +######################################################################## +...A${ashCON} ${warningType} REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone})... + +FOR THE FOLLOWING AREAS... +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${areas}) +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## The following code will create a string of marine zone fips codes +## which will be important in combining marine zones +## This has to be done again since the CAN/CON section uses cancelareas +####################################################################### +####################################################################### +## Set the fipsstring variable to null for marine zone combinations +####################################################################### +#set($fipsstring = "") +#foreach (${area} in ${areas}) +#set($fipsstring = $fipsstring + $area.fips + "-") +#end +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${report}LOCATED ## +#if(${stormType} == "line") +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) +#else +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) +#end +#if(${eventType} == "VOLCANO") +. +#elseif(${movementSpeed} < ${marineStationary} || ${stationary}) +. ${reportType2} NEARLY STATIONARY. +#else +...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. +#end + +################################### +## Section to include the hazard ## +################################### +#wrapText("HAZARD...${hazard}" 0 9) + +#wrapText("SOURCE...${source}${extraSource}" 0 9) + +#wrapText("IMPACT...${smwimpact}" 0 9) + +${ashfallInfo} + +${debrisflowInfo} + +################################################### +######## GENERATE PATHCAST OR CITIES LIST ######### +################################################### +#set($eventType = "${pathheader}") +#set($warningType = "WARNING") +#if(${list.contains(${bullets}, "pathcast")}) +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#pathCast("${eventType} WILL BE NEAR..." ${eventType} ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#elseif(${list.contains(${bullets}, "listoflocations")}) +#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("${impacted}" "${eventType}" 0 ${locationList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#end + +############################################## +###### SPECIAL VENUE/EVENT CASE ############## +############################################## + +#if(${list.contains(${bullets}, "specialEvent")}) +#if(${stormType} == "line") +THOSE ATTENDING THE !**event/venue name or location**! ARE IN THE PATH OF THESE STORMS AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. + +#else +THOSE ATTENDING THE !**event/venue name or location**! ARE IN THE PATH OF THIS STORM AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. + +#end +#end +##################### +## CALL TO ACTIONS ## +##################### +####################################################################### +## 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 +## + +${ashfallCTA} + +#if(${list.contains(${bullets}, "genericCTA")}) +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "gustyWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "nonThunderstormCTA")}) +MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. + +#end +#if(${list.contains(${bullets}, "waterspoutCTA")}) +THUNDERSTORMS CAN PRODUCE SUDDEN WATERSPOUTS. WATERSPOUTS CAN EASILY OVERTURN BOATS AND CREATE LOCALLY HAZARDOUS SEAS. SEEK SAFE HARBOR IMMEDIATELY. + +#end +#if(${list.contains(${bullets}, "lightningCTA")}) +FREQUENT LIGHTNING IS OCCURRING WITH THIS STORM. IF CAUGHT ON THE OPEN WATER STAY BELOW DECK IF POSSIBLE...KEEP AWAY FROM UNGROUNDED METAL OBJECTS. + +#end +#if(${list.contains(${bullets}, "reportCTA")}) +REPORT SEVERE WEATHER TO THE COAST GUARD OR NEAREST LAW ENFORCEMENT AGENCY. THEY WILL RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE OFFICE. + +#end +#if(${ctaSelected} == "YES") +&& +#end +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#elseif(${CORCAN} == "true") +${WMOId} ${vtecOffice} 000000 ${BBBId} +MWS${siteId} +#if(${productClass}=="T") +TEST...MARINE WEATHER STATEMENT...TEST +#else +MARINE 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}.COR.${vtecOffice}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ +${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 ${warningType} IS CANCELLED... + +THE AFFECTED AREAS WERE... +#foreach (${area} in ${cancelareas}) +${area.name}... +#end + +###################################################################### +## Setup eventType for wording in the End of Warning Statement +###################################################################### +#set($stormline = " HAS") +#set($pose = "POSES") +#if(${stormType} == "line") + #set($stormline = "S HAVE") + #set($pose = "POSE") +#end +#set($eventType = "!**STORMS**! HAVE") +#if(${list.contains(${bullets}, "event1")}) + #set($eventType = "THUNDERSTORM${stormline}") +#end +#if(${list.contains(${bullets}, "event3")}) + #set($eventType = "SHOWER${stormline}") +#end +#if(${list.contains(${bullets}, "event4")}) + #set($eventType = "CLOUD${stormline}") +#end +#if(${list.contains(${bullets}, "event5")}) + #set($eventType = "FRONT HAS") + #set($pose = "POSES") +#end +####################################################################### +## Replaced default end of warning wording. +####################################################################### + +THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS. + +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#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}.COR.${vtecOffice}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ +${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 +######################################################################## +## Altered continuation headline for cleaner wording and to match NWS Directive 10-314 +######################################################################## +...A${ashCON} ${warningType} REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone})... + +FOR THE FOLLOWING AREAS... +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${areas}) +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${report}LOCATED ## +##Many of the variables passed below are controlled by config.vm +#if(${stormType} == "line") +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) +#else +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) +#end +#if(${eventType} == "VOLCANO") +. +#elseif(${movementSpeed} < ${marineStationary} || ${stationary}) +. ${reportType2} NEARLY STATIONARY. +#else +...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. +#end + +################################### +## Section to include the hazard ## +################################### +#wrapText("HAZARD...${hazard}" 0 9) + +#wrapText("SOURCE...${source}${extraSource}" 0 9) + +#wrapText("IMPACT...${smwimpact}" 0 9) + +${ashfallInfo} + +${debrisflowInfo} + +################################################### +######## GENERATE PATHCAST OR CITIES LIST ######### +################################################### +#set($eventType = "${pathheader}") +#set($warningType = "WARNING") +#if(${list.contains(${bullets}, "pathcast")}) +#if(${productClass}=="T") +THIS IS A TEST MESSAGE. ## +#end +#pathCast("${eventType} WILL BE NEAR..." ${eventType} ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#elseif(${list.contains(${bullets}, "listoflocations")}) +#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("${impacted}" "${eventType}" 0 ${locationList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) + +#end + +############################################## +###### SPECIAL VENUE/EVENT CASE ############## +############################################## + +#if(${list.contains(${bullets}, "specialEvent")}) +#if(${stormType} == "line") +THOSE ATTENDING THE !**event/venue name or location**! ARE IN THE PATH OF THESE STORMS AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. + +#else +THOSE ATTENDING THE !**event/venue name or location**! ARE IN THE PATH OF THIS STORM AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. + +#end +#end +##################### +## CALL TO ACTIONS ## +##################### +####################################################################### +## 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 +## + +${ashfallCTA} + +#if(${list.contains(${bullets}, "genericCTA")}) +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "gustyWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "nonThunderstormCTA")}) +MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. + +#end +#if(${list.contains(${bullets}, "waterspoutCTA")}) +THUNDERSTORMS CAN PRODUCE SUDDEN WATERSPOUTS. WATERSPOUTS CAN EASILY OVERTURN BOATS AND CREATE LOCALLY HAZARDOUS SEAS. SEEK SAFE HARBOR IMMEDIATELY. + +#end +#if(${list.contains(${bullets}, "lightningCTA")}) +FREQUENT LIGHTNING IS OCCURRING WITH THIS STORM. IF CAUGHT ON THE OPEN WATER STAY BELOW DECK IF POSSIBLE...KEEP AWAY FROM UNGROUNDED METAL OBJECTS. + +#end +#if(${list.contains(${bullets}, "reportCTA")}) +REPORT SEVERE WEATHER TO THE COAST GUARD OR NEAREST LAW ENFORCEMENT AGENCY. THEY WILL RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE OFFICE. + +#end +#if(${ctaSelected} == "YES") +&& +#end +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#end +## +## ##################################################################### +## MWS EXP PRODUCT +## ##################################################################### +## Altered expiration headline for cleaner wording and to match NWS Directive 10-314 +######################################################################## +#if(${action}=="EXP") +#if(${productClass}=="T") +THIS IS A TEST MESSAGE.## +#end +...THE ${warningType} ## +#if(${now.compareTo(${expire})} > -1) +EXPIRED AT ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})}... +#else +WILL EXPIRE AT ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})}... +#end + +THE AFFECTED AREAS WERE... +#foreach (${area} in ${areas}) +${area.name}... +#end + +###################################################################### +## Setup eventType for wording in the End of Warning Statement +###################################################################### +#set($stormline = " HAS") +#set($pose = "POSES") +#if(${stormType} == "line") + #set($stormline = "S HAVE") + #set($pose = "POSE") +#end +#set($eventType = "!**STORMS**! HAVE") +#if(${list.contains(${bullets}, "thunderstorm")}) + #set($eventType = "THUNDERSTORM${stormline}") +#end +#if(${list.contains(${bullets}, "shower")}) + #set($eventType = "SHOWER${stormline}") +#end +#if(${list.contains(${bullets}, "cloud")}) + #set($eventType = "CLOUD${stormline}") +#end +#if(${list.contains(${bullets}, "front")}) + #set($eventType = "FRONT HAS") + #set($pose = "POSES") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($eventType = "VOLCANO HAS") + #set($pose = "POSES") +#end + +####################################################################### +## Section for end of warning statements. Replaced default wording with +## a better defined reason for the end to the warning. +####################################################################### +#set($expwarning = "THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#if(${list.contains(${bullets}, "weakenedWarnEnd")}) + #set($expwarning = "THE ${eventType} WEAKENED AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end +#if(${list.contains(${bullets}, "movedWarnEnd")}) + #set($expwarning = "THE ${eventType} MOVED OUT OF THE AREA AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($expwarning = "THE ${eventType} STOPPED ERUPTING AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end + +${expwarning} + +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#end + +## +## ##################################################################### +## END OF MWS PRODUCTS +## ##################################################################### +## +#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}) + +################################################################## +## Waterspout/Hail/Wind Tags used by CR for IBW +################################################################## + +#if($spoutTag.length() > 0) +${spoutTag} +#end +HAIL...${hailTag}IN +WIND...${windTag}KTS + +$$ + +#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarningFollowup.xml new file mode 100644 index 0000000000..282c828cb2 --- /dev/null +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactSpecialMarineWarningFollowup.xml @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + nmi + kn + + + + Coastal Marine Zones + + + + + COR + CON + CAN + EXP + + + + + MA.W + + + + false + + + true + + + + torWatches + svrWatches + + + + + 30 + + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactStatements.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactStatements.vm index 47d0c6abcb..da4ff95233 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactStatements.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactStatements.vm @@ -5,6 +5,7 @@ ## VERSION AWIPS II 1.0 -- 2-06-2013 OB13.2.1-5 ## ## EDITED EVAN BOOKBINDER 2-25-13 FOR IBW 2013 ## ## EDITED PHIL KURIMSKI 5-20-13 FOR UPDATED IMPACT STATEMENTS ## +## EDITED PHIL KURIMSKI 9-17-13 FOR SMW IMPACT STATEMENTS ## ################################################################ ## ################################################################ @@ -15,6 +16,7 @@ ##SET SOME INITIAL VARIABLES #set ($svrimpact = "") #set ($torimpact = "") +#set ($smwimpact = "") ################################################################ ## First create the Impact Statements for the SVR template ################################################################ @@ -107,6 +109,10 @@ #elseif(${phenomena}=="TO") #set ($svrimpact = "") #end +################################################################ +## Finally create the Impact Statements for the SMW template +################################################################ +#set($smwimpact = "OVERTURNED AND CAPSIZED BOATS.") ############################################################################ ## End of File ############################################################################ diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.vm index a62a306e89..292b2a12fd 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.vm @@ -1,15 +1,13 @@ -################################################################ -## TORNADO WARNING TEMPLATE ## -## FOR CR IMPACT BASED TOR INITIATIVE ## -## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- 2-21-2012 OB12.1.1-1 ## -## VERSION AWIPS II 1.1 -- 2-29-2012 OB12.2.1-4 ## -## VERSION AWIPS II 1.2 -- 4-20-2012 ## -## BY QINGLU LIN 7-31-2012 DR 15217 use roundAndPad ## -## VERSION AWIPS II 1.3 -- 2-04-2012 OB13.2.1-5 impact stmts ## -## VERSION AWIPS II 1.4 -- Bookbinder 2/22/13 2013 IBW Changes## -## VERSION AWIPS II 1.5 -- Kurimski 5/20/13 Addl IBW Changes ## -################################################################ +########################################################## +## TORNADO WARNING TEMPLATE ## +## FOR CR IMPACT BASED TOR INITIATIVE ## +## CREATED BY PHIL KURIMSKI - WFO DTX ## +## UPDATED -- 2-04-2012 OB13.2.1-5 impact stmts ## +## UPDATED -- Bookbinder 2/22/13 2013 IBW Changes ## +## UPDATED -- Kurimski 5/20/13 Addl IBW Changes ## +## UPDATED -- Kurimski 9/17/13 Tor Emer Headline ## +## UPDATED -- Bookbinder 9/18/2013 implement config.vm ## +########################################################## ## Commented out Impact statements Feb 2013 and created file to ## be parsed into the template called impactStatements.vm ## Changes to the impact statements can be made to this file @@ -17,6 +15,7 @@ ################################################################ ## ESTABLISH SOME INITIAL VARIABLES ############################ ################################################################ +#parse("config.vm") #set($preAmble = "") #set($hailSize = 0) #set($reportType = "A TORNADO WAS REPORTED") @@ -201,14 +200,13 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #end ########################################################################## -### TORNADO EMERGENCY as a Headline...can be implemented at a later date # +### TORNADO EMERGENCY Headline # ########################################################################## -#* #if(${list.contains(${bullets}, "torEmergency")}) ...TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... #end -*# + #headline(${officeLoc}, ${backupSite}) ################## @@ -446,12 +444,13 @@ THIS IS A TEST MESSAGE. ## THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${reportType} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) #if(${stormType} == "line") ...AND ARE NEARLY STATIONARY. #else @@ -521,10 +520,10 @@ THIS IS A TEST MESSAGE. ## ############################################## #if(${list.contains(${bullets}, "specialEvent")}) #if(${stormType} == "line") -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF THESE STORMS AND SHOULD PREPARE FOR IMMINENT DANGEROUS AND POTENTIALLY LIFE THREATENING WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF THESE STORMS AND SHOULD PREPARE FOR IMMINENT DANGEROUS AND POTENTIALLY LIFE THREATENING WEATHER CONDITIONS. SEEK SHELTER NOW. #else -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF THIS STORM AND SHOULD PREPARE FOR IMMINENT DANGEROUS AND POTENTIALLY LIFE THREATENING WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF THIS STORM AND SHOULD PREPARE FOR IMMINENT DANGEROUS AND POTENTIALLY LIFE THREATENING WEATHER CONDITIONS. SEEK SHELTER NOW. #end #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.xml index b800109806..b586372932 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/impactTornadoWarning.xml @@ -8,11 +8,25 @@ Evan Bookbinder 09-11-2012 Added settings for locations shapefile Added new areaSource objects Phil Kurimski 02-04-2013 OB13.2.1-5 Changed Sig Tor to Considerable - Phil Kurimski 05-20-2013 Added selection for very weak tornadoes and landspouts + Phil Kurimski 05-20-2013 Added selection for very weak tornadoes and landspouts + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -114,7 +128,7 @@ - + @@ -178,15 +192,14 @@ - - - - + + + - + @@ -203,156 +216,5 @@ - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 10 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.vm index 8d286c26ba..5cea94e171 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.vm @@ -1,18 +1,15 @@ ##################################################### ## MARINE WEATHER STATEMENT STANDALONE ## ## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- FEB 24 2011 OB11.2 ## -## VERSION AWIPS II 1.1 -- APR 14 2011 OB11.4 ## -## VERSION AWIPS II 1.2 -- JUL 14 2011 OB11.7 ## -## VERSION AWIPS II 1.3 -- SEP 22 2011 OB11.8 ## -## VERSION AWIPS II 1.4 -- JAN 25 2012 OB12.1.1-1 ## -## Added coding for no headline in Version 1.4 ## ## VERSION AWIPS II 1.5 -- MAR 2 2012 OB12.2.1-4 ## ## Added coding for dense fog in Version 1.5 ## ## Evan Bookbinder 4-25-2012 for OB 12.3.1 (MND) ## ## Phil Kurimski -- SEP 10 2012 OB12.9.1-12 ## -## Phil Kurimski FEB 07 2013 OB13.2.1-5 ## +## Phil Kurimski -- FEB 07 2013 OB13.2.1-5 ## +## Phil Kurimski -- SEP 17 2013 OB13.5.2-4 ## +## Evan Bookbinder -- SEP 18 2013 Implemented config.vm ##################################################### +#parse("config.vm") ## Set the visibility variable to be used for dense fog ## This variable can be changed by the local office and will ## set the visibility in the 3rd bullet and dense fog CTA @@ -269,12 +266,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report} ${reportLocation} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${marineStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. @@ -304,7 +302,7 @@ THIS IS A TEST MESSAGE. ## ############################################## #if(${list.contains(${bullets}, "specialEvent")}) -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. #end ##################### @@ -327,24 +325,49 @@ PRECAUTIONARY/PREPAREDNESS ACTIONS... ## #if(${list.contains(${bullets}, "genericCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS UP TO 33 KNOTS...LOCALLY HIGHER WAVES...AND LIGHTNING STRIKES. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY UNTIL THESE STORMS PASS. + +#else MARINERS CAN EXPECT GUSTY WINDS UP TO 33 KNOTS...LOCALLY HIGHER WAVES...AND LIGHTNING STRIKES. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY UNTIL THIS STORM PASSES. +#end #end #if(${list.contains(${bullets}, "heavyRainCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS UP TO 33 KNOTS...LOCALLY HIGHER WAVES...LIGHTNING STRIKES...AND HEAVY DOWNPOURS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY UNTIL THESE STORMS PASS. + +#else MARINERS CAN EXPECT GUSTY WINDS UP TO 33 KNOTS...LOCALLY HIGHER WAVES...LIGHTNING STRIKES...AND HEAVY DOWNPOURS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY UNTIL THIS STORM PASSES. +#end #end #if(${list.contains(${bullets}, "possibleSmwCTA")}) +#if(${stormType} == "line") +THIS ${stormline} WILL LIKELY PRODUCE WINDS UP TO 33 KNOTS...AND COULD POSE A SERIOUS HAZARD FOR BOATERS. A SPECIAL MARINE WARNING MAY EVENTUALLY BE REQUIRED WHEN THESE STORMS REACH THE NEARSHORE WATERS. BOATERS SHOULD CONSIDER HEADING FOR SHORE BEFORE THESE STORMS ARRIVE. + +#else THIS ${stormline} WILL LIKELY PRODUCE WINDS UP TO 33 KNOTS...AND COULD POSE A SERIOUS HAZARD FOR BOATERS. A SPECIAL MARINE WARNING MAY EVENTUALLY BE REQUIRED WHEN THIS STORM REACHES THE NEARSHORE WATERS. BOATERS SHOULD CONSIDER HEADING FOR SHORE BEFORE THE STORM ARRIVES. +#end #end #if(${list.contains(${bullets}, "likelySmwCTA")}) +#if(${stormType} == "line") +THIS ${stormline} WILL LIKELY PRODUCE WINDS IN EXCESS OF 34 KNOTS...AND IS LIKELY TO POSE A SERIOUS HAZARD FOR BOATERS. A SPECIAL MARINE WARNING WILL LIKELY BE REQUIRED WHEN THESE STORMS REACH THE NEARSHORE WATERS. BOATERS SHOULD CONSIDER HEADING FOR SHORE BEFORE THESE STORMS ARRIVE. + +#else THIS ${stormline} WILL LIKELY PRODUCE WINDS IN EXCESS OF 34 KNOTS...AND IS LIKELY TO POSE A SERIOUS HAZARD FOR BOATERS. A SPECIAL MARINE WARNING WILL LIKELY BE REQUIRED WHEN THIS STORM REACHES THE NEARSHORE WATERS. BOATERS SHOULD CONSIDER HEADING FOR SHORE BEFORE THE STORM ARRIVES. +#end #end #if(${list.contains(${bullets}, "lightningCTA")}) +#if(${stormType} == "line") +INTENSE LIGHTNING IS OCCURRING WITH THESE STORMS. IF CAUGHT ON THE OPEN WATER STAY BELOW DECK IF POSSIBLE...KEEP AWAY FROM UNGROUNDED METAL OBJECTS. + +#else INTENSE LIGHTNING IS OCCURRING WITH THIS STORM. IF CAUGHT ON THE OPEN WATER STAY BELOW DECK IF POSSIBLE...KEEP AWAY FROM UNGROUNDED METAL OBJECTS. +#end #end #if(${list.contains(${bullets}, "reportCTA")}) REPORT SEVERE WEATHER TO THE COAST GUARD OR NEAREST LAW ENFORCEMENT AGENCY. THEY WILL RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.xml index 672c287c51..94af0ead79 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatement.xml @@ -3,9 +3,22 @@ Phil Kurimski WFO DTX 27 February 2012 Evan Bookbinder 09-11-2012 Added settings for locations shapefile Added new areaSource objects + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + nmi @@ -76,7 +89,7 @@ - + @@ -116,7 +129,7 @@ - + @@ -139,8 +152,7 @@ - - + @@ -156,147 +168,4 @@ - - - MarineZones - 0 - AND - 0 - NAME - NAME - NAME - countyTypes.txt - ID - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - WARNGENLEV - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - WARNGENLEV - - - - - - 1 - false - 10.0 - 5 - 5 - 4 - 8 - Name - AREA - Name - Name - Name - countyTypes.txt - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 20 - 20 - - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 10 - 20 - - distance - - - - - - - - - - - - - - WarnGenLoc - MarineZones - MarineZones - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.vm index aefb1522dc..74a156b1e8 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.vm @@ -6,9 +6,13 @@ ## Evan Bookbinder 4-25-2012 for OB 12.3.1 (MND) ## ## Phil Kurimski SEP 10 2012 OB12.9.1-12 ## ## Phil Kurimski FEB 07 2013 OB13.2.1-5 ## -###################################################### +## Phil Kurimski SEP 16 2013 OB13.5.2-4 ## +## Evan Bookbinder SEP 18 2013 Implemented config.vm ## +######################################################### +#parse("config.vm") +########################################## ## Set null variables used in the template -######################################### +########################################## #set($capable = "") #set($hailType = "") #if(${productClass}=="O") @@ -153,12 +157,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${marineStationary} || ${stationary}) . NEARLY STATIONARY. #else MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.xml index f40e6cea45..f8d740f5a9 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/marineWeatherStatementAshfall.xml @@ -4,8 +4,22 @@ Customized by Tom Birchard WFO DTX 23 September 2011 for Ashfall Evan Bookbinder 09-11-2012 Added settings for locations shapefile Added new areaSource objects + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + nmi kn @@ -124,8 +138,7 @@ - - + @@ -136,147 +149,4 @@ - - - MarineZones - 0 - AND - 0 - NAME - NAME - NAME - countyTypes.txt - ID - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - WARNGENLEV - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - WARNGENLEV - - - - - - false - 1 - 10.0 - 5 - 5 - 4 - 8 - Name - AREA - Name - Name - Name - countyTypes.txt - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 20 - 20 - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 20 - - distance - - - - - - - - - - - - - - WarnGenLoc - MarineZones - MarineZones - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.vm index a4393346bd..96104c8885 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.vm @@ -1,75 +1,76 @@ #* -CREATED 1-25-2012 BY MIKE DANGELO AND EVAN BOOKBINDER +CREATED 9-16-2013 BY EVAN BOOKBINDER +### THIS PLUG-IN VM FILE ALLOWS YOU TO CONSOLIDATE ALL YOUR +### MILEMARKER/EXIT/ROUTE OUTPUT INTO A SINGLE FUNCTION CALL +### A #parse("mileMarkers.vm") entry in your WarnGen .vm templates will thus +### generate any milemarker info intersected by your warning polygon. -Here are some examples of very simple INTERSTATE output - (one line/sentence per interstate): - -#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","MILE MARKER",false) -#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","MILE MARKER",true) -#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","",false) -#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","",true) -#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","",false) -#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","",true) -#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","MILE MARKER",false) -#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","MILE MARKER",true) - -Mile Marker Test Code -macro "mmarkers" use (called out of VM_global_library.vm): -#mmarkers($name, $id, $type, $markers, $simplify) -where the argument: +##GENERAL INFORMATION## +Mile Marker Macro (VM_global_library.vm): +#macro(mmarkers $markers $id $name $type $simplify) +$markers is a string, and is the exact "variable" set in the XML "pointSource" tag for this road + - +$id is the sequential ID database field to determine logical breaks in the mile markers + set in the XML "pointSource" tag for this road + - $name is a string "OUTPUT TEXT" of the road name -$id is the sequential ID database field to determine logical breaks in the mile markers $type is a string which describes the type of "marker" - may be "MILE MARKER" or something similar, or blank "" - "" is for use when town names (CHARLESTON) or exit names (THE SUNSET EXIT) -$markers is a string, and is the exact "variable" set in the XML "pointSource" tag for this road - - $simplify is a boolean value (true or false) - true concatenates (FROM MM 2 to 4), - false is a big list (MM 2...3...AND 4) -From mileMarkers.xml -$databaseName is an array of pointSource objects containing the milemarker names -$databaseId is an array of pointSource objects containing the milemarker IDs -$specificName is an array of plain English names for the Interstates, Routes, etc.. -e.g. -#set ($databaseName = [${i435mm},${i70momm},${i35momm}]) -#set ($databaseId = [${i435mmid},${i70mommid},${i35mommid}]) -#set ($specificName = ['INTERSTATE 435','INTERSTATE 70','INTERSTATE 35']) +########################### +CONFIGURATION: +########################### +#COMMENT OUT LINES 61-64 BELOW AS NEEDED, REPLACING/ADDING TO THE EXAMPLE WITH YOUR +#MILE MARKER/ROUTE ENTRIES +#EACH LINE CONTAINS A VARIABLE MM1,MM2,MM3,etc... REFERENCING AN ARRAY (LIST) OF DATA THAT +#WILL BE PASSED TO THE MMARKERS ROUTINE. -The following code makes upkeep of the mile marker files easier, and is - reccomended for use. -Substitute all your "INTERSTATE NAME(s)" into the array: $specificName -Likewise, -Substitute all your corresponding database table names (${tablename}) for those - interstates into the array: $databaseName -You may also use town names or exit names - in the "name" field of your database tables. +The items in the array are as follows: +1.) java Object - A pointSource object from mileMarkers.xml containing the milemarker names +2.) java Object - A pointSource object from mileMarkers.xml containing the milemarker IDs or index +3.) String - A plain English name for the Interstates, Routes, etc.. +4.) String - A plain English name describing the output (mile marker, exit, etc...) + Can be blank ''. Make sure the singular phrase is used (an "S" will be auto-applied for + plural values. e.g. MILE MARKERS 3 AND 10 +5.) Boolean - A true/false value telling the function whether to group the milemarkers where + possible, or list them individually. For mile markers that are text (such as exits or + intersections, false might be a better option) + +NOTE: PLEASE ENSURE PROPER SYNTAX. Java Objects are ${variable}, Text Strings are 'TEXT', and + Booleans are true/false (no quote)..see examples below + ALSO ENSURE THAT EACH LINE CONTAINS A UNIQUE VARIABLE NAME: MM1, MM2, MM3, etc.. + + +HERE IS AN EXAMPLE: + e.g. + #set ($mm1 = [${i435mm},${i435mmid},'INTERSTATE 435','MILE MARKER',true]) + #set ($mm2 = [${i70momm},${i70mommid},'INTERSTATE 70 IN MISSOURI','MILE MARKER',true]) + #set ($mm3 = [${route22mm},${route22mmid},'ROUTE 22','EXIT',true]) + +After creating these, we must create a match list containing all of our variable names + e.g. + #set ($varList = [$mm1,$mm2,$mm3]) *# + #set($hits = 0) #set($bigList = '') -##set ($databaseName = [${i435mm},${i70momm},${i35momm}]) -##set ($databaseId = [${i435mmid},${i70mommid},${i35mommid}]) -##set ($specificName = ['INTERSTATE 435','INTERSTATE 70','INTERSTATE 35']) -#set ($itemCount = 0) -#foreach($specName in $specificName) -#set ($itemCount = $itemCount + 1) -#set ($itemCount2 = 0) -#foreach($dbName in $databaseName) -#set ($itemCount2 = $itemCount2 + 1) -#set ($itemCount3 = 0) -#foreach($dbId in $databaseId) -#set ($itemCount3 = $itemCount3 + 1) -#if ($itemCount3 == $itemCount2 && $itemCount2 == $itemCount) -#set ($checker = "#mmarkers(${dbName},${dbId},${specName},'MILE MARKER',true)") + +##set ($mm1 = [${i435mm},${i435mmid},'INTERSTATE 435','MILE MARKER',true]) +##set ($mm2 = [${i70momm},${i70mommid},'INTERSTATE 70 IN MISSOURI','MILE MARKER',true]) +##set ($mm3 = [${i35momm},${i35mommid},'INTERSTATE 70 IN KANSAS','MILE MARKER',true]) +##set ($varList = [$mm1,$mm2,$mm3]) + +#foreach ($var in $varList) +#set ($checker = "#mmarkers(${list.get(${var},0)},${list.get(${var},1)},${list.get(${var},2)},${list.get(${var},3)},${list.get(${var},4)})") #if ($checker.length() > 0) #set ($hits = $hits + 1) #set ($bigList = "$bigList $checker") #end #end -#end -#end -#end #if ($hits == 1) THIS INCLUDES$bigList #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.xml index ff97807137..ae1f732c41 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/mileMarkers.xml @@ -1,29 +1,45 @@ \ No newline at end of file + --> + \ No newline at end of file diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.vm index a850bd864e..7c85ae101a 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.vm @@ -1,18 +1,18 @@ ###################################################### ## DAM BREAK FFW TEMPLATE ## ## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 - APR 13 2011 OB11.4 ## -## VERSION AWIPS II 1.1 - JUL 14 2011 OB11.7 ## -## VERSION AWIPS II 1.2 - AUG 18 2011 OB11.8 ## -## VERSION AWIPS II 1.3 - SEP 23 2011 OB11.8 ## +## RECENT VERSION HISTORY: ## VERSION AWIPS II 1.4 - SEP 13 2012 OB12.9.1-12 ## ## to add Flash Flood Emergency Headline ## ## VERSION AWIPS II 1.5 - FEB 08 2013 OB13.2.1-5 ## ## to update CTA statements ## ## VERSION AWIPS II 1.6 - JUN 26 2013 OB13.4.1 ## ## to add "U" Unknown servity ## +## VERSION AWIPS II 1.7 - SEP 17 2013 OB13.5.2-4 ## +## Phil Kurimski - Added FFW Emergency Headline ## ###################################################### ## +#parse("config.vm") #if(${action} == "EXT") #set($starttime = "000000T0000Z") #set($extend = true) @@ -42,6 +42,7 @@ #set($ruleofthumb = "") #set($sitespecCTA = "") #set($volcanoCTA = "") +#set($emergencyHeadline = "!** ENTER LOCATION **!") #if(${list.contains(${bullets}, "levee")}) #set($ic = "DM") #set($hycType = "A LEVEE FAILURE") @@ -96,78 +97,9 @@ #end ######################################################################### ## Parse command to include a damInfo.vm file with site specific dam -## information. Sites can include this information in a separate file or -## include in the template per the coding below. +## information. Sites can include their information in this file. ######################################################################### ##parse ("damInfo.vm") -#* -######################################################################### -## The next section is for site specific dams. Each site should take the -## example below and customize it for their dams with the information -## from the LLL-damInfo.txt file in AWIPS 1. If you have any questions -## please contact Phil Kurimski - WFO DTX -######################################################################### -#if(${list.contains(${bullets}, "BigRockDam")}) - #set($riverName = "PHIL RIVER") - #set($damName = "BIG ROCK DAM") - #set($cityInfo = "EVAN...LOCATED ABOUT 3 MILES") -#end -#if(${list.contains(${bullets}, "BigRockhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 18 FEET IN 16 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 23 FEET IN 31 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 14 FEET IN 19 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 17 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -#if(${list.contains(${bullets}, "BranchedOakDam")}) - #set($riverName = "KELLS RIVER") - #set($damName = "BRANCHED OAK DAM") - #set($cityInfo = "DANGELO...LOCATED ABOUT 6 MILES") -#end -#if(${list.contains(${bullets}, "BranchedOakhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 19 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 26 FEET IN 56 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 14 FEET IN 33 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 20 FEET IN 60 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -####################################################################### -## Look for site specific selections to override the 4th bullet and -## to set up the headlines and additional info used in the product. -## This loop assumes you end each site specific selection with -## the word "Dam". If you end with a different word you will need -## to modify the loop below. -######################################################################## -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("Dam")}) - #set($ctaSelected = "YES") - #set($sitespecSelected = "YES") - #set($hycType = "THE ${riverName} BELOW ${damName}") - #set($reportType1 = "${reportType2} ${damName} ON THE ${riverName}") - #set($addInfo = "THE NEAREST DOWNSTREAM TOWN IS ${cityInfo} FROM THE DAM.") - #set($sitespecCTA = "IF YOU ARE IN LOW LYING AREAS BELOW THE ${damName} YOU SHOULD MOVE TO HIGHER GROUND IMMEDIATELY.") -#end -#end -####################################################################### -## End of Site Specific Dam Information -####################################################################### -*# ## ${WMOId} ${vtecOffice} 000000 ${BBBId} FFW${siteId} @@ -189,15 +121,14 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ...THIS MESSAGE IS FOR TEST PURPOSES ONLY... #end -############################################################################# -## Flash Flood Emergency Headline...can be implemented at a later date # -############################################################################# -#* +#################################### +## Flash Flood Emergency Headline # +#################################### #if(${list.contains(${bullets}, "ffwEmergency")} ) -...FLASH FLOOD EMERGENCY FOR !** LOCATION **!... +...FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}... #end -*# + #headlineext(${officeLoc}, ${backupSite}, ${extend}) * ## @@ -248,7 +179,7 @@ THIS IS A TEST MESSAGE. ## ## 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 !**ENTER LOCATION**!. SEEK HIGHER GROUND NOW! THIS IS A POTENTIALLY LIFE THREATENING SITUATION!" 2 2) +#wrapText("THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW!" 2 2) #end #set($phenomena = "FLASH FLOOD") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.xml index 6edf1e7b75..8040086cc1 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning.xml @@ -13,9 +13,22 @@ Modified Phil Kurimski 02-05-2013 Reordered GUI selections to make more sense Added additional valid duration times Modified Evan Bookbinder 06-26-2013 Added "U" Unknown severity - + Modified Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -178,9 +191,7 @@ - - - + @@ -250,13 +261,12 @@ - - - + - + + @@ -296,117 +306,6 @@ false - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - - - - - - - - - distance - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - warngenlev - population - distance - - - - - - - - - - - - - - NAME - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - - WarnGenLoc - County - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.vm index 0fc9fa4781..3571a5cf6f 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.vm @@ -8,8 +8,10 @@ ## Phil Kurimski -- SEP 23 2011 OB11.0.8-8 ## ## Mike Rega -- MAY 03 2012 DR 14885 MND ## ## Phil Kurimski -- FEB 08 2013 CTA stmnts ## +## Phil Kurimski -- SEP 17 2013 FFW Emerg ## ##################################################### ## +#parse("config.vm") #set($headline = "") ## set reportType2 to a default value in case nothing is selected for site specific #set($reportType2 = "THE FAILURE OF") @@ -22,6 +24,7 @@ #set($sitespecCTA = "") #set($addInfo = "") #set($volcanoCTA = "") +#set($emergencyHeadline = "!** ENTER LOCATION **!") #if(${list.contains(${bullets}, "levee")}) #set($ic = "DM") #set($hycType = "A LEVEE FAILURE") @@ -99,79 +102,9 @@ #end ######################################################################### ## Parse command to include a damInfo.vm file with site specific dam -## information. Sites can include this information in a separate file or -## include in the template per the coding below. +## information. Sites can include their information in this file. ######################################################################### ##parse ("damInfo.vm") -#* -######################################################################### -## The next section is for site specific dams. Each site should take the -## example below and customize it for their dams with the information -## from the LLL-damInfo.txt file in AWIPS 1. If you have any questions -## please contact Phil Kurimski - WFO DTX -######################################################################### -#if(${list.contains(${bullets}, "BigRockDam")}) - #set($riverName = "PHIL RIVER") - #set($damName = "BIG ROCK DAM") - #set($cityInfo = "EVAN...LOCATED ABOUT 3 MILES") -#end -#if(${list.contains(${bullets}, "BigRockhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 18 FEET IN 16 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 23 FEET IN 31 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 14 FEET IN 19 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 17 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -#if(${list.contains(${bullets}, "BranchedOakDam")}) - #set($riverName = "KELLS RIVER") - #set($damName = "BRANCHED OAK DAM") - #set($cityInfo = "DANGELO...LOCATED ABOUT 6 MILES") -#end -#if(${list.contains(${bullets}, "BranchedOakhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 19 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 26 FEET IN 56 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 14 FEET IN 33 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 20 FEET IN 60 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -####################################################################### -## Look for site specific selections to override the 4th bullet and -## to set up the headlines and additional info used in the product. -## This loop assumes you end each site specific selection with -## the word "Dam". If you end with a different word you will need -## to modify the loop below. -######################################################################## -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("Dam")}) - #set($ctaSelected = "YES") - #set($sitespecSelected = "YES") - #set($hycType = "THE ${riverName} BELOW ${damName}") - #set($headline = "FOR ${reportType2} ${damName} ON THE ${riverName} ") - #set($reportType1 = "${reportType2} ${damName} ON THE ${riverName}") - #set($addInfo = "THE NEAREST DOWNSTREAM TOWN IS ${cityInfo} FROM THE DAM.") - #set($sitespecCTA = "IF YOU ARE IN LOW LYING AREAS BELOW THE ${damName} YOU SHOULD MOVE TO HIGHER GROUND IMMEDIATELY.") -#end -#end -####################################################################### -## End of Site Specific Dam Information -####################################################################### -*# #################################### ## DAM BREAK FFW FOLLOW-UP HEADER ## #################################### @@ -197,7 +130,11 @@ ${ugcline} /${productClass}.${action}.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -226,6 +163,14 @@ ${endwarning} #if(${action}=="CON" || (${action}=="COR" && ${CORCAN}=="false")) #if(${productClass}=="T") THIS IS A TEST MESSAGE.## +#end +##################################### +## Flash Flood Emergency Headline # +##################################### +#if(${list.contains(${bullets}, "ffwEmergency")}) + +...FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}... + #end ...A FLASH FLOOD WARNING ${headline}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## #headlineLocList(${areas} true true true false) @@ -233,15 +178,7 @@ THIS IS A TEST MESSAGE.## ########### END NEW HEADLINE CODE #################### -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end ##################################################### ## Changed report to match selections in template ##################################################### @@ -271,6 +208,13 @@ THIS IS A TEST MESSAGE. ## #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ${report}. +########################################################################## +## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # +########################################################################## +#if(${list.contains(${bullets}, "ffwEmergency")}) +THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW! + +#end #set($phenomena = "FLASH FLOOD") #set($warningType = "WARNING") ########################################################################## @@ -412,7 +356,11 @@ ${ugclinecan} /${productClass}.CAN.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -438,28 +386,31 @@ ${ugcline} /${productClass}.CON.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") THIS IS A TEST MESSAGE.## +#end +################################### +## Flash Flood Emergency Headline # +################################### +#if(${list.contains(${bullets}, "ffwEmergency")}) + +...FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}... + #end ...A FLASH FLOOD WARNING ${headline}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## #headlineLocList(${areas} true true true false) ...## ########### END NEW HEADLINE CODE #################### - -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end ##################################################### ## Changed report to match selections in template ##################################################### @@ -489,6 +440,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ${report}. +########################################################################## +## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # +########################################################################## +#if(${list.contains(${bullets}, "ffwEmergency")}) +THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW! + +#end #set($phenomena = "FLASH FLOOD") #set($warningType = "WARNING") ########################################################################## @@ -618,7 +576,11 @@ ${ugclinecan} /${productClass}.COR.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -645,28 +607,31 @@ ${ugcline} /${productClass}.COR.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ /00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") THIS IS A TEST MESSAGE.## +#end +################################### +## Flash Flood Emergency Headline # +################################### +#if(${list.contains(${bullets}, "ffwEmergency")}) + +...FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}... + #end ...A FLASH FLOOD WARNING ${headline}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## #headlineLocList(${areas} true true true false) ...## ########### END NEW HEADLINE CODE #################### - -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end ##################################################### ## Changed report to match selections in template ##################################################### @@ -696,6 +661,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ${report}. +########################################################################## +## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # +########################################################################## +#if(${list.contains(${bullets}, "ffwEmergency")}) +THIS IS A FLASH FLOOD EMERGENCY FOR ${emergencyHeadline}. SEEK HIGHER GROUND NOW! + +#end #set($phenomena = "FLASH FLOOD") #set($warningType = "WARNING") ########################################################################## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.xml index c71e43b29c..bed994a85f 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup.xml @@ -8,10 +8,24 @@ Evan Bookbinder 09-11-2012 Added settings for locations shapefile Added areaSource object Modified Phil Kurimski 02-05-2013 Reordered GUI selections to make more sense + Modified Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -181,11 +195,9 @@ - - - - - + + + @@ -256,11 +268,9 @@ - - - - - + + + @@ -310,120 +320,6 @@ false - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - 1 - true - 8.0 - 5 - 5 - 10 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - - ffmp_basins 0.064 diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.vm deleted file mode 100644 index 1be5bdc593..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.vm +++ /dev/null @@ -1,815 +0,0 @@ -##################################################### -## DAM BREAK FFW FOLLOW-UP ## -## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- APR 14 2011 OB11.4 ## -## -- JUL 14 2011 OB11.7 ## -## -- AUG 18 2011 OB11.0.8-4 ## -## Evan Bookbinder -- SEP 16 2011 OB11.0.8-8 ## -## Phil Kurimski -- SEP 23 2011 OB11.0.8-8 ## -## Mike Rega -- MAY 03 2012 DR 14885 MND ## -##################################################### -## -#set($headline = "") -## set reportType2 to a default value in case nothing is selected for site specific -#set($reportType2 = "THE FAILURE OF") -##################################################################### -## set variables to be used in site specific dam break selections -##################################################################### -#set($addInfo = "") -#set($scenario = "") -#set($ruleofthumb = "") -#set($sitespecCTA = "") -#set($addInfo = "") -#set($volcanoCTA = "") -#if(${list.contains(${bullets}, "levee")}) - #set($ic = "DM") - #set($hycType = "A LEVEE FAILURE") - #set($headline = "FOR A LEVEE FAILURE ") - #set($reportType1 = "A LEVEE ON THE !** **! RIVER AT !** **! FAILED CAUSING FLASH FLOODING OF IMMEDIATELY SURROUNDING AREAS") -#elseif(${list.contains(${bullets}, "floodgate")}) - #set($ic = "DR") - #set($hycType = "A DAM FLOODGATE RELEASE") - #set($headline = "FOR A DAM FLOODGATE RELEASE ") - #set($reportType1 = "THE FLOODGATES ON THE !** **! DAM WERE OPENED CAUSING FLASH FLOODING DOWNSTREAM ON THE !** **! RIVER") -#elseif(${list.contains(${bullets}, "glacier")}) - #set($ic = "GO") - #set($hycType = "A GLACIAL-DAMMED LAKE OUTBURST FLOODING") - #set($headline = "FOR A GLACIAL-DAMMED LAKE OUTBURST FLOODING ") - #set($reportType1 = "A GLACIER AT !** **! HAS MELTED...RELEASING LARGE QUANTITIES OF IMPOUNDED WATER AND CAUSING FLASH FLOODING !** **!") -#elseif(${list.contains(${bullets}, "icejam")}) - #set($ic = "IJ") - #set($hycType = "ICE JAM FLOODING") - #set($headline = "FOR ICE JAM FLOODING ") - #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 SNOW MELT") - #set($headline = "FOR EXTREMELY RAPID RAIN SNOW MELT ") - #set($reportType1 = "RAIN FALLING ON EXISTING SNOWPACK WAS GENERATING FLASH FLOODING FROM EXCESSIVE RUNOFF") -#elseif(${list.contains(${bullets}, "volcano")}) - #set($ic = "SM") - #set($hycType = "VOLCANIC SNOW MELT") - #set($headline = "FOR VOLCANIC SNOW MELT ") - #set($reportType1 = "ACTIVITY OF THE !** **! VOLCANO WAS CAUSING RAPID SNOWMELT ON ITS SLOPES AND GENERATING FLASH FLOODING") -#elseif(${list.contains(${bullets}, "volcanoLahar")}) - #set($ic = "SM") - #set($hycType = "VOLCANIC SNOW MELT") - #set($headline = "FOR VOLCANIC SNOW MELT ") - #set($ctaSelected = "YES") - #set($reportType1 = "ACTIVITY OF THE !** **! VOLCANO WAS CAUSING RAPID MELTING OF SNOW AND ICE ON THE MOUNTAIN. THIS WILL RESULT IN A TORRENT OF MUD...ASH...ROCK AND HOT WATER TO FLOW DOWN THE MOUNTAIN THROUGH !** DRAINAGE **! AND GENERATE FLASH FLOODING") - #set($volcanoCTA = "PERSONS IN THE VICINITY OF !** DRAINAGE **! SHOULD HEAD TO HIGHER GROUND IMMEDIATELY.") -#elseif(${list.contains(${bullets}, "dam")}) - #set($ic = "DM") - #set($hycType = "A DAM FAILURE") - #set($headline = "FOR A DAM FAILURE ") - ## The next line should be the headline but will not currently work - ##set($headline = "FOR THE FAILURE OF !**DAM NAME**! ON !**STREAM NAME**! ") - #set($reportType1 = "THE !** **! DAM FAILED CAUSING FLASH FLOODING DOWNSTREAM ON THE !** **! RIVER") -#elseif(${list.contains(${bullets}, "siteimminent")}) - #set($ic = "DM") - #set($hycType = "A DAM BREAK") - #set($headline = "FOR A DAM BREAK ") - ## The next line should be the headline but will not currently work - ##set($headline = "FOR THE IMMINENT FAILURE OF !**DAM NAME**! ON !**STREAM NAME**! ") - #set($reportType1 = "THE IMMINENT FAILURE OF !** **! DAM") - #set($reportType2 = "THE IMMINENT FAILURE OF") -#elseif(${list.contains(${bullets}, "sitefailed")}) - #set($ic = "DM") - #set($hycType = "A DAM BREAK") - #set($headline = "FOR A DAM BREAK ") - ## The next line should be the headline but will not currently work - ##set($headline = "FOR THE FAILURE OF !**DAM NAME**! ON !**STREAM NAME**! ") - #set($reportType1 = "THE FAILURE OF !** **! DAM") - #set($reportType2 = "THE FAILURE OF") -#else - #set($ic = "ER") - #set($hycType = "EXCESSIVE RAIN") - #set($reportType1 = "EXCESSIVE RAIN CAUSING FLASH FLOODING WAS OCCURING OVER THE WARNED AREA") -#end -#set($endwarning = "THE WATER IS RECEDING...AND IS NO LONGER EXPECTED TO POSE A SIGNIFICANT THREAT. PLEASE CONTINUE TO HEED ALL ROAD CLOSURES.") -#if(${list.contains(${bullets}, "warnend1")}) - #set($endwarning = "THE WATER IS RECEDING...AND IS NO LONGER EXPECTED TO POSE A SIGNIFICANT THREAT. PLEASE CONTINUE TO HEED ALL ROAD CLOSURES.") -#end -#if(${list.contains(${bullets}, "warnend2")}) - #set($endwarning = "FLOODING ON THE !** **! RIVER HAS RECEDED AND IS NO LONGER EXPECTED TO POSE A SIGNIFICANT THREAT. PLEASE CONTINUE TO HEED ALL ROAD CLOSURES.") -#end -#if(${floodic}) - #set($ic = ${floodic}) -#end -######################################################################### -## Parse command to include a damInfo.vm file with site specific dam -## information. Sites can include this information in a separate file or -## include in the template per the coding below. -######################################################################### -##parse ("damInfo.vm") -#* -######################################################################### -## The next section is for site specific dams. Each site should take the -## example below and customize it for their dams with the information -## from the LLL-damInfo.txt file in AWIPS 1. If you have any questions -## please contact Phil Kurimski - WFO DTX -######################################################################### -#if(${list.contains(${bullets}, "BigRockDam")}) - #set($riverName = "PHIL RIVER") - #set($damName = "BIG ROCK DAM") - #set($cityInfo = "EVAN...LOCATED ABOUT 3 MILES") -#end -#if(${list.contains(${bullets}, "BigRockhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 18 FEET IN 16 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 23 FEET IN 31 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 14 FEET IN 19 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 17 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -#if(${list.contains(${bullets}, "BranchedOakDam")}) - #set($riverName = "KELLS RIVER") - #set($damName = "BRANCHED OAK DAM") - #set($cityInfo = "DANGELO...LOCATED ABOUT 6 MILES") -#end -#if(${list.contains(${bullets}, "BranchedOakhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 19 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 26 FEET IN 56 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 14 FEET IN 33 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 20 FEET IN 60 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -####################################################################### -## Look for site specific selections to override the 4th bullet and -## to set up the headlines and additional info used in the product. -## This loop assumes you end each site specific selection with -## the word "Dam". If you end with a different word you will need -## to modify the loop below. -######################################################################## -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("Dam")}) - #set($ctaSelected = "YES") - #set($sitespecSelected = "YES") - #set($hycType = "THE ${riverName} BELOW ${damName}") - #set($headline = "FOR ${reportType2} ${damName} ON THE ${riverName} ") - #set($reportType1 = "${reportType2} ${damName} ON THE ${riverName}") - #set($addInfo = "THE NEAREST DOWNSTREAM TOWN IS ${cityInfo} FROM THE DAM.") - #set($sitespecCTA = "IF YOU ARE IN LOW LYING AREAS BELOW THE ${damName} YOU SHOULD MOVE TO HIGHER GROUND IMMEDIATELY.") -#end -#end -####################################################################### -## End of Site Specific Dam Information -####################################################################### -*# -#################################### -## DAM BREAK FFW FOLLOW-UP HEADER ## -#################################### -#if(${action}=="COR" && ${cancelareas}) -#set($CORCAN = "true") -#else -#set($CORCAN = "false") -#end -#if(${action}!="CANCON" && ${CORCAN}!="true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FFS${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})} - -${ugcline} -/${productClass}.${action}.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#end -########################## -## DAM BREAK FFW CANCEL ## -########################## -#if(${action}=="CAN") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE FLASH FLOOD WARNING ${headline}HAS BEEN CANCELLED FOR ## -###zoneHeadlineLocList(${areas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${affectedCounties} true true true false) -...## -########### END NEW HEADLINE CODE #################### - - -## Explanation -${endwarning} - -#end -####################### -## DAM BREAK FFW CON ## -####################### -#if(${action}=="CON" || (${action}=="COR" && ${CORCAN}=="false")) -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...A FLASH FLOOD WARNING ${headline}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -###zoneHeadlineLocList(${areas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${affectedCounties} true true true false) -...## - - -########### END NEW HEADLINE CODE #################### -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end -##################################################### -## Changed report to match selections in template -##################################################### -#set($report = "${reportType1}") -#if(${list.contains(${bullets}, "county")}) - #set($report = "COUNTY DISPATCH REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "corps")}) - #set($report = "CORPS OF ENGINEERS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "damop")}) - #set($report = "DAM OPERATORS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "bureau")}) - #set($report = "BUREAU OF RECLAMATION REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${reportType1}") -#end - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ${report}. - -#set($phenomena = "FLASH FLOOD") -#set($warningType = "WARNING") -########################################################################## -## Optional 4th bullet...comment out if needed. -########################################################################## -## This first if loop will override the locations impacted statement -## with the site specific information in the 4th bullet. -########################################################################## -#if(${sitespecSelected} == "YES") -${addInfo} - -${scenario} - -${ruleofthumb} - -########################################################################## -## Continue with the regular 4th bullet information -########################################################################## -#elseif(${list.contains(${bullets}, "pathcast")}) -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#pathCast("THE FLOOD WILL BE NEAR..." "THIS FLOODING" ${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..." "THIS FLOODING WILL AFFECT MAINLY RURAL AREAS OF" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) - -#end -############################ End of Optional 4th Bullet ########################### -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end -##################### -## CALL TO ACTIONS ## -##################### -####################################################################### -## 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 -## - -${sitespecCTA} - -${volcanoCTA} - -#if(${list.contains(${bullets}, "floodMovingCTA")}) -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}, "taddCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#end -#if(${list.contains(${bullets}, "vehicleCTA")}) -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}, "warningMeansCTA")}) -A FLASH FLOOD WARNING MEANS FLASH 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 MOVE UP TO HIGHER GROUND. - -#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}, "reportCTA")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${ctaSelected} == "YES") -&& -#end -#end -########################### -## DAM BREAK FFW CAN/CON ## -########################### -#if(${action}=="CANCON") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FFS${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})} - -${ugclinecan} -/${productClass}.CAN.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE FLASH FLOOD WARNING ${headline}HAS BEEN CANCELLED FOR ## -###zoneHeadlineLocList(${cancelareas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${cancelaffectedCounties} true true true false) -...## -########### END NEW HEADLINE CODE #################### - - -## Explanation -${endwarning} - -#printcoords(${areaPoly}, ${list}) - - -$$ - -${ugcline} -/${productClass}.CON.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...A FLASH FLOOD WARNING ${headline}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -###zoneHeadlineLocList(${areas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${affectedCounties} true true true false) -...## -########### END NEW HEADLINE CODE #################### - - -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end -##################################################### -## Changed report to match selections in template -##################################################### -#set($report = "${reportType1}") -#if(${list.contains(${bullets}, "county")}) - #set($report = "COUNTY DISPATCH REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "corps")}) - #set($report = "CORPS OF ENGINEERS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "damop")}) - #set($report = "DAM OPERATORS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "bureau")}) - #set($report = "BUREAU OF RECLAMATION REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${reportType1}") -#end - -## Storm current location description -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ${report}. - -#set($phenomena = "FLASH FLOOD") -#set($warningType = "WARNING") -########################################################################## -## Optional 4th bullet...comment out if needed. -########################################################################## -## This first if loop will override the locations impacted statement -## with the site specific information in the 4th bullet. -########################################################################## -#if(${sitespecSelected} == "YES") -${addInfo} - -${scenario} - -${ruleofthumb} - -########################################################################## -## Continue with the regular 4th bullet information -########################################################################## -#elseif(${list.contains(${bullets}, "pathcast")}) -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#pathCast("THE FLOOD WILL BE NEAR..." "THIS FLOODING" ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat}) - -#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..." "THIS FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat}) - -#end -############################ End of Optional 4th Bullet ########################### -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -#if(${list.contains(${bullets}, "floodMoving")}) -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 - -##################### -## CALL TO ACTIONS ## -##################### -####################################################################### -## 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 -## - -${sitespecCTA} - -${volcanoCTA} - -#if(${list.contains(${bullets}, "taddCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#end -#if(${list.contains(${bullets}, "vehicleCTA")}) -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}, "warningMeansCTA")}) -A FLASH FLOOD WARNING MEANS FLASH 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 MOVE UP TO HIGHER GROUND. - -#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}, "reportCTA")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${ctaSelected} == "YES") -&& -#end - -#elseif(${CORCAN}=="true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -FFS${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})} - -${ugclinecan} -/${productClass}.COR.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${cancelareas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE FLASH FLOOD WARNING ${headline}HAS BEEN CANCELLED FOR ## -###zoneHeadlineLocList(${cancelareas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${cancelaffectedCounties} true true true false) -...## -########### END NEW HEADLINE CODE #################### - - -## Explanation -${endwarning} - -#printcoords(${areaPoly}, ${list}) - - -$$ - -${ugcline} -/${productClass}.COR.${vtecOffice}.FF.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.${floodseverity}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ -#set($zoneList = "") -#foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") -#end -${zoneList} - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...A FLASH FLOOD WARNING ${headline}REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR ## -###zoneHeadlineLocList(${areas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${affectedCounties} true true true false) -...## -########### END NEW HEADLINE CODE #################### - - -############################################################################### -## Flash Flood Emergency per NWS 10-922 Directive goes after initial headline # -############################################################################### -#if(${list.contains(${bullets}, "ffwEmergency")}) - -...THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!... - -#end -##################################################### -## Changed report to match selections in template -##################################################### -#set($report = "${reportType1}") -#if(${list.contains(${bullets}, "county")}) - #set($report = "COUNTY DISPATCH REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "corps")}) - #set($report = "CORPS OF ENGINEERS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "damop")}) - #set($report = "DAM OPERATORS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "bureau")}) - #set($report = "BUREAU OF RECLAMATION REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${reportType1}") -#end - -## Storm current location description -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ${report}. - -#set($phenomena = "FLASH FLOOD") -#set($warningType = "WARNING") -########################################################################## -## Optional 4th bullet...comment out if needed. -########################################################################## -## This first if loop will override the locations impacted statement -## with the site specific information in the 4th bullet. -########################################################################## -#if(${sitespecSelected} == "YES") -${addInfo} - -${scenario} - -${ruleofthumb} - -########################################################################## -## Continue with the regular 4th bullet information -########################################################################## -#elseif(${list.contains(${bullets}, "pathcast")}) -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#pathCast("THE FLOOD WILL BE NEAR..." "THIS FLOODING" ${pathCast} ${otherPoints} ${areas} ${dateUtil} ${timeFormat}) - -#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..." "THIS FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat}) - -#end -############################ End of Optional 4th Bullet ########################### -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -#if(${list.contains(${bullets}, "floodMoving")}) -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 - -##################### -## CALL TO ACTIONS ## -##################### -####################################################################### -## 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 -## - -${sitespecCTA} - -${volcanoCTA} - -#if(${list.contains(${bullets}, "taddCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#end -#if(${list.contains(${bullets}, "vehicleCTA")}) -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}, "warningMeansCTA")}) -A FLASH FLOOD WARNING MEANS FLASH 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 MOVE UP TO HIGHER GROUND. - -#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}, "reportCTA")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${ctaSelected} == "YES") -&& -#end - -#end -####################### -## DAM BREAK FFW EXP ## -####################### -#if(${action}=="EXP") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE FLASH FLOOD WARNING ${headline}## -#if(${now.compareTo(${expire})} > -1) -EXPIRED AT ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} FOR ## -#else -WILL EXPIRE AT ${dateUtil.format(${expire}, ${timeFormat.clock}, 15, ${localtimezone})} FOR ## -#end -###zoneHeadlineLocList(${areas} true true true false) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#headlineLocList(${affectedCounties} true true true false) -...## -########### END NEW HEADLINE CODE #################### - - -## Explaination -${endwarning} - -#end -########################## -## END OF DAM BREAK FFW ## -########################## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end - -#printcoords(${areaPoly}, ${list}) - - -$$ - -#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.xml deleted file mode 100644 index cd164beda3..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.xml +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - - mi - mph - - - - Forecast Zones - - - - - - - - - COR - CON - CAN - EXP - - - - - FF.W - - - - false - - -true - - - true - - - - 30 - - 30 - - - -dam,ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - NAME - - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - warngenlev - population - distance - - - - - - - - - - - - - NAME - AREA - 1 - POINTS - true - 10 - 200 - - name - - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.vm deleted file mode 100644 index 1edd427b5b..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.vm +++ /dev/null @@ -1,352 +0,0 @@ -################################################# -## DAM BREAK FFW TEMPLATE ## -## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 - APR 13 2011 OB11.4 ## -## VERSION AWIPS II 1.1 - JUL 14 2011 OB11.7 ## -## VERSION AWIPS II 1.2 - AUG 18 2011 OB11.8 ## -## VERSION AWIPS II 1.3 - SEP 23 2011 OB11.8 ## -## VERSION AWIPS II 1.4 - JUN 26 2013 OB13.4.1 ## -## to add "U" Unknown servity ## -################################################# -## -#if(${action} == "EXT") - #set($starttime = "000000T0000Z") - #set($extend = true) -#else - #set($starttime = ${dateUtil.format(${start}, ${timeFormat.ymdthmz})}) - #set($extend = false) -#end -#if(${list.contains(${bullets}, "sev1")}) - #set($sev = "1") -#elseif(${list.contains(${bullets}, "sev2")}) - #set($sev = "2") -#elseif(${list.contains(${bullets}, "sev3")}) - #set($sev = "3") -#else - #set($sev = "0") -#end -## -## set reportType2 to a default value in case nothing is selected for site specific -#set($reportType2 = "THE FAILURE OF") -##################################################################### -## set variables to be used in site specific dam break selections -##################################################################### -#set($addInfo = "") -#set($scenario = "") -#set($ruleofthumb = "") -#set($sitespecCTA = "") -#set($volcanoCTA = "") -#if(${list.contains(${bullets}, "levee")}) - #set($ic = "DM") - #set($hycType = "A LEVEE FAILURE") - #set($reportType1 = "A LEVEE ON THE !** **! RIVER AT !** **! FAILED CAUSING FLASH FLOODING OF IMMEDIATELY SURROUNDING AREAS") -#elseif(${list.contains(${bullets}, "floodgate")}) - #set($ic = "DR") - #set($hycType = "A DAM FLOODGATE RELEASE") - #set($reportType1 = "THE FLOODGATES ON THE !** **! DAM WERE OPENED CAUSING FLASH FLOODING DOWNSTREAM ON THE !** **! RIVER") -#elseif(${list.contains(${bullets}, "glacier")}) - #set($ic = "GO") - #set($hycType = "A GLACIAL-DAMMED LAKE OUTBURST FLOODING") - #set($reportType1 = "A GLACIER AT !** **! HAS MELTED...RELEASING LARGE QUANTITIES OF IMPOUNDED WATER AND CAUSING FLASH FLOODING !** **!") -#elseif(${list.contains(${bullets}, "icejam")}) - #set($ic = "IJ") - #set($hycType = "ICE JAM FLOODING") - #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 SNOW MELT") - #set($reportType1 = "RAIN FALLING ON EXISTING SNOWPACK WAS GENERATING FLASH FLOODING FROM EXCESSIVE RUNOFF") -#elseif(${list.contains(${bullets}, "volcano")}) - #set($ic = "SM") - #set($hycType = "VOLCANIC SNOW MELT") - #set($reportType1 = "ACTIVITY OF THE !** **! VOLCANO WAS CAUSING RAPID SNOWMELT ON ITS SLOPES AND GENERATING FLASH FLOODING") -#elseif(${list.contains(${bullets}, "volcanoLahar")}) - #set($ic = "SM") - #set($hycType = "VOLCANIC SNOW MELT") - #set($ctaSelected = "YES") - #set($reportType1 = "ACTIVITY OF THE !** **! VOLCANO WAS CAUSING RAPID MELTING OF SNOW AND ICE ON THE MOUNTAIN. THIS WILL RESULT IN A TORRENT OF MUD...ASH...ROCK AND HOT WATER TO FLOW DOWN THE MOUNTAIN THROUGH !** DRAINAGE **! AND GENERATE FLASH FLOODING") - #set($volcanoCTA = "PERSONS IN THE VICINITY OF !** DRAINAGE **! SHOULD HEAD TO HIGHER GROUND IMMEDIATELY.") -#elseif(${list.contains(${bullets}, "dam")}) - #set($ic = "DM") - #set($hycType = "A DAM FAILURE") - #set($reportType1 = "THE !** **! DAM FAILED CAUSING FLASH FLOODING DOWNSTREAM ON THE !** **! RIVER") - #set($addInfo = "!** **! DAM ON THE !** **! RIVER UPSTREAM FROM !** **! HAS GIVEN WAY AND HIGH WATERS ARE NOW MOVING TOWARD !** **!. AREAS DOWNSTREAM FROM THE DAM ALONG THE !** **! RIVER SHOULD BE PREPARED FOR FLOODING. TAKE NECESSARY PRECAUTIONS IMMEDIATELY") -#elseif(${list.contains(${bullets}, "siteimminent")}) - #set($ic = "DM") - #set($hycType = "A DAM BREAK") - #set($reportType1 = "THE IMMINENT FAILURE OF !** **! DAM") - #set($reportType2 = "THE IMMINENT FAILURE OF") - #set($addInfo = "!** **! DAM ON THE !** **! RIVER UPSTREAM FROM !** **! HAS GIVEN WAY AND HIGH WATERS ARE NOW MOVING TOWARD !** **!. AREAS DOWNSTREAM FROM THE DAM ALONG THE !** **! RIVER SHOULD BE PREPARED FOR FLOODING. TAKE NECESSARY PRECAUTIONS IMMEDIATELY") -#elseif(${list.contains(${bullets}, "sitefailed")}) - #set($ic = "DM") - #set($hycType = "A DAM BREAK") - #set($reportType1 = "THE FAILURE OF !** **! DAM") - #set($reportType2 = "THE FAILURE OF") - #set($addInfo = "!** **! DAM ON THE !** **! RIVER UPSTREAM FROM !** **! HAS GIVEN WAY AND HIGH WATERS ARE NOW MOVING TOWARD !** **!. AREAS DOWNSTREAM FROM THE DAM ALONG THE !** **! RIVER SHOULD BE PREPARED FOR FLOODING. TAKE NECESSARY PRECAUTIONS IMMEDIATELY") -#else - #set($ic = "ER") - #set($hycType = "EXCESSIVE RAIN") - #set($reportType1 = "EXCESSIVE RAIN CAUSING FLASH FLOODING WAS OCCURING OVER THE WARNED AREA") -#end -######################################################################### -## Parse command to include a damInfo.vm file with site specific dam -## information. Sites can include this information in a separate file or -## include in the template per the coding below. -######################################################################### -##parse ("damInfo.vm") -#* -######################################################################### -## The next section is for site specific dams. Each site should take the -## example below and customize it for their dams with the information -## from the LLL-damInfo.txt file in AWIPS 1. If you have any questions -## please contact Phil Kurimski - WFO DTX -######################################################################### -#if(${list.contains(${bullets}, "BigRockDam")}) - #set($riverName = "PHIL RIVER") - #set($damName = "BIG ROCK DAM") - #set($cityInfo = "EVAN...LOCATED ABOUT 3 MILES") -#end -#if(${list.contains(${bullets}, "BigRockhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 18 FEET IN 16 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 23 FEET IN 31 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 14 FEET IN 19 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT EVAN COULD EXCEED 17 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BigRockruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -#if(${list.contains(${bullets}, "BranchedOakDam")}) - #set($riverName = "KELLS RIVER") - #set($damName = "BRANCHED OAK DAM") - #set($cityInfo = "DANGELO...LOCATED ABOUT 6 MILES") -#end -#if(${list.contains(${bullets}, "BranchedOakhighfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 19 FEET IN 32 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakhighnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 26 FEET IN 56 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumfast")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 14 FEET IN 33 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakmediumnormal")}) - #set($scenario = "IF A COMPLETE FAILURE OF THE DAM OCCURS...THE WATER DEPTH AT DANGELO COULD EXCEED 20 FEET IN 60 MINUTES.") -#end -#if(${list.contains(${bullets}, "BranchedOakruleofthumb")}) - #set($ruleofthumb = "FLOOD WAVE ESTIMATE BASED ON THE DAM IN IDAHO: FLOOD INITIALLY HALF OF ORIGINAL HEIGHT BEHIND DAM AND 3-4 MPH; 5 MILES IN 1/2 HOURS; 10 MILES IN 1 HOUR; AND 20 MILES IN 9 HOURS.") -#end -####################################################################### -## Look for site specific selections to override the 4th bullet and -## to set up the headlines and additional info used in the product. -## This loop assumes you end each site specific selection with -## the word "Dam". If you end with a different word you will need -## to modify the loop below. -######################################################################## -#foreach (${bullet} in ${bullets}) -#if(${bullet.endsWith("Dam")}) - #set($ctaSelected = "YES") - #set($sitespecSelected = "YES") - #set($hycType = "THE ${riverName} BELOW ${damName}") - #set($reportType1 = "${reportType2} ${damName} ON THE ${riverName}") - #set($addInfo = "THE NEAREST DOWNSTREAM TOWN IS ${cityInfo} FROM THE DAM.") - #set($sitespecCTA = "IF YOU ARE IN LOW LYING AREAS BELOW THE ${damName} YOU SHOULD MOVE TO HIGHER GROUND IMMEDIATELY.") -#end -#end -####################################################################### -## End of Site Specific Dam Information -####################################################################### -*# -## -${WMOId} ${vtecOffice} 000000 ${BBBId} -FFW${siteId} -${ugcline} -/${productClass}.${action}.${vtecOffice}.FF.W.${etn}.${starttime}-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -/00000.${sev}.${ic}.000000T0000Z.000000T0000Z.000000T0000Z.OO/ - -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 -#headlineext(${officeLoc}, ${backupSite}, ${extend}) - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -####################################################################### -## Put the hycType variable on the next line and included the word 'IN' -## to come in line with the 10-922 directive -####################################################################### -FLASH FLOOD WARNING FOR... - ${hycType} IN... -###firstBullet(${areas}) -##REPLACE THE LINE ABOVE WITH THE FOLLOWING IF YOU USE COUNTY VS. ZONE OUTPUT -#firstBullet(${affectedCounties}) - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) - -#set($report = "${reportType1}") -#if(${list.contains(${bullets}, "county")}) - #set($report = "COUNTY DISPATCH REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "lawEnforcement")}) - #set($report = "LOCAL LAW ENFORCEMENT REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "corps")}) - #set($report = "CORPS OF ENGINEERS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "damop")}) - #set($report = "DAM OPERATORS REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "bureau")}) - #set($report = "BUREAU OF RECLAMATION REPORTED ${reportType1}") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${reportType1}") -#end - -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${report}. - -########################################################################## -## Flash Flood Emergency per NWS 10-922 Directive goes with third bullet # -########################################################################## -#if(${list.contains(${bullets}, "ffwEmergency")}) - THIS IS A FLASH FLOOD EMERGENCY FOR !**ENTER LOCATION**!. - -#end -#set($phenomena = "FLASH FLOOD") -#set($warningType = "WARNING") -########################################################################## -## Optional 4th bullet...comment out if not needed. -########################################################################## -## This first if loop will override the locations impacted statement -## with the site specific information in the 4th bullet. -########################################################################## -#if(${sitespecSelected} == "YES") -* ## -${addInfo} - -${scenario} - -${ruleofthumb} - -########################################################################## -## Continue with the regular 4th bullet information -########################################################################## -#elseif(${list.contains(${bullets}, "pathcast")}) -* ## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -#pathCast("THE FLOOD WILL BE NEAR..." "THIS FLOODING" ${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..." "THIS FLOODING" 0 ${cityList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 0) - -#end -############################ End of Optional 4th Bullet ########################### -#if(${list.contains(${bullets}, "drainages")}) -#drainages(${riverdrainages}) - -#end - -## parse file command here is to pull in mile marker info -## #parse("mileMarkers.vm") - -#if(${list.contains(${bullets}, "floodMoving")}) -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 - -##################### -## CALL TO ACTIONS ## -##################### -####################################################################### -## 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 -## - -${sitespecCTA} - -${volcanoCTA} - -#if(${list.contains(${bullets}, "taddCTA")}) -MOST FLOOD DEATHS OCCUR IN AUTOMOBILES. NEVER DRIVE YOUR VEHICLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. FLOOD WATERS ARE USUALLY DEEPER THAN THEY APPEAR. JUST ONE FOOT OF FLOWING WATER IS POWERFUL ENOUGH TO SWEEP VEHICLES OFF THE ROAD. WHEN ENCOUNTERING FLOODED ROADS MAKE THE SMART CHOICE...TURN AROUND...DONT DROWN. - -#end -#if(${list.contains(${bullets}, "nighttimeCTA")}) -BE ESPECIALLY CAUTIOUS AT NIGHT WHEN IT IS HARDER TO RECOGNIZE THE DANGERS OF FLOODING. IF FLOODING IS OBSERVED ACT QUICKLY. MOVE UP TO HIGHER GROUND TO ESCAPE FLOOD WATERS. DO NOT STAY IN AREAS SUBJECT TO FLOODING WHEN WATER BEGINS RISING. - -#end -#if(${list.contains(${bullets}, "vehicleCTA")}) -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}, "warningMeansCTA")}) -A FLASH FLOOD WARNING MEANS FLASH 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 MOVE UP TO HIGHER GROUND. - -#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}, "reportCTA")}) -TO REPORT FLOODING...HAVE THE NEAREST LAW ENFORCEMENT AGENCY RELAY YOUR REPORT TO THE NATIONAL WEATHER SERVICE FORECAST OFFICE. - -#end -#if(${ctaSelected} == "YES") -&& -#end - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end -#printcoords(${areaPoly}, ${list}) - - -$$ - -#parse("forecasterName.vm") diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.xml deleted file mode 100644 index 44d87c07d0..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.xml +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - mi - mph - - - - Forecast Zones - - - - - - - - NEW - COR - EXT - - - - - FF.W - - - -true - - -true - - - true - - - 180 - - 30 - 40 - 45 - 50 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 360 - - - -dam,ic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - COUNTY - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - - 1 - AREA - true - 8.0 - 5 - 5 - 4 - 8 - Name - - NAME - STATE - STATE - countyTypes.txt - - distance - - - - - - - - - - - - - NAME - 1 - AREA - POINTS - true - 30 - 200 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - POINTS - true - 10 - 200 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - ffmp_basins - 0.064 - streamname - - - - - - true - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.vm index dba2ab4ab9..ddf4eecd29 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.vm @@ -1,18 +1,15 @@ ################################################################ ## SEVERE THUNDERSTORM WARNING TEMPLATE ## ## CREATED BY EVAN BOOKBINDER - WFO EAX ## -## VERSION HISTORY -- 3-24-2011 INITIAL OB11.2 REWRITE ## -## 4-12-2011 OB11.4 MODIFICATIONS ## -## 7-11-2011 OB11.7 MODIFICATIONS ## -## 9-15-2011 OB11.8.0-8 PATHCAST/CITY ## -## 11-04-2011 OB11.9-3 (DRs) ## -## 2-24-2012 OB12.2.1 CLEANUP ## -## BY QINGLU LIN 6-18-2012 DR 15043 use duration ## +## RECENT VERSION HISTORY ## ## BY QINGLU LIN 8-14-2012 DR 14493 use TMLtime ## ## Mike Dangelo 9-13-2012 minor tweaks to some ${variables}## ## Mike Dangelo 2-4-2013 NWS Mets detected a svr ## +## Evan Bookbinder 9-16-2013 Fixed CTA ## +## Evan Bookbinder 9-18-2013 Implemented config.vm ## ################################################################ ## +#parse("config.vm") ##SET SOME INITIAL VARIABLES #if(${stormType} == "line") #set($report = "A LINE OF SEVERE THUNDERSTORMS WAS REPORTED") @@ -247,12 +244,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report}${hailwind}. ${reportType2} LOCATED ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. ${smallHail} #else ...AND MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. ${smallHail} @@ -295,10 +293,9 @@ THE CORRECT LOCATIONS BULLET SELECTED **!. #end ## Uncomment below pull in mile marker info -##parse("mileMarkers.vm") +## #parse("mileMarkers.vm") ## Uncomment below pull in point marker info -##parse("pointMarkers.vm") -## #pmarkers(${locpointsName},${locpointsGid}, "THE FOLLOWING", "VENUE", false) +## #parse("pointMarkers.vm") ## ############################################## @@ -342,7 +339,7 @@ SEVERE THUNDERSTORMS PRODUCE DAMAGING WINDS...DESTRUCTIVE HAIL...DEADLY LIGHTNIN ## #if(${list.contains(${bullets}, "canProduceTornadoesCTA")}) #if(${stormType} == "line") -DOPPLER RADAR HAS INDICATED SOME WEAK ROTATION WITHIN THESE STORMS. ALTHOUGH A TORNADO IS NOT IMMEDIATELY LIKELY...IF ONE IS SPOTTED...ACT QUICKLY AND MOVE TO A PLACE OF SAFETY IN A STURDY STRUCTURE...SUCH AS A BASEMENT OR SMALL INTERIOR +DOPPLER RADAR HAS INDICATED SOME WEAK ROTATION WITHIN THESE STORMS. ALTHOUGH A TORNADO IS NOT IMMEDIATELY LIKELY...IF ONE IS SPOTTED...ACT QUICKLY AND MOVE TO A PLACE OF SAFETY IN A STURDY STRUCTURE...SUCH AS A BASEMENT OR SMALL INTERIOR ROOM. #else DOPPLER RADAR HAS INDICATED SOME WEAK ROTATION WITHIN THIS STORM. ALTHOUGH A TORNADO IS NOT IMMEDIATELY LIKELY...IF ONE IS SPOTTED...ACT QUICKLY AND MOVE TO A PLACE OF SAFETY IN A STURDY STRUCTURE...SUCH AS A BASEMENT OR SMALL INTERIOR ROOM. @@ -486,6 +483,7 @@ THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. #printcoords(${areaPoly}, ${list}) #tml(${TMLtime}, ${timeFormat}, ${movementDirection}, ${movementInKnots}, ${eventLocation}) + ## UNCOMMENT 2 LINES BELOW IF PARTICIPATING IN THE WIND/HAIL TAG EXPERIMENT ## ##${windhailTag} diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.xml index d1f760aa59..bf18698b4a 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeThunderstormWarning.xml @@ -10,9 +10,24 @@ Evan Bookbinder 09-11-2012 Added settings for locations shapefile Create new areaSource objects Mike Dangelo 2-4-2013 Added commented bullet for METS DETECTED + Phil Kurimski 09-16-2013 Fixed some spelling errors + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -104,16 +119,16 @@ - - + + - - + + @@ -146,10 +161,8 @@ - @@ -162,18 +175,17 @@ - - - - + + + - - + + @@ -192,160 +204,4 @@ - - - County - 0.00 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 10 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.vm index 1130d2d0a1..b27a3611b6 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.vm @@ -1,23 +1,19 @@ ################################################################# ## SEVERE WEATHER STATEMENT TEMPLATE ## ## CREATED BY EVAN BOOKBINDER - WFO EAX ## -## MODIFIED INITIAL OB11.4 REWRITE - 4-13-2011 ## -## HEADLINE MACRO REWRITE 8-17-2011 OB11.8.4 ## -## PATHCAST/CITIES CHANGES 9-15-2011 OB11.8.0-8 ## -## BY PHIL KURIMSKI 9-22-2011 OB11.8.0-8 ## -## BY EVAN BOOKBINDER 11-04-2011 OB11.9-3 ## -## BY EVAN BOOKBINDER 2-24-2012 OB12.2.1 ## -## BY MIKE REGA 5-3-2012 DR 14885 MND blank line ## -## BY QINGLU LIN 6-18-2012 DR 15043 use duration ## -## BY QINGLU LIN 7-31-2012 DR 15217 use roundAndPad## +## RECENT HISTORY: ## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## ## Mike Dangelo 2-5-2013 NWS Mets Detected options ## ## PHIL KURIMSKI 2-6-2013 Tor emergency preamble ## +## EVAN BOOKBINDER 9-16-2013 CTA WORDING FIX ## +## PHIL KURIMSKI 9-17-2013 Tor emergency headline ## +## EVAN BOOKBINDER 9-18-2013 Implemented config.vm ## ################################################################# ## ################################################################### ## Set null variables for wind/hail tags used in the template ## ################################################################### +#parse("config.vm") #set($windhailTag = "") #set($TORhailTag = "") ############################################################################### @@ -79,19 +75,33 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugclinecan} /${productClass}.CAN.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end +-## +#end + #elseif(${CORCAN}=="true") ${ugclinecan} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ #foreach (${area} in ${cancelareas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end +-## +#end + #else ${ugcline} /${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end #end @@ -133,6 +143,8 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #elseif(${action}=="CANCON" || ${CORCAN}=="true") ...THE ${eventType} WARNING FOR ## #headlineLocList(${cancelareas} true true true false) ${expcanHLTag}... +###REPLACE headlineLocList ABOVE WITH THE FOLLOWING FOR ZONE BASED PRODUCT W/ COUNTY HEADLINE +###headlineLocList(${cancelaffectedCounties} true true true false) ${expcanHLTag}... #end ############################ ## END CAN/EXP HEADLINE #### @@ -310,7 +322,11 @@ $$ ${ugcline} /${productClass}.CON.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -325,7 +341,11 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ${ugcline} /${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz})}/ #foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## +#end +-## #end ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} @@ -334,18 +354,19 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} ...THIS MESSAGE IS FOR TEST PURPOSES ONLY... #end +#end +##################################################################### +### TORNADO EMERGENCY HEADLINE # +##################################################################### +#if(${list.contains(${bullets}, "torEmergency")}) + +...TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... + #end #if(${action}=="CANCON" || ${action}=="CON" || ${action}=="COR" || ${CORCAN}=="true") ...A ${eventType} WARNING REMAINS IN EFFECT #secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone},${duration}) FOR ## #headlineLocList(${areas} true true true false)... ########### END NEW HEADLINE CODE #################### -##################################################################### -### TORNADO EMERGENCY PER NWS 10-511 DIRECTIVE # -##################################################################### -#if(${list.contains(${bullets}, "torEmergency")}) -...THIS IS A TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... - -#end #set($reportType = "!** BASIS FOR WARNING **!") #set($reportAuthSVR = "") ############### BASIS SECTION #################### @@ -614,15 +635,24 @@ THIS IS A TEST MESSAGE. ## #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${reportType}${hailwind}. ## ${reportType2} LOCATED ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. ${smallHail}${TORHailThreat} #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. ${smallHail}${TORHailThreat} +#end + +##################################################################### +### TORNADO EMERGENCY PER NWS 10-511 DIRECTIVE GOES WITH 3RD BULLET # +##################################################################### +#if(${list.contains($bullets, "torEmergency")}) +THIS IS A TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!. TAKE COVER NOW. + #end ############################################# ######## GENERATE ADDITIONAL REPORTS ####### @@ -690,6 +720,8 @@ THOSE ATTENDING THE !**now/venue name or location**! ARE IN THE PATH OF THIS STO ## parse file command here is to pull in mile marker info ## #parse("mileMarkers.vm") +## Uncomment below pull in point marker info +## #parse("pointMarkers.vm") ################################## ######### CALLS TO ACTION ######## @@ -768,7 +800,7 @@ SEVERE THUNDERSTORMS PRODUCE DAMAGING WINDS...DESTRUCTIVE HAIL...DEADLY LIGHTNIN ## #if(${list.contains(${bullets}, "canProduceTornadoesCTA")}) #if(${stormType} == "line") -DOPPLER RADAR HAS INDICATED SOME WEAK ROTATION WITHIN THESE STORMS. ALTHOUGH A TORNADO IS NOT IMMEDIATELY LIKELY...IF ONE IS SPOTTED...ACT QUICKLY AND MOVE TO A PLACE OF SAFETY IN A STURDY STRUCTURE...SUCH AS A BASEMENT OR SMALL INTERIOR +DOPPLER RADAR HAS INDICATED SOME WEAK ROTATION WITHIN THESE STORMS. ALTHOUGH A TORNADO IS NOT IMMEDIATELY LIKELY...IF ONE IS SPOTTED...ACT QUICKLY AND MOVE TO A PLACE OF SAFETY IN A STURDY STRUCTURE...SUCH AS A BASEMENT OR SMALL INTERIOR ROOM. #else DOPPLER RADAR HAS INDICATED SOME WEAK ROTATION WITHIN THIS STORM. ALTHOUGH A TORNADO IS NOT IMMEDIATELY LIKELY...IF ONE IS SPOTTED...ACT QUICKLY AND MOVE TO A PLACE OF SAFETY IN A STURDY STRUCTURE...SUCH AS A BASEMENT OR SMALL INTERIOR ROOM. diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.xml index e94414c988..e870e42fc2 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/severeWeatherStatement.xml @@ -8,6 +8,7 @@ Qinglu Lin 04-04-2012 DR 14691. Added tag. Evan Bookbinder 09-11-2012 Added settings for locations shapefile Mike Dangelo 2-5-2013 NWS Mets Detected options (commented by default) + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -217,10 +231,9 @@ - - - - + + + @@ -276,16 +289,15 @@ - - - - + + + - + @@ -346,10 +358,9 @@ - - - - + + + @@ -403,17 +414,16 @@ - - - - + + + - + @@ -433,158 +443,4 @@ - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - 1 - NAME - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - - WarnGenLoc - States - County - - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.vm index f954dae9d5..4097824fae 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.vm @@ -2,12 +2,14 @@ ## SHORT TERM FORECAST ## ## CREATED BY PHIL KURIMSKI - WFO DTX ## ## VERSION AWIPS II 1.0 -- AUG 19 2011 OB11.8 ## -## EDITED BY MIKE DANGELO 2-27-2012 ## -## EDITED BY Phil Kurimski 3-01-2012 OB12.2.1-4 ## +## EDITED BY MIKE DANGELO 2-27-2012 +## EDITED BY Phil Kurimski 3-01-2012 OB12.2.1-4 ## Evan Bookbinder 4-25-2012 for OB 12.3.1 (MND) -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} -################################################## +## Mike Dangelo 9-13-2012 minor tweaks to ${variables} +## Evan Bookbinder 9-18-2013 implemented config.vm +################################################################ ## +#parse("config.vm") ${WMOId} ${vtecOffice} 000000 ${BBBId} NOW${siteId} @@ -142,7 +144,7 @@ THIS IS A TEST MESSAGE. ## ####################################################################### #set($report = "!** YOU DIDN'T SELECT A BASIS **! ${eventType}") #if(${list.contains(${bullets}, "doppler")}) - #set($report = "NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED ${eventType}...") + #set($report = "DOPPLER RADAR INDICATED ${eventType}...") #end #if(${list.contains(${bullets}, "trainedSpotters")}) #set($report = "TRAINED WEATHER SPOTTERS REPORTED ${eventType}...") @@ -162,12 +164,13 @@ THIS IS A TEST MESSAGE. ## .NOW... #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report}## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. #else MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. @@ -202,7 +205,7 @@ LOCATIONS IMPACTED INCLUDE... #end -#if(${list.contains(${bullets}, "gustFrontWinds")}) +#if(${list.contains(${bullets}, "gustFrontPassage")}) GUSTY WINDS TO !**WIND SPEED**! MPH WILL ACCOMPANY THE FRONT. #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.xml index 5a6c5bc016..c74eca389d 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/shortTermForecast.xml @@ -8,9 +8,24 @@ Added settings for locations shapefile Added new areaSource object Evan Bookbinder 5-5-2013 fixed variable under areaSource objects + Chad Gimmestad 9-17-2013 made additional info bullet names/labels consistent + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -86,13 +101,13 @@ - - + + - - - + + + @@ -121,8 +136,7 @@ - - + @@ -134,193 +148,4 @@ - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - County - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - warngenlev - - - - - 1 - true - 8.0 - 5 - 5 - 10 - 8 - Name - AREA - - NAME --> - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.vm index 0864126461..1befba963d 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.vm @@ -2,10 +2,13 @@ ## SPS - SIGNIFICANT WEATHER ADVISORY ## ## WRITTEN BY: ## ## TOM BIRCHARD WFO HFO/EVAN BOOKBINDER WFO EAX ## -## VERSION 1.0 8-16-2011 ## -###################################################### +## Modified by: ## +## Phil Kurimski 16 Sep 2013 OB13.5.2-4 ## +## Evan Bookbinder Sep 18 2013 Implemented config.vm ## +################################################################### ## ##SET SOME INITIAL VARIABLES +#parse("config.vm") #if(${stormType} == "line") #set($report = "A LINE OF STRONG THUNDERSTORMS WERE REPORTED") #set($reportType1 = "LINE OF STRONG THUNDERSTORMS") @@ -15,11 +18,14 @@ #set($reportType1 = "STRONG THUNDERSTORM") #set($reportType2 = "THIS STORM WAS") #end +#set($windThreat = "") +#set($hailThreat = "") +#set($hailTrail = "") ############################################################# #### CREATE BASIS WORDING ################################### ############################################################# #if(${list.contains(${bullets}, "doppler")}) - #set($report = "NATIONAL WEATHER SERVICE DOPPLER RADAR WAS TRACKING A ${reportType1}") + #set($report = "DOPPLER RADAR WAS TRACKING A ${reportType1}") #set($reportAuthSVR = "CAPABLE OF PRODUCING") #end #if(${list.contains(${bullets}, "stormSpotters")}) @@ -57,10 +63,15 @@ #set($windTag = "40MPH") #end #if(${list.contains(${bullets}, "wind50")}) - #set($windThreat = "WINDS IN EXCESS OF 50 MPH") + #set($windThreat = "WIND GUSTS UP TO 50 MPH") #set($windSpeed = 50) #set($windTag = "50MPH") #end +#if(${list.contains(${bullets}, "wind55")}) + #set($windThreat = "WIND GUSTS OF 50 TO 55 MPH") + #set($windSpeed = 50) + #set($windTag = "55MPH") +#end ################################################### ## HANDLE HAIL POSSIBILITIES ###################### @@ -68,10 +79,15 @@ #set($hailSize = 0) #set($smallHail = "") #if(${list.contains(${bullets}, "peaHail")}) - #set($hailSize = 0.50) + #set($hailSize = 0.25) #set($hailThreat = "PEA SIZE") #set($hailTrail = " HAIL") #end +#if(${list.contains(${bullets}, "halfHail")}) + #set($hailSize = 0.50) + #set($hailThreat = "HALF INCH") + #set($hailTrail = " HAIL") +#end #if(${list.contains(${bullets}, "dimeHail")}) #set($hailSize = 0.75) #set($hailThreat = "DIME SIZE") @@ -103,11 +119,14 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #end ${ugcline} -#set($zoneList = "") #foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") +${area.name}## +#if(${includeStateAbbreviation}==true) + ${area.stateabbr}## #end -${zoneList} +-## +#end + ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") @@ -135,12 +154,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. ${smallHail} #else #if(${stormType} == "line") @@ -151,41 +171,21 @@ THIS IS A TEST MESSAGE. ## #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. ${smallHail} #end -#if(${list.contains(${bullets}, "peaHail")}) -#set($hail = "Hail up to the size of peas") -#elseif(${list.contains(${bullets}, "dimeHail")}) -#set($hail = "Hail up to the size of dimes") -#elseif(${list.contains(${bullets}, "nickelHail")}) -#set($hail = "Hail up to the size of nickels") -#else -#set($hail="") -#end -#if(${list.contains(${bullets}, "wind30")}) -#set($wind = "Wind gusts up to 30 mph") -#elseif(${list.contains(${bullets}, "wind40")}) -#set($wind = "Wind gusts up to 40 mph") -#elseif(${list.contains(${bullets}, "wind50")}) -#set($wind = "Wind gusts up to 50 mph") -#else -#set($wind="") -#end - - #if(${stormType} == "line") -#if(${hail} != "" && ${wind} != "") -${hail} AND ${wind} WILL BE POSSIBLE WITH THESE STORMS. -#elseif(${hail}=="" && ${wind}!="") -${wind} WILL BE POSSIBLE WITH THESE STORMS. -#elseif(${hail}!="" && ${wind}=="") -${hail} WILL BE POSSIBLE WITH THESE STORMS. +#if(${hailThreat} != "" && ${windThreat} != "") +${hailThreat}${hailTrail} AND ${windThreat} WILL BE POSSIBLE WITH THESE STORMS. +#elseif(${hailThreat}=="" && ${windThreat}!="") +${windThreat} WILL BE POSSIBLE WITH THESE STORMS. +#elseif(${hailThreat}!="" && ${windThreat}=="") +${hailThreat}${hailTrail} WILL BE POSSIBLE WITH THESE STORMS. #end #else -#if(${hail} != "" && ${wind} != "") -${hail} AND ${wind} WILL BE POSSIBLE WITH THIS STORM. -#elseif(${hail}=="" && ${wind}!="") -${wind} WILL BE POSSIBLE WITH THIS STORM. -#elseif(${hail}!="" && ${wind}=="") -${hail} WILL BE POSSIBLE WITH THIS STORM. +#if(${hailThreat} != "" && ${windThreat} != "") +${hailThreat}${hailTrail} AND ${windThreat} WILL BE POSSIBLE WITH THIS STORM. +#elseif(${hailThreat}=="" && ${windThreat}!="") +${windThreat} WILL BE POSSIBLE WITH THIS STORM. +#elseif(${hailThreat}!="" && ${windThreat}=="") +${hailThreat}${hailTrail} WILL BE POSSIBLE WITH THIS STORM. #end #end @@ -240,6 +240,8 @@ THIS IS A TEST MESSAGE. ## ## parse file command here is to pull in mile marker info ## #parse("mileMarkers.vm") +## Uncomment below pull in point marker info +## #parse("pointMarkers.vm") ################################## ######### CALLS TO ACTION ######## diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.xml index 6662cdb8ae..37298cbbca 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/significantWeatherAdvisory.xml @@ -5,9 +5,23 @@ 9-15-2011 Merge in OB11.8.0-8 Coding Changes, Zone Codes 9-12-2012 Added in new areaSource object and recode for new locations shapefile + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + mi mph @@ -17,6 +31,7 @@ that can be loaded with each template. --> Forecast Zones + County Names County Warning Areas @@ -69,8 +84,9 @@ - - + + + @@ -102,14 +118,14 @@ - - + + + - - + @@ -128,193 +144,4 @@ - - - - - - - - - - Zone - HATCHING - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - - COUNTY - INTERSECT - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - population - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - - - - - 1 - AREA - true - 8.0 - 5 - 5 - 4 - 8 - Name - - NAME - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.vm index 9a20d47fd5..c61278ce4c 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.vm @@ -1,21 +1,12 @@ ##################################################### ## SPECIAL MARINE WARNING TEMPLATE ## ## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- FEB 24 2011 OB11.2 ## -## VERSION AWIPS II 1.1 -- APR 13 2011 OB11.4 ## -## VERSION AWIPS II 1.2 -- JUL 14 2011 OB11.7 ## -## VERSION AWIPS II 1.3 -- SEP 23 2011 OB11.8 ## -## Added Volcano Information for version 1.3 ## -## VERSION AWIPS II 1.4 -- JAN 26 2012 OB12.1.1-1 ## -## Cleaned up wind coding for version 1.4 ## -## VERSION AWIPS II 1.5 -- MAR 2 2012 OB12.2.1-4 ## -## BY QINGLU LIN 8-14-2012 DR 14493 use TMLtime ## -## Phil Kurimski -- SEP 10 2012 OB12.9.1-12 ## +## RECENT HISTORY ## +## BY QINGLU LIN 8-14-2012 DR 14493 use TMLtime ## +## Phil Kurimski -- SEP 10 2012 OB12.9.1-12 ## +## Evan Bookbinder SEP 18 2013 Implemented config.vm ## ################################################################ -## Added Volcano Information in version 1.3 for sites where -## Volcanoes affect their marine zones. If sites wish to hide -## this information comment out the appropriate bullets in the -## xml file. +#parse("config.vm") ################################################ ## Set null variables used in the template ################################################ @@ -127,47 +118,57 @@ THIS IS A TEST MESSAGE. ## #set($eventType = "VOLCANO") #end ####################################################################### -## Added a Threat Section to template that includes Wind...Hail and Waterspout selections. +## Added a Threat Section to the template that includes Wind...Hail +## and Waterspout selections. ## Strong Thunderstorm will change to Severe Thunderstorm automatically based on ## selections in Wind...Hail and Waterspout sections. ####################################################################### #set($windTag = "<34") +#set($windCTA = "GUSTY WINDS") #if(${list.contains(${bullets}, "34ktWind")}) #set($windTag = ">34") #set($windType = "WINDS 34 KNOTS OR GREATER") + #set($windCTA = "WIND GUSTS 34 KNOTS OR GREATER") #end #if(${list.contains(${bullets}, "40ktWind")}) #set($windTag = "40") #set($windType = "WINDS TO 40 KNOTS") + #set($windCTA = "WIND GUSTS TO 40 KNOTS") #end #if(${list.contains(${bullets}, "40ktplusWind")}) #set($windTag = "40") #set($windType = "WINDS TO NEARLY 50 KNOTS") + #set($windCTA = "WIND GUSTS TO NEARLY 50 KNOTS") #end #if(${list.contains(${bullets}, "50ktWind")}) #set($windTag = "50") #set($windType = "DANGEROUS WINDS IN EXCESS OF 50 KNOTS") #set($severeType = "SEVERE") + #set($windCTA = "WIND GUSTS IN EXCESS OF 50 KNOTS") #end #if(${list.contains(${bullets}, "65ktWind")}) #set($windTag = "65") #set($windType = "DANGEROUS CAPSIZING WINDS IN EXCESS OF 65 KNOTS") #set($severeType = "SEVERE") + #set($windCTA = "WIND GUSTS IN EXCESS OF 65 KNOTS") #end #set($hailTag = "0.00") #if(${list.contains(${bullets}, "smallHail")}) #set($hailTag = "<.75") #set($hailType = "SMALL HAIL") + #set($hailCTA = "...${hailType}") #end #if(${list.contains(${bullets}, "largeHail")}) #set($hailTag = ">.75") #set($hailType = "LARGE HAIL") #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") #end #if(${list.contains(${bullets}, "destructiveHail")}) #set($hailTag = ">2.0") #set($hailType = "LARGE DESTRUCTIVE HAIL") #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") #end #if(${list.contains(${bullets}, "sightedSpout")}) #set($spoutType = "WATERSPOUTS") @@ -314,13 +315,13 @@ THIS IS A TEST MESSAGE. ## #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report}LOCATED ## #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) #end #if(${eventType} == "VOLCANO") . -#elseif($movementSpeed < 3 || ${stationary}) +#elseif(${movementSpeed} < ${marineStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. @@ -357,7 +358,7 @@ THIS IS A TEST MESSAGE. ## ############################################## #if(${list.contains(${bullets}, "specialEvent")}) -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. #end ##################### @@ -381,12 +382,31 @@ PRECAUTIONARY/PREPAREDNESS ACTIONS... ${ashfallCTA} #if(${list.contains(${bullets}, "genericCTA")}) -AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#end #end #if(${list.contains(${bullets}, "gustyWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end #end #if(${list.contains(${bullets}, "nonThunderstormCTA")}) MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.xml index bf5a1b3926..70f1df6d30 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarning.xml @@ -5,8 +5,23 @@ Added Volcano Information Phil Kurimski 23 Sept 2011 Phil Kurimski 1 Mar 2012 Evan Bookbinder 09-11-2012 Added settings for locations shapefile + Phil Kurimski 09-16-2013 Fixed multiple selections in pathcast + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + nmi kn @@ -110,12 +125,13 @@ Added Volcano Information Phil Kurimski 23 Sept 2011 - - + + - + + @@ -160,14 +176,14 @@ Added Volcano Information Phil Kurimski 23 Sept 2011 - - - - + + + - + + @@ -176,146 +192,4 @@ Added Volcano Information Phil Kurimski 23 Sept 2011 - - - MarineZones - 0 - AND - 0 - NAME - NAME - NAME - countyTypes.txt - ID - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - 1 - 100 - - - - - - - - - - distance - WARNGENLEV - - - - - NAME - AREA - POINTS - 5 - 100 - - - - - - - - - - distance - WARNGENLEV - - - - - - false - 1 - 10.0 - 5 - 5 - 4 - 8 - Name - AREA - Name - Name - Name - countyTypes.txt - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 20 - 20 - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 20 - - distance - - - - - - - - - - - - - WarnGenLoc - MarineZones - MarineZones - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.vm index 01dcd6d485..2d5d85cc88 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.vm @@ -1,22 +1,10 @@ -##################################################### -## SPECIAL MARINE WARNING FOLLOWUP ## -## CREATED BY PHIL KURIMSKI - WFO DTX ## -## VERSION AWIPS II 1.0 -- FEB 24 2011 OB11.2 ## -## VERSION AWIPS II 1.1 -- APR 14 2011 OB11.4 ## -## VERSION AWIPS II 1.2 -- JUL 14 2011 OB11.7 ## -## VERSION AWIPS II 1.3 -- SEP 22 2011 OB11.8 ## -## Added Volcano Information for version 1.3 ## -## VERSION AWIPS II 1.4 -- JAN 26 2012 OB12.1.1-1 ## -## Cleaned up wind coding for version 1.4 ## -## VERSION AWIPS II 1.5 -- MAR 2 2012 OB12.2.1-4 ## -## BY MGAMAZAYCHIKOV -- JUL 20 2012 DR15006 ## -## Phil Kurimski -- SEP 10 2012 OB12.9.1-12 ## -##################################################### -## Added Volcano Information in version 1.3 for sites where -## Volcanoes affect their marine zones. If sites wish to hide -## this information comment out the appropriate bullets in the -## xml file. -############################################ +################################################################### +## SPECIAL MARINE WARNING FOLLOWUP ## +## CREATED BY PHIL KURIMSKI - WFO DTX ## +## UPDATED Phil Kurimski -- SEP 17 2013 OB13.5.2-4 ## +## Evan Bookbinder -- SEP 18 2013 Implemented config.vm ## +################################################################### +#parse("config.vm") ## Set null variables used in the template ############################################ #set($capable = "") @@ -39,151 +27,10 @@ #end ################################################ ####################################################################### -## The following code will create a string of marine zone fips codes -## which will be important in combining marine zones -####################################################################### -####################################################################### -## Set the fipsstring variable to null for marine zone combinations -## This will only work for single CON/CAN/EXP products -## Combination CON/CAN will need additional code which will be -## included in the template below. -####################################################################### -#set($fipsstring = "") -#foreach (${area} in ${areas}) -#set($fipsstring = $fipsstring + $area.fips + "-") -#end -####################################################################### -## HEADER FOR NON-CAN/CON PRODUCTS -####################################################################### -## -#if(${action}=="COR" && ${cancelareas}) -#set($CORCAN = "true") -#else -#set($CORCAN = "false") -#end -#if(${action}!="CANCON" && ${CORCAN}!="true") -${WMOId} ${vtecOffice} 000000 ${BBBId} -MWS${siteId} - -#if(${productClass}=="T") -TEST...MARINE WEATHER STATEMENT...TEST -#else -MARINE 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}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end -#end -## -####################################################################### -## MWS CANCEL PRODUCT -####################################################################### -## Altered cancellation headline for cleaner wording and to match NWS Directive 10-314 -######################################################################## -#if(${action}=="CAN") -#if(${productClass}=="T") -THIS IS A TEST MESSAGE.## -#end -...THE ${warningType} IS CANCELLED... - -THE AFFECTED AREAS WERE... -####################################################################### -## Coding to use the raw marine zone output from the shapefiles -## Comment this section out if you are combining your marine zones -####################################################################### -#foreach (${area} in ${areas}) -${area.name}... -#end -####################################################################### -## End of code for raw marine zone output from the shapefiles -####################################################################### -####################################################################### -## Parse in the marineCombo.vm file which contains marine zone combinations -## Uncomment the parse command if you are combining your marine zones -####################################################################### -##parse("marineCombo.vm") -####################################################################### -## End of the marine zone combination script -####################################################################### - -###################################################################### -## Setup eventType for wording in the End of Warning Statement -###################################################################### -#set($stormline = " HAS") -#set($pose = "POSES") -#if(${stormType} == "line") - #set($stormline = "S HAVE") - #set($pose = "POSE") -#end -#set($eventType = "!**STORMS**! HAVE") -#if(${list.contains(${bullets}, "thunderstorm")}) - #set($eventType = "THUNDERSTORM${stormline}") -#end -#if(${list.contains(${bullets}, "shower")}) - #set($eventType = "SHOWER${stormline}") -#end -#if(${list.contains(${bullets}, "cloud")}) - #set($eventType = "CLOUD${stormline}") -#end -#if(${list.contains(${bullets}, "front")}) - #set($eventType = "FRONT HAS") - #set($pose = "POSES") -#end -#if(${list.contains(${bullets}, "volcano")}) - #set($eventType = "VOLCANO HAS") - #set($pose = "POSES") -#end -####################################################################### -## Section for end of warning statements. Replaced default wording with -## a better defined reason for the end to the warning. -####################################################################### -#set($canwarning = "THE ${eventType} !**WEAKENED/MOVED OUT OF THE AREA**! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") -#if(${list.contains(${bullets}, "weakenedWarnEnd")}) - #set($canwarning = "THE ${eventType} WEAKENED AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") -#end -#if(${list.contains(${bullets}, "movedWarnEnd")}) - #set($canwarning = "THE ${eventType} MOVED OUT OF THE AREA AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") -#end -#if(${list.contains(${bullets}, "volcano")}) - #set($canwarning = "THE ${eventType} STOPPED ERUPTING AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") -#end - -${canwarning} - -############# -## WATCHES ## -############# -#if(${list.contains(${includedWatches}, "torWatches")}) -#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) -#end -#if(${list.contains(${includedWatches}, "svrWatches")}) -#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) -#end -#end -## -####################################################################### -## MWS CON PRODUCT -####################################################################### -## -####################################################################### ## List of Event Types. Added several events such as Shower...Cloud and Front. ## Removed Strong and Severe Thunderstorm selections and placed logic in the ## wind and hail selections that will change wording for Severe Thunderstorms. ####################################################################### -#if(${action}=="CON" || (${action}=="COR" && ${CORCAN}=="false")) #set($eventType = "THUNDERSTORM") #if(${list.contains(${bullets}, "thunderstorm")}) #set($eventType = "THUNDERSTORM") @@ -202,47 +49,57 @@ ${canwarning} #set($eventType = "VOLCANO") #end ####################################################################### -## Added a Threat Section to template that includes Wind...Hail and Waterspout selections. +## Added a Threat Section to the template that includes Wind...Hail +## and Waterspout selections. ## Strong Thunderstorm will change to Severe Thunderstorm automatically based on ## selections in Wind...Hail and Waterspout sections. ####################################################################### #set($windTag = "<34") +#set($windCTA = "GUSTY WINDS") #if(${list.contains(${bullets}, "34ktWind")}) #set($windTag = ">34") #set($windType = "WINDS 34 KNOTS OR GREATER") + #set($windCTA = "WIND GUSTS 34 KNOTS OR GREATER") #end #if(${list.contains(${bullets}, "40ktWind")}) #set($windTag = "40") #set($windType = "WINDS TO 40 KNOTS") + #set($windCTA = "WIND GUSTS TO 40 KNOTS") #end #if(${list.contains(${bullets}, "40ktplusWind")}) #set($windTag = "40") #set($windType = "WINDS TO NEARLY 50 KNOTS") + #set($windCTA = "WIND GUSTS TO NEARLY 50 KNOTS") #end #if(${list.contains(${bullets}, "50ktWind")}) #set($windTag = "50") #set($windType = "DANGEROUS WINDS IN EXCESS OF 50 KNOTS") #set($severeType = "SEVERE") + #set($windCTA = "WIND GUSTS IN EXCESS OF 50 KNOTS") #end #if(${list.contains(${bullets}, "65ktWind")}) #set($windTag = "65") #set($windType = "DANGEROUS CAPSIZING WINDS IN EXCESS OF 65 KNOTS") #set($severeType = "SEVERE") + #set($windCTA = "WIND GUSTS IN EXCESS OF 65 KNOTS") #end #set($hailTag = "0.00") #if(${list.contains(${bullets}, "smallHail")}) #set($hailTag = "<.75") #set($hailType = "SMALL HAIL") + #set($hailCTA = "...${hailType}") #end #if(${list.contains(${bullets}, "largeHail")}) #set($hailTag = ">.75") #set($hailType = "LARGE HAIL") #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") #end #if(${list.contains(${bullets}, "destructiveHail")}) #set($hailTag = ">2.0") #set($hailType = "LARGE DESTRUCTIVE HAIL") #set($severeType = "SEVERE") + #set($hailCTA = "...${hailType}") #end #if(${list.contains(${bullets}, "sightedSpout")}) #set($spoutType = "WATERSPOUTS") @@ -380,6 +237,147 @@ ${canwarning} #if(${list.contains(${bullets}, "satellite")} && ${list.contains(${bullets}, "sightedSpout")}) #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...PRODUCING ${threat}...") #end +####################################################################### +## The following code will create a string of marine zone fips codes +## which will be important in combining marine zones +####################################################################### +####################################################################### +## Set the fipsstring variable to null for marine zone combinations +## This will only work for single CON/CAN/EXP products +## Combination CON/CAN will need additional code which will be +## included in the template below. +####################################################################### +#set($fipsstring = "") +#foreach (${area} in ${areas}) +#set($fipsstring = $fipsstring + $area.fips + "-") +#end +####################################################################### +## HEADER FOR NON-CAN/CON PRODUCTS +####################################################################### +## +#if(${action}=="COR" && ${cancelareas}) +#set($CORCAN = "true") +#else +#set($CORCAN = "false") +#end +#if(${action}!="CANCON" && ${CORCAN}!="true") +${WMOId} ${vtecOffice} 000000 ${BBBId} +MWS${siteId} + +#if(${productClass}=="T") +TEST...MARINE WEATHER STATEMENT...TEST +#else +MARINE 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}.MA.W.${oldvtec}.000000T0000Z-${dateUtil.format(${expire}, ${timeFormat.ymdthmz}, 15)}/ +${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} + +#if(${productClass}=="T") +...THIS MESSAGE IS FOR TEST PURPOSES ONLY... + +#end +#end +## +####################################################################### +## MWS CANCEL PRODUCT +####################################################################### +## Altered cancellation headline for cleaner wording and to match NWS Directive 10-314 +######################################################################## +#if(${action}=="CAN") +#if(${productClass}=="T") +THIS IS A TEST MESSAGE.## +#end +...THE ${warningType} IS CANCELLED... + +THE AFFECTED AREAS WERE... +####################################################################### +## Coding to use the raw marine zone output from the shapefiles +## Comment this section out if you are combining your marine zones +####################################################################### +#foreach (${area} in ${areas}) +${area.name}... +#end +####################################################################### +## End of code for raw marine zone output from the shapefiles +####################################################################### +####################################################################### +## Parse in the marineCombo.vm file which contains marine zone combinations +## Uncomment the parse command if you are combining your marine zones +####################################################################### +##parse("marineCombo.vm") +####################################################################### +## End of the marine zone combination script +####################################################################### + +###################################################################### +## Setup eventType for wording in the End of Warning Statement +###################################################################### +#set($stormline = " HAS") +#set($pose = "POSES") +#if(${stormType} == "line") + #set($stormline = "S HAVE") + #set($pose = "POSE") +#end +#set($eventType = "!**STORMS**! HAVE") +#if(${list.contains(${bullets}, "thunderstorm")}) + #set($eventType = "THUNDERSTORM${stormline}") +#end +#if(${list.contains(${bullets}, "shower")}) + #set($eventType = "SHOWER${stormline}") +#end +#if(${list.contains(${bullets}, "cloud")}) + #set($eventType = "CLOUD${stormline}") +#end +#if(${list.contains(${bullets}, "front")}) + #set($eventType = "FRONT HAS") + #set($pose = "POSES") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($eventType = "VOLCANO HAS") + #set($pose = "POSES") +#end +####################################################################### +## Section for end of warning statements. Replaced default wording with +## a better defined reason for the end to the warning. +####################################################################### +#set($canwarning = "THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#if(${list.contains(${bullets}, "weakenedWarnEnd")}) + #set($canwarning = "THE ${eventType} WEAKENED AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end +#if(${list.contains(${bullets}, "movedWarnEnd")}) + #set($canwarning = "THE ${eventType} MOVED OUT OF THE AREA AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end +#if(${list.contains(${bullets}, "volcano")}) + #set($canwarning = "THE ${eventType} STOPPED ERUPTING AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#end + +${canwarning} + +############# +## WATCHES ## +############# +#if(${list.contains(${includedWatches}, "torWatches")}) +#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#if(${list.contains(${includedWatches}, "svrWatches")}) +#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) +#end +#end +## +####################################################################### +## MWS CON PRODUCT +####################################################################### +## +#if(${action}=="CON" || (${action}=="COR" && ${CORCAN}=="false")) #if(${productClass}=="T") THIS IS A TEST MESSAGE.## #end @@ -414,14 +412,15 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone}) ...${report}LOCATED ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) #end #if(${eventType} == "VOLCANO") . -#elseif($movementSpeed < 3 || ${stationary}) +#elseif(${movementSpeed} < ${marineStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. @@ -457,7 +456,7 @@ THIS IS A TEST MESSAGE. ## #### 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("${impacted}" "THE ${eventType}" 0 ${locationList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) +#locationsList("${impacted}" "${eventType}" 0 ${locationList} ${otherPoints} ${areas} ${dateUtil} ${timeFormat} 1) #end ############################################## @@ -465,7 +464,7 @@ THIS IS A TEST MESSAGE. ## ############################################## #if(${list.contains(${bullets}, "specialEvent")}) -EVERYONE AT !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. +THOSE ATTENDING !**event/venue name or location**! ARE IN THE PATH OF ${specialEvent} AND SHOULD PREPARE FOR IMMINENT DANGEROUS WEATHER CONDITIONS. SEEK SHELTER NOW. #end ##################### @@ -490,12 +489,31 @@ PRECAUTIONARY/PREPAREDNESS ACTIONS... ${ashfallCTA} #if(${list.contains(${bullets}, "genericCTA")}) -AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#end #end #if(${list.contains(${bullets}, "gustyWindsCTA")}) -MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end #end #if(${list.contains(${bullets}, "nonThunderstormCTA")}) MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. @@ -621,7 +639,7 @@ ${area.name}... ## Replaced default end of warning wording. ####################################################################### -THE ${eventType} !**WEAKENED/MOVED OUT OF THE AREA**! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS. +THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS. ############# ## WATCHES ## @@ -650,192 +668,6 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") ...THIS MESSAGE IS FOR TEST PURPOSES ONLY... -#end -####################################################################### -## List of Event Types. Added several events such as Shower...Cloud and Front. -## Removed Strong and Severe Thunderstorm selections and placed logic in the -## wind and hail selections that will change wording for Severe Thunderstorms. -####################################################################### -#set($eventType = "THUNDERSTORM") -#if(${list.contains(${bullets}, "thunderstorm")}) - #set($eventType = "THUNDERSTORM") - #set($severeType = "STRONG") -#end -#if(${list.contains(${bullets}, "shower")}) - #set($eventType = "SHOWER") -#end -#if(${list.contains(${bullets}, "cloud")}) - #set($eventType = "CLOUD") -#end -#if(${list.contains(${bullets}, "front")}) - #set($eventType = "FRONT") -#end -#if(${list.contains(${bullets}, "volcano")}) - #set($eventType = "VOLCANO") -#end -####################################################################### -## Added a Threat Section to template that includes Wind...Hail and Waterspout selections. -## Strong Thunderstorm will change to Severe Thunderstorm automatically based on -## selections in Wind...Hail and Waterspout sections. -####################################################################### -#set($windTag = "<34") -#if(${list.contains(${bullets}, "34ktWind")}) - #set($windTag = ">34") - #set($windType = "STRONG WINDS 34 KNOTS OR GREATER") -#end -#if(${list.contains(${bullets}, "40ktWind")}) - #set($windTag = "40") - #set($windType = "STRONG WINDS TO 40 KNOTS") -#end -#if(${list.contains(${bullets}, "40ktplusWind")}) - #set($windTag = "40") - #set($windType = "STRONG WINDS TO NEARLY 50 KNOTS") -#end -#if(${list.contains(${bullets}, "50ktWind")}) - #set($windTag = "50") - #set($windType = "DANGEROUS WINDS IN EXCESS OF 50 KNOTS") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "65ktWind")}) - #set($windTag = "65") - #set($windType = "DANGEROUS CAPSIZING WINDS IN EXCESS OF 65 KNOTS") - #set($severeType = "SEVERE") -#end -#set($hailTag = "0.00") -#if(${list.contains(${bullets}, "smallHail")}) - #set($hailTag = "<.75") - #set($hailType = "SMALL HAIL") -#end -#if(${list.contains(${bullets}, "largeHail")}) - #set($hailTag = ">.75") - #set($hailType = "LARGE HAIL") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "destructiveHail")}) - #set($hailTag = ">2.0") - #set($hailType = "LARGE DESTRUCTIVE HAIL") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "sightedSpout")}) - #set($spoutType = "WATERSPOUTS") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "possibleSpout")}) - #set($spoutType = "WATERSPOUTS") - #set($capable = "CAPABLE OF ") -#end -################################################ -## Threat section for Volcanic Situations -################################################ -#if(${list.contains(${bullets}, "ashfall")}) - #set($ashfallType = "ASHFALL") - #set($ashfallPath = "VOLCANIC ASH") - #set($ctaSelected = "YES") - #set($ashfallCTA = "ASH IS AN EYE AND RESPIRATORY IRRITANT AND IS ABRASIVE. THOSE WITH RESPIRATORY SENSITIVITIES SHOULD TAKE EXTRA PRECAUTIONS TO MINIMIZE EXPOSURE. PROTECT ELECTRONICS AND COVER AIR INTAKES IF ASHFALL IS EXPECTED OR CONFIRMED. REMOVE ASH FROM SURFACES WITH WATER IF POSSIBLE TO PREVENT EXCESSIVE ACCUMULATION.") - #set($ashfallInfo = "AN ASHFALL WARNING MEANS THAT THE VOLCANO IS UNDERGOING A MAJOR ERUPTION. IT IS VERY LIKELY THAT MARINERS WILL BE AFFECTED BY VOLCANIC HAZARDS IN THE WARNING AREAS SUCH AS SIGNIFICANT DEBRIS...ASHFALL ONE QUARTER INCH OR GREATER...LAVA...OR LAHAR AND DEBRIS FLOWS.") -#end -#if(${list.contains(${bullets}, "debrisFlow")}) - #set($debrisflowType = "DEBRIS FLOW") - #set($debrisflowPath = "DEBRIS FLOW") - #set($debrisflowInfo = "THE ERUPTION OF THE VOLCANO CAN CAUSE A SUDDEN MELTING OF SNOW AND ICE ON THE MOUNTAIN. THIS WILL RESULT IN A TORRENT OF MUD...ASH...ROCK...AND HOT WATER TO FLOW DOWN THE MOUNTAIN AND INTO THE NEARBY WATERS.") -#end -####################################################################### -## Logic to create the Wind/Hail Tags used by CR. -####################################################################### -#set($windhailTag = "WIND...HAIL ${windTag}KTS ${hailTag}IN") -####################################################################### -## Logic to put together the threats based on Wind...Hail and Waterspout sections. -####################################################################### -#if(${spoutType} && ${windType} && ${hailType}) - #set($threat = "${spoutType}...${windType} AND ${hailType}") -#elseif(${spoutType} && ${hailType}) - #set($threat = "${spoutType} AND ${hailType}") -#elseif(${spoutType} && ${windType}) - #set($threat = "${spoutType} AND ${windType}") -#elseif(${windType} && ${hailType}) - #set($threat = "${windType} AND ${hailType}") -#elseif(${spoutType}) - #set($threat = "${spoutType}") -#elseif(${windType}) - #set($threat = "${windType}") -#elseif(${hailType}) - #set($threat = "${hailType}") -#else - #set($threat = "!**YOU DID NOT SELECT ANY THREATS. PLEAST RE-GENERATE THIS WARNING!**!") -#end -####################################################################### -## Logic for Volcanic Threats. If selected this will override any -## other selections for wind/hail/spouts. -####################################################################### -#if(${ashfallType} && ${debrisflowType}) - #set($threat = "${ashfallType} AND ${debrisflowType}") - #set($volcanoPath = "${ashfallPath} AND ${debrisflowPath}") -#elseif(${ashfallType}) - #set($threat = "${ashfallType}") - #set($volcanoPath = "${ashfallPath}") -#elseif(${debrisflowType}) - #set($threat = "${debrisflowType}") - #set($volcanoPath = "${debrisflowPath}") -#else -#end -####################################################################### -## Section to determine Thunderstorm Severity based on Threat Selections. -####################################################################### -#if(${eventType} == "THUNDERSTORM") - #set($thunderstormType = "${severeType} ${eventType}") - #set($eventType = "${thunderstormType}") -#end -####################################################################### -## Section to create line wording based on track type. -####################################################################### -#set($stormline = "A ${eventType}") -#set($pathheader = "${eventType}") -#if(${stormType} == "line") - #set($stormline = "A LINE OF ${eventType}S") - #set($pathheader = "${eventType}S") -#end -####################################################################### -##Corrective coding to prevent the use of "Line of Fronts" in the Product. -####################################################################### -#if(${eventType} == "FRONT") - #set($stormline = "A ${eventType}") - #set($pathheader = "${eventType}") -## #set($stormType = "") -#end -####################################################################### -## Coding for volcanos...this will override all other selections. -####################################################################### -#set($impacted = "LOCATIONS IMPACTED INCLUDE...") -#if(${eventType} == "VOLCANO") - #set($stormline = "!** NAME OF VOLCANO**! ${eventType}") - #set($pathheader = "THE ${volcanoPath}") -## #set($stormType = "") - #set($impacted = "LOCATIONS IMPACTED BY ${volcanoPath} INCLUDE...") -#end -####################################################################### -## Basis section that incorporates line phenomena...capable vs producing -## and threat based on selections above. Added Satellite Imagery to basis. -####################################################################### -#set($report = "!** YOU DIDN'T SELECT A REPORTER **! ${eventType}") -#if(${list.contains(${bullets}, "doppler")}) - #set($capable = "CAPABLE OF ") - #set($report = "NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "marineSpotter")}) - #set($report = "MARINE WEATHER SPOTTERS REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "mariner")}) - #set($report = "A MARINER REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "pilot")}) - #set($report = "A PILOT REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($capable = "CAPABLE OF ") - #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...${capable}PRODUCING ${threat}...") #end #if(${productClass}=="T") THIS IS A TEST MESSAGE.## @@ -879,15 +711,16 @@ ${area.name}... #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## #end -AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}... ${report} LOCATED ## +AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${report}LOCATED ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) #end #if(${eventType} == "VOLCANO") . -#elseif($movementSpeed < 3 || ${stationary}) +#elseif(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. @@ -962,12 +795,31 @@ PRECAUTIONARY/PREPAREDNESS ACTIONS... ${ashfallCTA} #if(${list.contains(${bullets}, "genericCTA")}) -AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WIND AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#end #end #if(${list.contains(${bullets}, "gustyWindsCTA")}) -MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end #end #if(${list.contains(${bullets}, "nonThunderstormCTA")}) MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. @@ -1058,7 +910,7 @@ ${area.name}... ## Replaced default end of warning wording. ####################################################################### -THE ${eventType} !**WEAKENED/MOVED OUT OF THE AREA**! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS. +THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS. ############# ## WATCHES ## @@ -1087,192 +939,6 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") ...THIS MESSAGE IS FOR TEST PURPOSES ONLY... -#end -####################################################################### -## List of Event Types. Added several events such as Shower...Cloud and Front. -## Removed Strong and Severe Thunderstorm selections and placed logic in the -## wind and hail selections that will change wording for Severe Thunderstorms. -####################################################################### -#set($eventType = "THUNDERSTORM") -#if(${list.contains(${bullets}, "thunderstorm")}) - #set($eventType = "THUNDERSTORM") - #set($severeType = "STRONG") -#end -#if(${list.contains(${bullets}, "shower")}) - #set($eventType = "SHOWER") -#end -#if(${list.contains(${bullets}, "cloud")}) - #set($eventType = "CLOUD") -#end -#if(${list.contains(${bullets}, "front")}) - #set($eventType = "FRONT") -#end -#if(${list.contains(${bullets}, "volcano")}) - #set($eventType = "VOLCANO") -#end -####################################################################### -## Added a Threat Section to template that includes Wind...Hail and Waterspout selections. -## Strong Thunderstorm will change to Severe Thunderstorm automatically based on -## selections in Wind...Hail and Waterspout sections. -####################################################################### -#set($windTag = "<34") -#if(${list.contains(${bullets}, "34ktWind")}) - #set($windTag = ">34") - #set($windType = "STRONG WINDS 34 KNOTS OR GREATER") -#end -#if(${list.contains(${bullets}, "40ktWind")}) - #set($windTag = "40") - #set($windType = "STRONG WINDS TO 40 KNOTS") -#end -#if(${list.contains(${bullets}, "40ktplusWind")}) - #set($windTag = "40") - #set($windType = "STRONG WINDS TO NEARLY 50 KNOTS") -#end -#if(${list.contains(${bullets}, "50ktWind")}) - #set($windTag = "50") - #set($windType = "DANGEROUS WINDS IN EXCESS OF 50 KNOTS") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "65ktWind")}) - #set($windTag = "65") - #set($windType = "DANGEROUS CAPSIZING WINDS IN EXCESS OF 65 KNOTS") - #set($severeType = "SEVERE") -#end -#set($hailTag = "0.00") -#if(${list.contains(${bullets}, "smallHail")}) - #set($hailTag = "<.75") - #set($hailType = "SMALL HAIL") -#end -#if(${list.contains(${bullets}, "largeHail")}) - #set($hailTag = ">.75") - #set($hailType = "LARGE HAIL") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "destructiveHail")}) - #set($hailTag = ">2.0") - #set($hailType = "LARGE DESTRUCTIVE HAIL") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "sightedSpout")}) - #set($spoutType = "WATERSPOUTS") - #set($severeType = "SEVERE") -#end -#if(${list.contains(${bullets}, "possibleSpout")}) - #set($spoutType = "WATERSPOUTS") - #set($capable = "CAPABLE OF ") -#end -################################################ -## Threat section for Volcanic Situations -################################################ -#if(${list.contains(${bullets}, "ashfall")}) - #set($ashfallType = "ASHFALL") - #set($ashfallPath = "VOLCANIC ASH") - #set($ctaSelected = "YES") - #set($ashfallCTA = "ASH IS AN EYE AND RESPIRATORY IRRITANT AND IS ABRASIVE. THOSE WITH RESPIRATORY SENSITIVITIES SHOULD TAKE EXTRA PRECAUTIONS TO MINIMIZE EXPOSURE. PROTECT ELECTRONICS AND COVER AIR INTAKES IF ASHFALL IS EXPECTED OR CONFIRMED. REMOVE ASH FROM SURFACES WITH WATER IF POSSIBLE TO PREVENT EXCESSIVE ACCUMULATION.") - #set($ashfallInfo = "AN ASHFALL WARNING MEANS THAT THE VOLCANO IS UNDERGOING A MAJOR ERUPTION. IT IS VERY LIKELY THAT MARINERS WILL BE AFFECTED BY VOLCANIC HAZARDS IN THE WARNING AREAS SUCH AS SIGNIFICANT DEBRIS...ASHFALL ONE QUARTER INCH OR GREATER...LAVA...OR LAHAR AND DEBRIS FLOWS.") -#end -#if(${list.contains(${bullets}, "debrisFlow")}) - #set($debrisflowType = "DEBRIS FLOW") - #set($debrisflowPath = "DEBRIS FLOW") - #set($debrisflowInfo = "THE ERUPTION OF THE VOLCANO CAN CAUSE A SUDDEN MELTING OF SNOW AND ICE ON THE MOUNTAIN. THIS WILL RESULT IN A TORRENT OF MUD...ASH...ROCK...AND HOT WATER TO FLOW DOWN THE MOUNTAIN AND INTO THE NEARBY WATERS.") -#end -####################################################################### -## Logic to create the Wind/Hail Tags used by CR. -####################################################################### -#set($windhailTag = "WIND...HAIL ${windTag}KTS ${hailTag}IN") -####################################################################### -## Logic to put together the threats based on Wind...Hail and Waterspout sections. -####################################################################### -#if(${spoutType} && ${windType} && ${hailType}) - #set($threat = "${spoutType}...${windType} AND ${hailType}") -#elseif(${spoutType} && ${hailType}) - #set($threat = "${spoutType} AND ${hailType}") -#elseif(${spoutType} && ${windType}) - #set($threat = "${spoutType} AND ${windType}") -#elseif(${windType} && ${hailType}) - #set($threat = "${windType} AND ${hailType}") -#elseif(${spoutType}) - #set($threat = "${spoutType}") -#elseif(${windType}) - #set($threat = "${windType}") -#elseif(${hailType}) - #set($threat = "${hailType}") -#else - #set($threat = "!**YOU DID NOT SELECT ANY THREATS. PLEAST RE-GENERATE THIS WARNING!**!") -#end -####################################################################### -## Logic for Volcanic Threats. If selected this will override any -## other selections for wind/hail/spouts. -####################################################################### -#if(${ashfallType} && ${debrisflowType}) - #set($threat = "${ashfallType} AND ${debrisflowType}") - #set($volcanoPath = "${ashfallPath} AND ${debrisflowPath}") -#elseif(${ashfallType}) - #set($threat = "${ashfallType}") - #set($volcanoPath = "${ashfallPath}") -#elseif(${debrisflowType}) - #set($threat = "${debrisflowType}") - #set($volcanoPath = "${debrisflowPath}") -#else -#end -####################################################################### -## Section to determine Thunderstorm Severity based on Threat Selections. -####################################################################### -#if(${eventType} == "THUNDERSTORM") - #set($thunderstormType = "${severeType} ${eventType}") - #set($eventType = "${thunderstormType}") -#end -####################################################################### -## Section to create line wording based on track type. -####################################################################### -#set($stormline = "A ${eventType}") -#set($pathheader = "${eventType}") -#if(${stormType} == "line") - #set($stormline = "A LINE OF ${eventType}S") - #set($pathheader = "${eventType}S") -#end -####################################################################### -##Corrective coding to prevent the use of "Line of Fronts" in the Product. -####################################################################### -#if(${eventType} == "FRONT") - #set($stormline = "A ${eventType}") - #set($pathheader = "${eventType}") -## #set($stormType = "") -#end -####################################################################### -## Coding for volcanos...this will override all other selections. -####################################################################### -#set($impacted = "LOCATIONS IMPACTED INCLUDE...") -#if(${eventType} == "VOLCANO") - #set($stormline = "!** NAME OF VOLCANO**! ${eventType}") - #set($pathheader = "THE ${volcanoPath}") -## #set($stormType = "") - #set($impacted = "LOCATIONS IMPACTED BY ${volcanoPath} INCLUDE...") -#end -####################################################################### -## Basis section that incorporates line phenomena...capable vs producing -## and threat based on selections above. Added Satellite Imagery to basis. -####################################################################### -#set($report = "!** YOU DIDN'T SELECT A REPORTER **! ${eventType}") -#if(${list.contains(${bullets}, "doppler")}) - #set($capable = "CAPABLE OF ") - #set($report = "NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "marineSpotter")}) - #set($report = "MARINE WEATHER SPOTTERS REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "mariner")}) - #set($report = "A MARINER REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "public")}) - #set($report = "THE PUBLIC REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "pilot")}) - #set($report = "A PILOT REPORTED ${stormline}...${capable}PRODUCING ${threat}...") -#end -#if(${list.contains(${bullets}, "satellite")}) - #set($capable = "CAPABLE OF ") - #set($report = "SATELLITE IMAGERY INDICATED ${stormline}...${capable}PRODUCING ${threat}...") #end #if(${productClass}=="T") THIS IS A TEST MESSAGE.## @@ -1304,15 +970,16 @@ ${area.name}... #if(${productClass}=="T") THIS IS A TEST MESSAGE. ## #end -AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}... ${report} LOCATED ## +AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${report} LOCATED ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "NM", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxMarineNearDistance}, ${overPhrase}, ${maxMarineOverDistance}, ${marineDistanceUnits}, ${useSecondReferenceCell}) #end #if(${eventType} == "VOLCANO") . -#elseif($movementSpeed < 3 || ${stationary}) +#elseif(${movementSpeed} < ${landStationary} || ${stationary}) . ${reportType2} NEARLY STATIONARY. #else ...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} KNOTS. @@ -1387,12 +1054,31 @@ PRECAUTIONARY/PREPAREDNESS ACTIONS... ${ashfallCTA} #if(${list.contains(${bullets}, "genericCTA")}) -AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WIND AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#if(${stormType} == "line") +AS THUNDERSTORMS MOVE OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THESE STORMS PASS. + +#else +AS THIS THUNDERSTORM MOVES OVER THE WATER...BOATERS CAN EXPECT GUSTY WINDS AND HIGH WAVES. MOVE TO SAFE HARBOR OR STAY CLOSE TO SHORE UNTIL THE STORM PASSES. +#end #end #if(${list.contains(${bullets}, "gustyWindsCTA")}) -MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. +#if(${stormType} == "line") +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. +#else +MARINERS CAN EXPECT GUSTY WINDS...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end +#end +#if(${list.contains(${bullets}, "hailWindsCTA")}) +#if(${stormType} == "line") +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THESE STORMS PASS. + +#else +MARINERS CAN EXPECT ${windCTA}${hailCTA}...HIGH WAVES...DANGEROUS LIGHTNING...AND HEAVY RAINS. BOATERS SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THIS STORM PASSES. + +#end #end #if(${list.contains(${bullets}, "nonThunderstormCTA")}) MARINERS CAN EXPECT GUSTY WINDS...AND INCREASING WAVES. BOATERS...ESPECIALLY THOSE UNDER SAIL...SHOULD SEEK SAFE HARBOR IMMEDIATELY...UNTIL THE HIGH WINDS SUBSIDE. @@ -1477,7 +1163,7 @@ ${area.name}... ## Section for end of warning statements. Replaced default wording with ## a better defined reason for the end to the warning. ####################################################################### -#set($expwarning = "THE ${eventType} !**WEAKENED/MOVED OUT OF THE AREA**! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") +#set($expwarning = "THE ${eventType} !** WEAKENED / MOVED OUT OF THE WARNED AREA **! AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") #if(${list.contains(${bullets}, "weakenedWarnEnd")}) #set($expwarning = "THE ${eventType} WEAKENED AND NO LONGER ${pose} A SIGNIFICANT THREAT TO BOATERS.") #end diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.xml index 6833a65313..5eac690e76 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialMarineWarningFollowup.xml @@ -5,9 +5,24 @@ Phil Kurimski 23 Sept 2011 Added Volcano Information Phil Kurimski 1 Mar 2012 Evan Bookbinder 09-11-2012 Added settings for locations shapefile - Added new areaSource variable + Added new areaSource variable + Phil Kurimski 09-16-2013 Fixed multiple selections in pathcast + Phil Kurimski 09-19-2013 added geospatialConfig.xml --> + + + + + + + + + nmi kn @@ -150,14 +165,14 @@ - - + - + - + + @@ -203,14 +218,14 @@ - - + - + - + + @@ -219,146 +234,4 @@ - - - MarineZones - 0 - AND - 0 - NAME - NAME - NAME - countyTypes.txt - ID - NAME - - parent - - - - - - - 25 - - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - WARNGENLEV - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - WARNGENLEV - - - - - - false - 1 - 10.0 - 5 - 5 - 4 - 8 - Name - AREA - Name - Name - Name - countyTypes.txt - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 20 - 20 - - - - - - - - - - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 20 - - distance - - - - - - - - - - - - - WarnGenLoc - MarineZones - MarineZones - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.vm index b8e0e22155..f5502da633 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.vm @@ -1,11 +1,14 @@ -######################################################### -## SPS - SPECIAL WEATHER STATEMENT for various THREATS ## -## WRITTEN BY: ## -## Mike Dangelo WFO CTP 1.25.2013 (BUILD 12.12.1-12) ## -## Phil Kurimski WFO DTX 2.05.2013 (BUILD 13.2.1-5) ## -######################################################### +############################################################ +## SPS - SPECIAL WEATHER STATEMENT for various THREATS ## +## WRITTEN BY: ## +## Mike Dangelo WFO CTP 1.25.2013 (BUILD 12.12.1-12) ## +## Phil Kurimski WFO DTX 2.05.2013 (BUILD 13.2.1-5) ## +## Phil Kurimski WFO DTX 9.16.2013 (BUILD 13.5.2-4) ## +## Evan Bookbinder 9.18.2013 Implemented config.vm ## +############################################################ ## ## SET SOME INITIAL VARIABLES +#parse("config.vm") #set($SvsR = "RAIN") #foreach ($bullet in $bullets) #if($bullet.startsWith("snow")) @@ -110,43 +113,48 @@ ## HANDLE WIND POSSIBILITIES ###################### ################################################### #set($windSpeed = 0) -#if(${list.contains($bullets, "wind30")}) - #set($windThreat = "WIND GUSTS UP TO 30 MPH") +#if(${list.contains(${bullets}, "wind30")}) + #set($windThreat = "WINDS IN EXCESS OF 30 MPH") #set($windSpeed = 30) #set($windTag = "30MPH") #end -#if(${list.contains($bullets, "wind40")}) - #set($windThreat = "WINDS GUSTS UP TO 40 MPH") +#if(${list.contains(${bullets}, "wind40")}) + #set($windThreat = "WINDS IN EXCESS OF 40 MPH") #set($windSpeed = 40) #set($windTag = "40MPH") #end -#if(${list.contains($bullets, "wind50")}) - #set($windThreat = "WINDS GUSTS UP TO 50 MPH") +#if(${list.contains(${bullets}, "wind50")}) + #set($windThreat = "WIND GUSTS UP TO 50 MPH") #set($windSpeed = 50) #set($windTag = "50MPH") #end +#if(${list.contains(${bullets}, "wind55")}) + #set($windThreat = "WIND GUSTS OF 50 TO 55 MPH") + #set($windSpeed = 50) + #set($windTag = "55MPH") +#end ################################################### ## HANDLE HAIL POSSIBILITIES ###################### ################################################### #set($hailSize = 0) #set($smallHail = "") -#if(${list.contains($bullets, "smallHail")}) +#if(${list.contains(${bullets}, "peaHail")}) #set($hailSize = 0.25) - #set($hailThreat = "SMALL") - #set($hailTrail = " HAIL") -#end -#if(${list.contains($bullets, "peaHail")}) - #set($hailSize = 0.50) #set($hailThreat = "PEA SIZE") #set($hailTrail = " HAIL") #end -#if(${list.contains($bullets, "dimeHail")}) +#if(${list.contains(${bullets}, "halfHail")}) + #set($hailSize = 0.50) + #set($hailThreat = "HALF INCH") + #set($hailTrail = " HAIL") +#end +#if(${list.contains(${bullets}, "dimeHail")}) #set($hailSize = 0.75) #set($hailThreat = "DIME SIZE") #set($hailTrail = " HAIL") #end -#if(${list.contains($bullets, "nickelHail")}) +#if(${list.contains(${bullets}, "nickelHail")}) #set($hailSize = 0.88) #set($hailThreat = "NICKEL SIZE") #set($hailTrail = " HAIL") @@ -172,11 +180,14 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #end ${ugcline} -#set($zoneList = "") #foreach (${area} in ${areas}) -#set($zoneList = "${zoneList}${area.name}-") +${area.name}## +#if(${sAbbreviation}==true) + ${area.stateabbr}## #end -${zoneList} +-## +#end + ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #if(${productClass}=="T") @@ -201,12 +212,13 @@ THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...## ${describeMovement} WAS ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if($movementSpeed < 5 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) . ${eventWas} NEARLY STATIONARY. #else #if(${stormType} == "line") @@ -340,6 +352,7 @@ THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. #tml(${TMLtime}, ${timeFormat}, ${movementDirection}, ${movementInKnots}, ${eventLocation}) + $$ diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.xml index a52346b802..7e3165ac1b 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/specialWeatherStatement.xml @@ -1,9 +1,23 @@ + + + + + + + + + mi mph @@ -13,6 +27,7 @@ that can be loaded with each template. --> Forecast Zones + County Names County Warning Areas @@ -73,13 +88,14 @@ - - - - - - - + + + + + + + + @@ -125,13 +141,14 @@ - - - - - - - + + + + + + + + @@ -165,164 +182,4 @@ - - - - - - - - - Zone - 0 - AND - 0 - NAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - - STATE_ZONE - NAME - - parent - - - - - - - 25 - - - - NAME - POINTS - - - - - - - - - 1 - AREA - 100 - - distance - warngenlev - population - - - - - NAME - POINTS - - - - - - - - - AREA - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - - NAME - AREA - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - 1 - NAME - TRACK - true - AREA - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - TRACK - true - AREA - 10 - 10 - - distance - - - - - - - - - - - - - WarnGenLoc - - Zone - States - TIMEZONES - TIME_ZONE - - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.vm index aeb2aa9d93..d7a4ce3f89 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.vm @@ -11,7 +11,7 @@ stormReports.xml #if ($dbTable) #foreach($table in $dbTable) #set($size = ${list.size($table)}) -#if ($size > 1) +#if ($size > 0) !** RECENT LOCAL STORM REPORTS: (COPY AND PASTE VALID REPORTS INTO 3RD BULLET THEN DELETE THIS SECTION) #foreach($report in $table) diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.xml index ea8a86ebcc..daa843081a 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/stormReports.xml @@ -6,8 +6,6 @@ importLSR2DB.sh script and create pointSource objects for WarnGen usage - - lsr_severe NAME diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/sws_county.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/sws_county.vm deleted file mode 100644 index 064e4cd910..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/sws_county.vm +++ /dev/null @@ -1,103 +0,0 @@ -## new template jfrederick tim feb 2011 -## sigwx alert for thunderstorms with wind and/or hail under -## severe limits -## county list needs to be sortable by state/parts of state/ -## -## Qinglu Lin 12-27-2012 DR 15594. Appended true to headlineLocList's parameter list. -## -${WMOId} ${vtecOffice} 000000 ${BBBId} -SPS${siteId} - -#if(${productClass}=="T") -TEST...SPECIAL WEATHER STATEMENT...TEST -#else -SPECIAL WEATHER STATEMENT -#end -NATIONAL WEATHER SERVICE ${officeShort} -#backupText(${backupSite}) -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#foreach (${area} in ${areas}) -${area.name} ${area.stateabbr}-## -#end - -${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} - -#if(${productClass}=="T") -...THIS MESSAGE IS FOR TEST PURPOSES ONLY... - -#end - -THE NATIONAL WEATHER SERVICE IN ${officeLoc} HAS ISSUED A SPECIAL WEATHER STATEMENT EFFECTIVE ## -#secondBullet(${dateUtil},${expire},${timeFormat},${localtimezone},${secondtimezone}) FOR #headlineLocList(${areas} true true true false true). - -#if(${stormType} == "line") - #set ($type1 = "THUNDERSTORMS") -#else - #set ($type1 = "A THUNDERSTORM") -#end -#if(${list.contains($bullets, "doppler")}) - #set ($report = "NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED ${type1} ") -#end -#if(${list.contains($bullets, "spotter")}) - #set ($report = "AMATEUR RADIO WEATHER SPOTTERS REPORTED !** **!") -#end -#if(${list.contains($bullets, "public")}) - #set ($report = "THE PUBLIC REPORTED !** **! ") -#end - -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. ## -#end -AT ${dateUtil.format(${event}, ${timeFormat.clock}, ${localtimezone})}...${report} ## -#handleClosestPoints($list, $closestPoints, $otherClosestPoints, $stormType, "NEAR", 6, "MILES") -#if($movementSpeed < 3 || ${stationary}) -. ${reportType2} NEARLY STATIONARY. -#else -...MOVING #direction(${movementDirectionRounded}) AT ${mathUtil.roundTo5(${movementSpeed})} MPH. -#end - -## calls to action -#if(${list.contains($bullets, "streamflooding")}) -HEAVY RAINS MAY FLOOD LOW LYING AREAS SUCH AS DITCHES AND ## -UNDERPASSES. AVOID THESE AREAS AND DO NOT CROSS FLOODED ROADS ## -AS THEY MAY BE WASHED OUT. WATER LEVELS OF SMALL STREAMS AND ## -RIVERS MAY ALSO RISE...THEREFORE SEEK HIGHER GROUND IF THREATENED ## -BY FLOOD WATERS. - -#end -#if(${list.contains($bullets, "intenselightning")}) -INTENSE LIGHTNING IS REPORTED WITH THIS STORM. IF OUTDOORS...## -STAY AWAY FROM ISOLATED HIGH OBJECTS SUCH AS TREES. MOVE ## -INDOORS IF POSSIBLE. WHEN INDOORS...STAY AWAY FROM WINDOWS AND ## -DOORS AND AVOID USING TELEPHONES UNLESS IT IS AN EMERGENCY. ## -TRY TO UNPLUG UNNECESSARY ELECTRICAL APPLIANCES BEFORE THE ## -THUNDERSTORM APPROACHES. - -#end - -############# -## WATCHES ## -############# -#if(${list.contains($includedWatches, "torWatches")}) -#inserttorwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) -#end -#if(${list.contains($includedWatches, "svrWatches")}) -#insertsvrwatches(${watches}, ${list}, ${secondtimezone}, ${dateUtil}, ${timeFormat}) -#end - -######################## -## LAT/LON, TML, SIGN ## -######################## -#if(${productClass}=="T") -THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. - -#end -#printcoords(${areaPoly}, ${list}) - -#tml(${start} ${movementDirection} ${movementInKnots} ${timeFormat} ${eventlocation}) - - -$$ - -!**NAME/INITIALS**! diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/sws_county.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/sws_county.xml deleted file mode 100644 index 6f4e9a5dca..0000000000 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/sws_county.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - mi - mph - - - - - - - - - - - - - - - true - - - true - - - - torWatches - svrWatches - - - - 30 - - 10 - 15 - 20 - 25 - 30 - 40 - 45 - 50 - 60 - 75 - - - - - - - - - - - - - - - - - 0.00 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - - NAME - TRACK - true - 50 - 10 - - warngenlev - population - - - - - NAME - POINTS - - - - - - 1 - 50 - - distance - warngenlev - - - - - NAME - POINTS - - - - - - 5 - 100 - - distance - warngenlev - - - - - true - 8.0 - 5 - 5 - 4 - 8 - Name - COUNTYNAME - STATE - STATE - countyTypes.txt - - distance - - - - - City - County - States - TIMEZONES - TIME_ZONE - - - - - diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.vm b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.vm index 09730f84bc..f5b3df0152 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.vm +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.vm @@ -1,23 +1,15 @@ ############################################################################### ## TORNADO WARNING TEMPLATE ## -## VERSION AWIPS II 1.0 ## -## MODIFIED ## -## JAMIE FREDERICK - WFO TSA 2-24-11 ## -## EVAN BOOKBINDER - WFO EAX 3-23-11 - Initial OB11.2 ReWrite ## -## 4-13-11 - OB11.4 Modifications ## -## 7-11-11 - OB11.7 Modifications ## -## 9-16-11 - OB11.8.0-8 Pathcast/City ## -## MIKE DANGELO WFO CTP 9-22-11 - OB11.8.0-9 ## -## EVAN BOOKBINDER WFO EAX 11-04-11 - OB11.9-3 (DRs) ## -## EVAN BOOKBINDER WFO EAX 2-24-12 - OB12.2.1 ## -## MIKE REGA 5-03-12 - DR 14885 MND blank line ## -## QINGLU LIN 7-31-2012 DR 15217 use roundAndPad ## -## QINGLU LIN 8-14-2012 DR 14493 use TMLtime ## -## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## -## Mike Dangelo 2-4-2013 NWS Mets detected a svr ## +## VERSION AWIPS II ## +## RECENT CHANGES ## +## Mike Dangelo 9-13-2012 minor tweaks to ${variables} ## +## Mike Dangelo 2-4-2013 NWS Mets detected a svr ## ## PHIL KURIMSKI 2-6-2013 Put tor emergency back in as 3rd bullet ## +## PHIL KURIMSKI 9-17-2013 Put tor emergency as a headline ## +## Evan Bookbinder 9-18-2013 Implemented config.vm ## ############################################################################### ## ESTABLISH SOME INITIAL VARIABLES +#parse("config.vm") #set($hailSize = 0) #set($hailTag = "<.75IN") #set($reportType = "A TORNADO WAS REPORTED") @@ -130,12 +122,12 @@ ${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})} #end ################################################################# -### TORNADO EMERGENCY HEADLINE...COMING SOON TO A WFO NEAR YOU! # +### TORNADO EMERGENCY HEADLINE # ################################################################# -###if(${list.contains(${bullets}, "torEmergency")}) -##...TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... -## -###end +#if(${list.contains(${bullets}, "torEmergency")}) +...TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!... + +#end #headline(${officeLoc}, ${backupSite}) ################## @@ -295,12 +287,13 @@ THIS IS A TEST MESSAGE. ## THIS IS A TEST MESSAGE. ## #end #thirdBullet(${dateUtil},${event},${timeFormat},${localtimezone},${secondtimezone})...${reportType} ## +##Many of the variables passed below are controlled by config.vm #if(${stormType} == "line") -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", false) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceLine}) #else -#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, "NEAR", 6, "OVER", 2, "MILES", true) +#handleClosestPoints(${list}, ${closestPoints}, ${otherClosestPoints}, ${stormType}, ${nearPhrase} , ${maxLandNearDistance}, ${overPhrase}, ${maxLandOverDistance}, ${landDistanceUnits}, ${useSecondReferenceCell}) #end -#if(${movementSpeed} < 3 || ${stationary}) +#if(${movementSpeed} < ${landStationary} || ${stationary}) #if(${stormType} == "line") . THE LINE OF TORNADIC STORMS WAS NEARLY STATIONARY. #else @@ -314,7 +307,7 @@ THIS IS A TEST MESSAGE. ## ### TORNADO EMERGENCY PER NWS 10-511 DIRECTIVE GOES WITH 3RD BULLET # ##################################################################### #if(${list.contains($bullets, "torEmergency")}) -#wrapText("THIS IS A TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!...TAKE IMMEDIATE TORNADO PRECAUTIONS NOW." 2 2) +#wrapText("THIS IS A TORNADO EMERGENCY FOR !** EDIT LOCATION(S) **!. TAKE COVER NOW." 2 2) #end ############################ @@ -404,6 +397,8 @@ THOSE ATTENDING THE !**event/venue name or location**! ARE IN THE PATH OF THIS S ## parse file command here is to pull in mile marker info ## #parse("mileMarkers.vm") +## Uncomment below pull in point marker info +## #parse("pointMarkers.vm") ##################### ## CALL TO ACTIONS ## @@ -487,6 +482,7 @@ THIS IS A TEST MESSAGE. DO NOT TAKE ACTION BASED ON THIS MESSAGE. #printcoords(${areaPoly}, ${list}) #tml(${TMLtime}, ${timeFormat}, ${movementDirection}, ${movementInKnots}, ${eventLocation}) + ## UNCOMMENT 2 LINES BELOW IF YOU ARE PARTICIPATING IN THE HAIL TAG TESTBED ## ##HAIL ${hailTag} diff --git a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.xml b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.xml index 414fc9cd7c..2c9a8c5178 100644 --- a/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.xml +++ b/edexOsgi/build.edex/esb/data/utility/common_static/base/warngen/tornadoWarning.xml @@ -14,6 +14,20 @@ + + + + + + + + + + mi mph @@ -108,7 +122,7 @@ - + @@ -167,14 +181,13 @@ - - + - + - + @@ -190,158 +203,6 @@ - - - - - County - 0 - AND - 0 - COUNTYNAME - NAME - STATE - FE_AREA - TIME_ZONE - countyTypes.txt - FIPS - NAME - - parent - - - - - - - 25 - - - NAME - AREA - POINTS - - - - - - - - - 1 - 100 - - distance - warngenlev - - - - - NAME - AREA - POINTS - - - - - - - - - 5 - 100 - - distance - - - - - 1 - true - 8.0 - 5 - 5 - 4 - 8 - Name - AREA - COUNTYNAME - - STATE - STATE - countyTypes.txt - - warngenlev - population - distance - - - - - - - - - - - - - NAME - 1 - AREA - TRACK - true - 20 - 10 - - - - - - - - - - warngenlev - population - distance - - - - - NAME - 1 - AREA - TRACK - true - 10 - 10 - - distance - - - - - - - - - - - - - - - - WarnGenLoc - County - - States - TIMEZONES - TIME_ZONE - diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/config/gfe/serverConfig.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/config/gfe/serverConfig.py index bf5c3e4985..eb7d27fbb3 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/config/gfe/serverConfig.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/config/gfe/serverConfig.py @@ -19,6 +19,15 @@ ## # NOTE: THIS FILE SHOULD NOT BE USER-MODIFIED. INSTEAD REFER TO THE # LOCAL CONFIG DOCUMENTATION ON HOW TO OVERRIDE SETTINGS IN THIS FILE. +# +# Baseline GFE server configuration +# +# SOFTWARE HISTORY +# +# Date Ticket# Engineer Description +# ------------ ---------- ----------- -------------------------- +# 10/03/13 2424 randerso Change localTC to use dateutil instead of pytz +# to get correct offsets for Alaska #---------------------------------------------------------------------------- # USEFUL DEFINES @@ -859,9 +868,10 @@ Persistent = (0, 0, 0) # special time constraint # seconds local time, e.g., 6*HOUR would indicate 6am. def localTC(start,repeat,duration,dst): timezone = SITES[GFESUITE_SITEID][3] - import pytz - tz = pytz.timezone(timezone) - delta = tz.utcoffset(0) - tz.dst(0); + import dateutil.tz, datetime + tz = dateutil.tz.gettz(timezone) + dt = datetime.datetime.utcnow() + delta = tz.utcoffset(dt) + tz.dst(dt) offset = delta.days*86400 + delta.seconds start = start - offset if dst == 1: diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_AQA_MultiPil.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_AQA_MultiPil.py index 0f2f64b084..b135763d2f 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_AQA_MultiPil.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_AQA_MultiPil.py @@ -47,7 +47,7 @@ class TextProduct(GenericHazards.TextProduct): elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items Definition["productName"] = "AIR QUALITY ALERT" # name of product diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_MWW_MultiPil.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_MWW_MultiPil.py index 909c523f88..759335f6c4 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_MWW_MultiPil.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_MWW_MultiPil.py @@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct): elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_NPW_MultiPil.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_NPW_MultiPil.py index a0e6bbd5a4..ddcb1b1fab 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_NPW_MultiPil.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_NPW_MultiPil.py @@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct): elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_RFW_MultiPil.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_RFW_MultiPil.py index 39f473ef5b..db74856844 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_RFW_MultiPil.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_RFW_MultiPil.py @@ -55,7 +55,7 @@ class TextProduct(GenericHazards.TextProduct): elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items Definition["productName"] = "URGENT - FIRE WEATHER MESSAGE" # name of product diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_WSW_MultiPil.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_WSW_MultiPil.py index f1904bef32..a30b05e0a7 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_WSW_MultiPil.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/Hazard_WSW_MultiPil.py @@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct): elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/SPS_MultiPil_Local.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/SPS_MultiPil_Local.py index 2e40b81245..ec33e3639e 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/SPS_MultiPil_Local.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/product/SPS_MultiPil_Local.py @@ -62,7 +62,7 @@ class TextProduct(GenericReport.TextProduct): elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # product identifiers Definition["productName"] = "SPECIAL WEATHER STATEMENT" # product name diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWFTable_Site_MultiPil_Definition.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWFTable_Site_MultiPil_Definition.py index 0dc183547a..a5a47a1866 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWFTable_Site_MultiPil_Definition.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWFTable_Site_MultiPil_Definition.py @@ -65,7 +65,7 @@ if "" == "AFG": elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items #Definition["productName"] = "FIRE WEATHER PLANNING FORECAST" # name of product diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWF_Site_MultiPil_Definition.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWF_Site_MultiPil_Definition.py index e0dc06099c..d014b408ea 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWF_Site_MultiPil_Definition.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FWF_Site_MultiPil_Definition.py @@ -63,7 +63,7 @@ if "" == "AFG": elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] #Definition["tempLocalEffects"] = 1 # Set to 1 to enable Temp and RH local effects AFTER # creating AboveElev and BelowElev edit areas diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FireWxZones_EA_Site_MultiPil_Definition.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FireWxZones_EA_Site_MultiPil_Definition.py index c0c21fd75c..6fba4b7524 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FireWxZones_EA_Site_MultiPil_Definition.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/FireWxZones_EA_Site_MultiPil_Definition.py @@ -53,6 +53,6 @@ if "" == "AFG": elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/PublicZones_EA_Site_MultiPil_Definition.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/PublicZones_EA_Site_MultiPil_Definition.py index 31172df316..7b64fa5da1 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/PublicZones_EA_Site_MultiPil_Definition.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/PublicZones_EA_Site_MultiPil_Definition.py @@ -53,5 +53,5 @@ if "" == "AFG": elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/SRF_Site_MultiPil_Definition.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/SRF_Site_MultiPil_Definition.py index 7463e52494..20fc1e9fc5 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/SRF_Site_MultiPil_Definition.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/SRF_Site_MultiPil_Definition.py @@ -75,7 +75,7 @@ if "" == "AFG": elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] #Definition["tempLocalEffects"] = 1 # Set to 1 to enable Temp and RH local effects AFTER # creating Inland and Coastal edit areas #Definition["windLocalEffects"] = 1 # Set to 1 to enable wind local effects AFTER diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/ZFP_Site_MultiPil_Definition.py b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/ZFP_Site_MultiPil_Definition.py index 7977b22eec..b3cae1a4bf 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/ZFP_Site_MultiPil_Definition.py +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/textproducts/templates/utility/ZFP_Site_MultiPil_Definition.py @@ -61,7 +61,7 @@ if "" == "AFG": elif "_" == "_WCZ": Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210", "AKZ211","AKZ212","AKZ213","AKZ214", - "AKZ215","AKZ216","AKZ217"] + "AKZ215","AKZ216","AKZ217","AKZ227"] # Header configuration items #Definition["productName"] = "ZONE FORECAST PRODUCT" # name of product diff --git a/edexOsgi/build.edex/opt/db/ddl/maps/importShapeFile.sh b/edexOsgi/build.edex/opt/db/ddl/maps/importShapeFile.sh old mode 100755 new mode 100644 diff --git a/edexOsgi/com.raytheon.edex.autobldsrv/res/spring/subscription-spring.xml b/edexOsgi/com.raytheon.edex.autobldsrv/res/spring/subscription-spring.xml index c7050e3009..cdf139c5bf 100644 --- a/edexOsgi/com.raytheon.edex.autobldsrv/res/spring/subscription-spring.xml +++ b/edexOsgi/com.raytheon.edex.autobldsrv/res/spring/subscription-spring.xml @@ -50,7 +50,7 @@ - + diff --git a/edexOsgi/com.raytheon.edex.ingestsrv/res/spring/persist-ingest.xml b/edexOsgi/com.raytheon.edex.ingestsrv/res/spring/persist-ingest.xml index ca32da1f75..23ffbb0dcc 100644 --- a/edexOsgi/com.raytheon.edex.ingestsrv/res/spring/persist-ingest.xml +++ b/edexOsgi/com.raytheon.edex.ingestsrv/res/spring/persist-ingest.xml @@ -76,7 +76,7 @@ - + diff --git a/edexOsgi/com.raytheon.edex.plugin.airep/res/spring/airep-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.airep/res/spring/airep-ingest.xml index 3fa5094f14..a757baaf8e 100644 --- a/edexOsgi/com.raytheon.edex.plugin.airep/res/spring/airep-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.airep/res/spring/airep-ingest.xml @@ -12,7 +12,7 @@ - + airep - + --> - + airep diff --git a/edexOsgi/com.raytheon.edex.plugin.binlightning/res/spring/binlightning_ep-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.binlightning/res/spring/binlightning_ep-ingest.xml index 22f5fb05ea..0e28d3357b 100644 --- a/edexOsgi/com.raytheon.edex.plugin.binlightning/res/spring/binlightning_ep-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.binlightning/res/spring/binlightning_ep-ingest.xml @@ -9,7 +9,7 @@ - + binlightning - + --> - + binlightning diff --git a/edexOsgi/com.raytheon.edex.plugin.bufrmos/res/spring/bufrmos-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.bufrmos/res/spring/bufrmos-ingest.xml index 656b35ba9b..90ea632604 100644 --- a/edexOsgi/com.raytheon.edex.plugin.bufrmos/res/spring/bufrmos-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.bufrmos/res/spring/bufrmos-ingest.xml @@ -8,7 +8,7 @@ - + bufrmos - + --> - + bufrmos diff --git a/edexOsgi/com.raytheon.edex.plugin.bufrua/res/spring/bufrua-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.bufrua/res/spring/bufrua-ingest.xml index 4b2643dff6..df4ddcd80c 100644 --- a/edexOsgi/com.raytheon.edex.plugin.bufrua/res/spring/bufrua-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.bufrua/res/spring/bufrua-ingest.xml @@ -32,13 +32,13 @@ bufrua - + --> - + bufrua diff --git a/edexOsgi/com.raytheon.edex.plugin.ccfp/res/spring/ccfp-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.ccfp/res/spring/ccfp-ingest.xml index bca9b008bb..a13ea2bad9 100644 --- a/edexOsgi/com.raytheon.edex.plugin.ccfp/res/spring/ccfp-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.ccfp/res/spring/ccfp-ingest.xml @@ -29,13 +29,13 @@ ccfp - + --> - + ccfp diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-common.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-common.xml index 9035319bc5..495781a71b 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-common.xml +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-common.xml @@ -55,7 +55,7 @@ errorHandlerRef="errorHandler"> - + @@ -87,7 +87,7 @@ - + diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-request.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-request.xml index b1b68a4994..b296dc27ba 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-request.xml +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-request.xml @@ -464,9 +464,9 @@ - - + @@ -487,11 +487,11 @@ - + - + @@ -623,7 +623,7 @@ - + @@ -643,7 +643,7 @@ errorHandlerRef="errorHandler" autoStartup="false"> - + diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-spring.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-spring.xml index c2c87fd5bf..0f267bc501 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-spring.xml +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-spring.xml @@ -8,8 +8,8 @@ - + @@ -40,7 +40,7 @@ xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler"> - + @@ -51,7 +51,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -117,9 +117,9 @@ - + - + java.lang.Throwable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/cache/d2dparms/D2DParmIdCache.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/cache/d2dparms/D2DParmIdCache.java index f56c8d9a14..b15f2f06f6 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/cache/d2dparms/D2DParmIdCache.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/cache/d2dparms/D2DParmIdCache.java @@ -21,7 +21,6 @@ package com.raytheon.edex.plugin.gfe.cache.d2dparms; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -72,6 +71,8 @@ import com.raytheon.uf.edex.site.SiteAwareRegistry; * Mar 20, 2013 #1774 randerso Changed to use GFDD2DDao * Apr 01, 2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter * May 14, 2013 #2004 randerso Added DBInvChangeNotifications when D2D data is purged + * Sep 12, 2013 #2348 randerso Changed to send DBInvChangeNotifications in a batch instead + * of one at a time. * * * @@ -325,10 +326,16 @@ public class D2DParmIdCache { try { D2DGridDatabase db = (D2DGridDatabase) GridParmManager .getDb(dbIds.get(i)); - ServerResponse> sr = db - .getParmList(); - if (sr.isOkay()) { - parmIds.addAll(sr.getPayload()); + if (db == null) { + statusHandler + .error("Unable to get parm list for: " + + dbIds.get(i)); + } else { + ServerResponse> sr = db + .getParmList(); + if (sr.isOkay()) { + parmIds.addAll(sr.getPayload()); + } } } catch (GfeException e) { throw new PluginException( @@ -346,13 +353,8 @@ public class D2DParmIdCache { putParmIDList(parmIds); List currentDbInventory = this.getDatabaseIDs(); dbsToRemove.removeAll(currentDbInventory); - List invChgList = new ArrayList( - dbsToRemove.size()); - for (DatabaseID dbId : dbsToRemove) { - invChgList.add(new DBInvChangeNotification(null, Arrays - .asList(dbId), siteID)); - } - SendNotifications.send(invChgList); + SendNotifications.send(new DBInvChangeNotification(null, + dbsToRemove, siteID)); // inform GfeIngestNotificationFilter of removed dbs GfeIngestNotificationFilter.purgeDbs(dbsToRemove); diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/config/GFESiteActivation.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/config/GFESiteActivation.java index ac19cd6994..106c4fd65f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/config/GFESiteActivation.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/config/GFESiteActivation.java @@ -88,7 +88,7 @@ import com.raytheon.uf.edex.site.notify.SendSiteActivationNotifications; * activation. * Mar 20, 2013 #1774 randerso Changed to use GFED2DDao * May 02, 2013 #1969 randerso Moved updateDbs method into IFPGridDatabase - * + * Sep 13, 2013 2368 rjpeter Used durable jms settings. * * * @author njensen @@ -115,7 +115,7 @@ public class GFESiteActivation implements ISiteActivationListener { private boolean intialized = false; - private ExecutorService postActivationTaskExecutor = MoreExecutors + private final ExecutorService postActivationTaskExecutor = MoreExecutors .getExitingExecutorService((ThreadPoolExecutor) Executors .newCachedThreadPool()); @@ -356,7 +356,7 @@ public class GFESiteActivation implements ISiteActivationListener { GridDatabase db = GridParmManager.getDb(dbid); // cluster locked since IFPGridDatabase can modify the grids // based on changes to grid size, etc - if (db instanceof IFPGridDatabase && db.databaseIsValid()) { + if ((db instanceof IFPGridDatabase) && db.databaseIsValid()) { ((IFPGridDatabase) db).updateDbs(); } } @@ -410,7 +410,7 @@ public class GFESiteActivation implements ISiteActivationListener { long startTime = System.currentTimeMillis(); // wait for system startup or at least 3 minutes while (!EDEXUtil.isRunning() - || System.currentTimeMillis() > startTime + 180000) { + || (System.currentTimeMillis() > (startTime + 180000))) { try { Thread.sleep(15000); } catch (InterruptedException e) { @@ -420,7 +420,7 @@ public class GFESiteActivation implements ISiteActivationListener { ClusterTask ct = ClusterLockUtils.lookupLock(TASK_NAME, SMART_INIT_TASK_DETAILS + siteID); - if (ct.getLastExecution() + SMART_INIT_TIMEOUT < System + if ((ct.getLastExecution() + SMART_INIT_TIMEOUT) < System .currentTimeMillis()) { ct = ClusterLockUtils.lock(TASK_NAME, SMART_INIT_TASK_DETAILS + siteID, @@ -467,7 +467,7 @@ public class GFESiteActivation implements ISiteActivationListener { "Firing smartinit for " + id); try { producer.sendAsyncUri( - "jms-generic:queue:manualSmartInit", + "jms-durable:queue:manualSmartInit", id + ":0::" + SmartInitRecord.SITE_ACTIVATION_INIT_PRIORITY); @@ -499,7 +499,7 @@ public class GFESiteActivation implements ISiteActivationListener { long startTime = System.currentTimeMillis(); // wait for system startup or at least 3 minutes while (!EDEXUtil.isRunning() - || System.currentTimeMillis() > startTime + 180000) { + || (System.currentTimeMillis() > (startTime + 180000))) { try { Thread.sleep(15000); } catch (InterruptedException e) { diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/GridParmManager.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/GridParmManager.java index 110f104736..e39f39347c 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/GridParmManager.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/GridParmManager.java @@ -100,6 +100,12 @@ import com.raytheon.uf.edex.database.purge.PurgeLogger; * Removed inventory from DBInvChangedNotification * 05/03/13 #1974 randerso Fixed error logging to include stack trace * 05/14/13 #2004 randerso Added methods to synch GridParmManager across JVMs + * 09/12/13 #2348 randerso Added logging when database are added/removed from dbMap + * Fixed the synchronization of dbMap with the database inventory + * Changed to call D2DGridDatabase.getDatabase instead of calling + * the constructor directly to ensure the data exists before creating + * the D2DGridDatabase object + * * * * @author bphillip @@ -1016,10 +1022,10 @@ public class GridParmManager { sr.addMessage("VersionPurge failed - couldn't get inventory"); return sr; } - List databases = sr.getPayload(); + List currentInv = sr.getPayload(); // sort the inventory by site, type, model, time (most recent first) - Collections.sort(databases); + Collections.sort(currentInv); // process the inventory looking for "old" unwanted databases String model = null; @@ -1027,7 +1033,7 @@ public class GridParmManager { String type = null; int count = 0; int desiredVersions = 0; - for (DatabaseID dbId : databases) { + for (DatabaseID dbId : currentInv) { // new series? if (!dbId.getSiteId().equals(site) || !dbId.getDbType().equals(type) @@ -1055,11 +1061,31 @@ public class GridParmManager { } } + List newInv = getDbInventory(siteID).getPayload(); + List additions = new ArrayList(newInv); + additions.removeAll(currentInv); + + List deletions = new ArrayList(currentInv); + deletions.removeAll(newInv); + // kludge to keep dbMap in synch until GridParmManager/D2DParmICache // merge/refactor - dbMap.keySet().retainAll(databases); + List toRemove = new ArrayList(dbMap.keySet()); + toRemove.removeAll(newInv); + for (DatabaseID dbId : toRemove) { + statusHandler + .info("Synching GridParmManager with database inventory, removing " + + dbId); + dbMap.remove(dbId); - createDbNotification(siteID, databases); + // add any removals to the deletions list + // so notifications go to the other JVMs + if (!deletions.contains(dbId)) { + deletions.add(dbId); + } + } + + createDbNotification(siteID, additions, deletions); return sr; } @@ -1220,8 +1246,8 @@ public class GridParmManager { // ingested String d2dModelName = serverConfig .d2dModelNameMapping(modelName); - db = new D2DGridDatabase(serverConfig, d2dModelName, - dbId.getModelTimeAsDate()); + db = D2DGridDatabase.getDatabase(serverConfig, + d2dModelName, dbId.getModelTimeAsDate()); } catch (Exception e) { statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e); @@ -1244,6 +1270,7 @@ public class GridParmManager { } if ((db != null) && db.databaseIsValid()) { + statusHandler.info("getDb called, adding " + dbId); dbMap.put(dbId, db); } } @@ -1255,6 +1282,8 @@ public class GridParmManager { while (iter.hasNext()) { DatabaseID dbId = iter.next(); if (dbId.getSiteId().equals(siteID)) { + statusHandler.info("purgeDbCache(" + siteID + "), removing " + + dbId); iter.remove(); } } @@ -1370,18 +1399,6 @@ public class GridParmManager { return sr; } - private static void createDbNotification(String siteID, - List prevInventory) { - List newInventory = getDbInventory(siteID).getPayload(); - List additions = new ArrayList(newInventory); - additions.removeAll(prevInventory); - - List deletions = new ArrayList(prevInventory); - deletions.removeAll(newInventory); - - createDbNotification(siteID, additions, deletions); - } - private static void createDbNotification(String siteID, List additions, List deletions) { if (!additions.isEmpty() || !deletions.isEmpty()) { @@ -1400,6 +1417,7 @@ public class GridParmManager { "Unable to purge model database: " + id, e); } } + statusHandler.info("deallocateDb called, removing " + id); dbMap.remove(id); } @@ -1429,6 +1447,9 @@ public class GridParmManager { } for (DatabaseID dbId : invChanged.getDeletions()) { + statusHandler + .info("DBInvChangeNotification deletion received, removing " + + dbId); dbMap.remove(dbId); } } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/database/D2DGridDatabase.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/database/D2DGridDatabase.java index 4d398756e0..9f35eabb27 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/database/D2DGridDatabase.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/database/D2DGridDatabase.java @@ -43,7 +43,6 @@ import com.raytheon.edex.plugin.gfe.db.dao.GFED2DDao; import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfo; import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfoLookup; import com.raytheon.edex.plugin.gfe.paraminfo.ParameterInfo; -import com.raytheon.edex.plugin.gfe.server.GridParmManager; import com.raytheon.uf.common.comm.CommunicationException; import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.gfe.GridDataHistory; @@ -107,6 +106,9 @@ import com.raytheon.uf.edex.database.DataAccessLayerException; * 04/17/2013 #1913 randerso Added GFE level mapping to replace GridTranslator * 05/02/2013 #1969 randerso Removed unnecessary updateDbs method * 05/03/2013 #1974 randerso Fixed error handling when no D2D level mapping found + * 09/12/2013 #2348 randerso Removed code that called getDb from getD2DDatabaseIdsFromDb + * Added function to create a D2DGridDatabase object only if there is + * data in postgres for the desired model/reftime * * * @@ -135,6 +137,33 @@ public class D2DGridDatabase extends VGridDatabase { gfeModelName, modelTime); } + /** + * Get a D2DGridDatabase if it is available + * + * @param config + * configuration for site + * @param dbId + * DatabaseID of desired database + * @return D2DGridDatabase or null if not available + */ + public static D2DGridDatabase getDatabase(IFPServerConfig config, + String d2dModelName, Date refTime) { + try { + GFED2DDao dao = new GFED2DDao(); + List result = dao.getModelRunTimes(d2dModelName, -1); + + if (result.contains(refTime)) { + D2DGridDatabase db = new D2DGridDatabase(config, d2dModelName, + refTime); + return db; + } + return null; + } catch (Exception e) { + statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e); + return null; + } + } + /** * Retrieves DatabaseIDs for all model runs of a given d2dModelName * @@ -178,15 +207,7 @@ public class D2DGridDatabase extends VGridDatabase { for (Date date : result) { DatabaseID dbId = null; dbId = getDbId(d2dModelName, date, config); - try { - GridDatabase db = GridParmManager.getDb(dbId); - if ((db != null) && !dbInventory.contains(dbId)) { - dbInventory.add(dbId); - } - } catch (GfeException e) { - statusHandler.handle(Priority.PROBLEM, - e.getLocalizedMessage(), e); - } + dbInventory.add(dbId); } return dbInventory; } catch (PluginException e) { @@ -285,10 +306,14 @@ public class D2DGridDatabase extends VGridDatabase { /** * Constructs a new D2DGridDatabase * + * For internal use only. External code should call + * D2DGridDatabase.getDatabase(IFPServerConfig, String, Date) to ensure + * objects are only created if data is present + * * @param dbId * The database ID of this database */ - public D2DGridDatabase(IFPServerConfig config, String d2dModelName, + private D2DGridDatabase(IFPServerConfig config, String d2dModelName, Date refTime) throws GfeException { super(config); diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SmartInitRequestHandler.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SmartInitRequestHandler.java index 3492acf6d8..8a57825302 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SmartInitRequestHandler.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SmartInitRequestHandler.java @@ -35,7 +35,7 @@ import com.raytheon.uf.common.serialization.comm.IRequestHandler; import com.raytheon.uf.edex.core.EDEXUtil; /** - * TODO Add Description + * Handler for SmartInitRequest. * *
  * 
@@ -43,7 +43,7 @@ import com.raytheon.uf.edex.core.EDEXUtil;
  * Date         Ticket#    Engineer    Description
  * ------------ ---------- ----------- --------------------------
  * Oct 12, 2010            dgilling     Initial creation
- * 
+ * Sep 13, 2013 2368       rjpeter      Used durable jms settings.
  * 
* * @author dgilling @@ -93,7 +93,7 @@ public class SmartInitRequestHandler implements .append(SmartInitRecord.MANUAL_SMART_INIT_PRIORITY); EDEXUtil.getMessageProducer().sendAsyncUri( - "jms-generic:queue:manualSmartInit", + "jms-durable:queue:manualSmartInit", manualInitString.toString()); } else { sr.addMessage("No valid model data could be retrieved for model " diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/notify/GfeIngestNotificationFilter.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/notify/GfeIngestNotificationFilter.java index fb74c8bfbb..dab1904860 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/notify/GfeIngestNotificationFilter.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/notify/GfeIngestNotificationFilter.java @@ -50,8 +50,8 @@ import com.raytheon.uf.common.dataplugin.gfe.server.notify.DBInvChangeNotificati import com.raytheon.uf.common.dataplugin.gfe.server.notify.GfeNotification; import com.raytheon.uf.common.dataplugin.gfe.server.notify.GridUpdateNotification; import com.raytheon.uf.common.dataplugin.grid.GridRecord; -import com.raytheon.uf.common.dataplugin.message.DataURINotificationMessage; import com.raytheon.uf.common.dataplugin.level.Level; +import com.raytheon.uf.common.dataplugin.message.DataURINotificationMessage; import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord; import com.raytheon.uf.common.message.WsId; import com.raytheon.uf.common.serialization.SerializationUtil; @@ -81,7 +81,8 @@ import com.raytheon.uf.edex.core.EDEXUtil; * Apr 01, 2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter * Apr 04, 2013 #1787 randerso Added null check to prevent log spamming for parameters * not included in the parameter info file - * May 2, 2013 #1969 randerso Updated for change to DBInvChangeNotification + * May 02, 2013 #1969 randerso Updated for change to DBInvChangeNotification + * Sep 03, 2013 #2321 randerso Fixed smartInits for D2D accumulative parameters * * * @@ -240,9 +241,10 @@ public class GfeIngestNotificationFilter { initNameBuilder.append('_'); initNameBuilder.append(dbId.getModelTime()); + Date validTime = grid.getDataTime().getValidTime() + .getTime(); SmartInitRecordPK id = new SmartInitRecordPK( - initNameBuilder.toString(), grid.getDataTime() - .getValidPeriod().getStart()); + initNameBuilder.toString(), validTime); SmartInitRecord record = inits.get(id); if (record == null) { diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/gfe/isc/ifpnetCDF.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/gfe/isc/ifpnetCDF.py index e9918b0213..76331c40bd 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/gfe/isc/ifpnetCDF.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/edex_static/base/gfe/isc/ifpnetCDF.py @@ -66,6 +66,7 @@ from com.raytheon.uf.common.localization import LocalizationContext_Localization # A1, big perf improvement. # 05/23/13 1759 dgilling Remove unnecessary imports. # 07/25/13 2233 randerso Improved memory utilization and performance +# 09/20/13 2405 dgilling Clip grids before inserting into cache. # # @@ -97,8 +98,9 @@ def logDebug(*msg): class WECache(object): - def __init__(self, we, inv): + def __init__(self, we, inv, clipArea): self._we = we + self._clipArea = clipArea self._inv = OrderedDict() lst = list(inv) while len(lst): @@ -109,7 +111,7 @@ class WECache(object): gridsAndHist = self._we.get(javaTRs, True) for idx, tr in enumerate(i): pair = gridsAndHist.get(idx) - g = self.__encodeGridSlice(pair.getFirst()) + g = self.__encodeGridSlice(pair.getFirst(), clipArea) h = self.__encodeGridHistory(pair.getSecond()) self._inv[tr] = (g, h) lst = lst[BATCH_WRITE_COUNT:] @@ -122,31 +124,32 @@ class WECache(object): try: return self._inv[key] except KeyError: + logEvent("Cache miss for key:", str(key)) grid = self._we.getItem(iscUtil.toJavaTimeRange(key)) - pyGrid = self.__encodeGridSlice(grid) + pyGrid = self.__encodeGridSlice(grid, self._clipArea) history = grid.getGridDataHistory() pyHist = self.__encodeGridHistory(history) return (pyGrid, pyHist) - def __encodeGridSlice(self, grid): + def __encodeGridSlice(self, grid, clipArea): gridType = grid.getGridInfo().getGridType().toString() if gridType == "SCALAR": - return grid.__numpy__[0] + return clipToExtrema(grid.__numpy__[0], clipArea) elif gridType == "VECTOR": vecGrids = grid.__numpy__ - return (vecGrids[0], vecGrids[1]) + return (clipToExtrema(vecGrids[0], clipArea), clipToExtrema(vecGrids[1], clipArea)) elif gridType == "WEATHER": keys = grid.getKeys() keyList = [] for theKey in keys: keyList.append(theKey.toString()) - return (grid.__numpy__[0], keyList) + return (clipToExtrema(grid.__numpy__[0], clipArea), keyList) elif gridType =="DISCRETE": keys = grid.getKey() keyList = [] for theKey in keys: keyList.append(theKey.toString()) - return (grid.__numpy__[0], keyList) + return (clipToExtrema(grid.__numpy__[0], clipArea), keyList) def __encodeGridHistory(self, histories): retVal = [] @@ -524,55 +527,29 @@ def storeTopoGrid(client, file, databaseID, invMask, clipArea): logEvent("Saved Topo Grid") -def historyFunc(x, y): - return y[x][1] - ###-------------------------------------------------------------------------### ### -def storeGridDataHistory(file, we, wec, trList, timeRange): +def storeGridDataHistory(file, we, wec, trList): "Stores the Grid Data history string for each grid in we." - histories = [] - for tr in trList: - histories.append(historyFunc(tr, wec)) - #histories = map(lambda x, y=wec: y[x][1], trList) - # get the maximum size of the history string maxHistSize = 0 - gridCount = 0 - firstSlot = -1 - lastSlot = 0 - - for x in xrange(len(trList)): - t = trList[x] - his = histories[x] + histList = [] + for tr in trList: + his = wec[tr][1] hisString = '' - for i in xrange(len(his)): - hisString = hisString + str(his[i]) + for i,h in enumerate(his): + hisString = hisString + str(h) if i != len(his) - 1: hisString = hisString + " ^" - if overlaps(t, timeRange): - if firstSlot == -1: - firstSlot = gridCount - lastSlot = gridCount - if len(hisString) > maxHistSize: - maxHistSize = len(hisString) - gridCount = gridCount + 1 + histList.append(hisString) + maxHistSize = max(maxHistSize,len(hisString)) # Make the history variable and fill it - histShape = (lastSlot - firstSlot + 1, maxHistSize + 1) - if firstSlot != -1: - histCube = numpy.zeros(histShape, 'c') - slot = 0 - for i in xrange(firstSlot, lastSlot + 1): - his = histories[i] - hisString = '' - for h in range(len(his)): - hisString = hisString + str(his[h]) - if h != len(his) - 1: - hisString = hisString + " ^" - histCube[slot:] = hisString - slot = slot + 1 + histShape = (len(histList), maxHistSize + 1) + histCube = numpy.zeros(histShape, 'c') + for slot, hisString in enumerate(histList): + histCube[slot:] = hisString # make the history variable anyway. iscMosaic needs it. elemName = we.getParmid().getParmName() + "_" + we.getParmid().getParmLevel() @@ -582,7 +559,7 @@ def storeGridDataHistory(file, we, wec, trList, timeRange): var = file.createVariable(varName, 'c', dims) - if firstSlot != -1: + if len(histList) > 0: # store the cube in the netCDF file var[:] = histCube return @@ -756,9 +733,9 @@ def storeScalarWE(we, trList, file, timeRange, databaseID, cube = numpy.empty(shape=(gridCount, clipSize[1], clipSize[0]), dtype=numpy.float32) - wec = WECache(we, overlappingTimes) + wec = WECache(we, overlappingTimes, clipArea) for i,t in enumerate(overlappingTimes): - grid = clipToExtrema(wec[t][0], clipArea) + grid = wec[t][0] #adjust for time changes if we.getGpi().isRateParm(): durRatio = (float(timeList[i][1]-timeList[i][0]))/float((t[1]-t[0])) @@ -818,7 +795,7 @@ def storeScalarWE(we, trList, file, timeRange, databaseID, setattr(var, "fillValue", fillValue) ## Extract the GridDataHistory info and save it - storeGridDataHistory(file, we, wec, trList, timeRange) + storeGridDataHistory(file, we, wec, overlappingTimes) logEvent("Saved", gridCount, varName, " grids") @@ -841,11 +818,11 @@ def storeVectorWE(we, trList, file, timeRange, magCube = numpy.empty(shape=(gridCount, clipSize[1], clipSize[0]),dtype=numpy.float32) dirCube = numpy.empty(shape=(gridCount, clipSize[1], clipSize[0]),dtype=numpy.float32) - wec = WECache(we, overlappingTimes) + wec = WECache(we, overlappingTimes, clipArea) for i,t in enumerate(overlappingTimes): vecData = wec[t][0] - mag = clipToExtrema(vecData[0], clipArea) - dir = clipToExtrema(vecData[1], clipArea) + mag = vecData[0] + dir = vecData[1] if we.getGpi().isRateParm(): durRatio = (float(timeList[i][1]-timeList[i][0]))/float((t[1]-t[0])) mag *= durRatio @@ -947,7 +924,7 @@ def storeVectorWE(we, trList, file, timeRange, setattr(dirVar, "fillValue", dfillValue) ## Extract the GridDataHistory info and save it - storeGridDataHistory(file, we, wec, trList, timeRange) + storeGridDataHistory(file, we, wec, overlappingTimes) logEvent("Saved", gridCount, varName, "grids") @@ -1001,11 +978,10 @@ def storeWeatherWE(we, trList, file, timeRange, databaseID, invMask, clipArea): byteCube = numpy.empty(shape=(gridCount, clipSize[1], clipSize[0]), dtype=numpy.int8) keyList = [] - wec = WECache(we, overlappingTimes) + wec = WECache(we, overlappingTimes, clipArea) for i,t in enumerate(overlappingTimes): wx = wec[t][0] - grid = clipToExtrema(wx[0], clipArea) - byteCube[i] = grid + byteCube[i] = wx[0] keyList.append(wx[1]) # make the variable name @@ -1070,7 +1046,7 @@ def storeWeatherWE(we, trList, file, timeRange, databaseID, invMask, clipArea): setattr(var, "fillValue", fillValue) ## Extract the GridDataHistory info and save it - storeGridDataHistory(file, we, wec, trList, timeRange) + storeGridDataHistory(file, we, wec, overlappingTimes) logEvent("Saved", gridCount, varName, "grids") @@ -1092,11 +1068,10 @@ def storeDiscreteWE(we, trList, file, timeRange, databaseID, invMask, clipArea): byteCube = numpy.empty(shape=(gridCount, clipSize[1], clipSize[0]), dtype=numpy.int8) keyList = [] - wec = WECache(we, overlappingTimes) + wec = WECache(we, overlappingTimes, clipArea) for i,t in enumerate(overlappingTimes): dis = wec[t][0] - grid = clipToExtrema(dis[0], clipArea) - byteCube[i] = grid + byteCube[i] = dis[0] keyList.append(dis[1]) @@ -1160,7 +1135,7 @@ def storeDiscreteWE(we, trList, file, timeRange, databaseID, invMask, clipArea): setattr(var, "fillValue", fillValue) ## Extract the GridDataHistory info and save it - storeGridDataHistory(file, we, wec, trList, timeRange) + storeGridDataHistory(file, we, wec, overlappingTimes) logEvent("Saved", gridCount, varName, "grids") @@ -1335,7 +1310,8 @@ def main(outputFilename, parmList, databaseID, startTime, try: timeRange = makeTimeRange(argDict['startTime'], argDict['endTime']) except: - sys.exit(1) + logException("Unable to create TimeRange from arguments: startTime= " + str(argDict['startTime']) + ", endTime= " + argDict['endTime']) + return # See if the databaseID is valid. An exception will be tossed db = IFPDB(argDict['databaseID']) diff --git a/edexOsgi/com.raytheon.edex.plugin.goessounding/res/spring/goessounding-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.goessounding/res/spring/goessounding-ingest.xml index ea38fe8764..25158070e6 100644 --- a/edexOsgi/com.raytheon.edex.plugin.goessounding/res/spring/goessounding-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.goessounding/res/spring/goessounding-ingest.xml @@ -12,7 +12,7 @@ - + goessounding - +
--> - + goessounding diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.deprecated/grib-decode.xml b/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.deprecated/grib-decode.xml index 19b4807c0b..c8556bce9f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.deprecated/grib-decode.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.deprecated/grib-decode.xml @@ -6,14 +6,11 @@ - + - - - - + @@ -61,7 +58,7 @@ autoStartup="false"> - + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.future/grib-decode.xml b/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.future/grib-decode.xml index 19236c7b3d..3c36fb0ed9 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.future/grib-decode.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/res/spring.future/grib-decode.xml @@ -6,14 +6,11 @@ - + - - - - + @@ -57,7 +54,7 @@ autoStartup="false"> - + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_NCEP-7.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_NCEP-7.xml index 516afb5ee1..eaa7bc52b4 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_NCEP-7.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_NCEP-7.xml @@ -791,6 +791,11 @@ HPCGuide
6
+ + HPCGuide-2.5km + HPCGuide-2.5km +
6
+
HPCGuide-AK HPCGuide-AK diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_RFC-9.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_RFC-9.xml index 9f7bf13420..b6b933f6a3 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_RFC-9.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/datasetInfo/gribDatasets_RFC-9.xml @@ -515,11 +515,6 @@ FFG-TIR
1
- - FFG-TIR-HiRes - FFG-TIR-HiRes -
1
-
QPE-TIR QPE-TIR diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/purge/gribPurgeRules.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/purge/gribPurgeRules.xml index 5e97026f27..c8c8d047cf 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/purge/gribPurgeRules.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/purge/gribPurgeRules.xml @@ -383,6 +383,12 @@ 2 00-00:15:00 + + + HPCGuide-2.5km + 2 + 00-00:15:00 + GFSGuide diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml index 0b3c077a4a..94cafe010b 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/grid161.xml @@ -26,8 +26,8 @@ UpperLeft 137 102 - 0.5 - 0.5 + 0.50367647058823528 + 0.50495049504950495 degree -0.25 340.25 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml index 219bddfe51..7e83234f0c 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml @@ -2879,7 +2879,6 @@ HPCGuide
7
5 - 197 183 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml index 15eb7b2bd5..5483816d9d 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RFC-9.xml @@ -1079,19 +1079,9 @@ 180 - - - FFG-TIR -
9
- 160 - 240160 - - 151 - -
- FFG-TIR-HiRes + FFG-TIR
9
160 250160 diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/7/5/4.2.0.1.table b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/7/5/4.2.0.1.table index 0cae767a57..fa0c25f3c2 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/7/5/4.2.0.1.table +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/tables/7/5/4.2.0.1.table @@ -1,6 +1,6 @@ # Product Discipline 0: Meteorological products, Parameter Category 1: Moisture #192-254 Reserved for local use -192:192:Categorical Rain::CRAIN +192:192:Weather::wxType 193:193:Categorical Freezing Rain::CFRZR 194:194:Categorical Ice Pellets::CICEP 195:195:Categorical Snow::CSNOW diff --git a/edexOsgi/com.raytheon.edex.plugin.ldad/res/spring/ldad-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.ldad/res/spring/ldad-ingest.xml index 3cc4285252..6c33246a98 100644 --- a/edexOsgi/com.raytheon.edex.plugin.ldad/res/spring/ldad-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.ldad/res/spring/ldad-ingest.xml @@ -21,11 +21,11 @@ ldad - +
- + diff --git a/edexOsgi/com.raytheon.edex.plugin.ldadhydro/res/spring/ldadhydro-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.ldadhydro/res/spring/ldadhydro-ingest.xml index ae1cc4c127..3cfd3faf96 100644 --- a/edexOsgi/com.raytheon.edex.plugin.ldadhydro/res/spring/ldadhydro-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.ldadhydro/res/spring/ldadhydro-ingest.xml @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ errorHandlerRef="errorHandler" autoStartup="false"> - + diff --git a/edexOsgi/com.raytheon.edex.plugin.ldadmanual/res/spring/ldadmanual-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.ldadmanual/res/spring/ldadmanual-ingest.xml index 86f2581985..9bfdd35584 100644 --- a/edexOsgi/com.raytheon.edex.plugin.ldadmanual/res/spring/ldadmanual-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.ldadmanual/res/spring/ldadmanual-ingest.xml @@ -14,7 +14,7 @@ - + - + diff --git a/edexOsgi/com.raytheon.edex.plugin.ldadprofiler/res/spring/ldadprofiler-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.ldadprofiler/res/spring/ldadprofiler-ingest.xml index 18fb79835a..cdde40ba86 100644 --- a/edexOsgi/com.raytheon.edex.plugin.ldadprofiler/res/spring/ldadprofiler-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.ldadprofiler/res/spring/ldadprofiler-ingest.xml @@ -16,7 +16,7 @@ - + ldadprofiler - + --> - + diff --git a/edexOsgi/com.raytheon.edex.plugin.modelsounding/res/spring/modelsounding-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.modelsounding/res/spring/modelsounding-ingest.xml index d2479bf461..5a664102f7 100644 --- a/edexOsgi/com.raytheon.edex.plugin.modelsounding/res/spring/modelsounding-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.modelsounding/res/spring/modelsounding-ingest.xml @@ -22,7 +22,7 @@ - + modelsounding - + --> - + modelsounding diff --git a/edexOsgi/com.raytheon.edex.plugin.obs/res/spring/obs-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.obs/res/spring/obs-ingest.xml index 493be3e3cd..cd52a3a7e1 100644 --- a/edexOsgi/com.raytheon.edex.plugin.obs/res/spring/obs-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.obs/res/spring/obs-ingest.xml @@ -14,7 +14,7 @@ - + obs - + --> - + obs diff --git a/edexOsgi/com.raytheon.edex.plugin.pirep/res/spring/pirep-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.pirep/res/spring/pirep-ingest.xml index 8a3bc973bd..444d2faa3f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.pirep/res/spring/pirep-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.pirep/res/spring/pirep-ingest.xml @@ -34,12 +34,12 @@ pirep - + --> - + pirep diff --git a/edexOsgi/com.raytheon.edex.plugin.poessounding/res/spring/poessounding-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.poessounding/res/spring/poessounding-ingest.xml index 431cfa949a..b82366bf4b 100644 --- a/edexOsgi/com.raytheon.edex.plugin.poessounding/res/spring/poessounding-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.poessounding/res/spring/poessounding-ingest.xml @@ -9,7 +9,7 @@ - + poessounding - + --> - + poessounding diff --git a/edexOsgi/com.raytheon.edex.plugin.profiler/res/spring/profiler-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.profiler/res/spring/profiler-ingest.xml index c7023d4244..6b15f7bfe7 100644 --- a/edexOsgi/com.raytheon.edex.plugin.profiler/res/spring/profiler-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.profiler/res/spring/profiler-ingest.xml @@ -9,7 +9,7 @@ - + profiler - + --> - + profiler diff --git a/edexOsgi/com.raytheon.edex.plugin.radar/res/spring/radar-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.radar/res/spring/radar-ingest.xml index 992b1ffa71..4099b9b31c 100644 --- a/edexOsgi/com.raytheon.edex.plugin.radar/res/spring/radar-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.radar/res/spring/radar-ingest.xml @@ -6,12 +6,11 @@ - + - - + @@ -54,7 +53,7 @@ - + radar-sbn @@ -62,7 +61,7 @@ - + radar-local diff --git a/edexOsgi/com.raytheon.edex.plugin.recco/res/spring/recco-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.recco/res/spring/recco-ingest.xml index ffbb96a228..2ef0c4dbe6 100644 --- a/edexOsgi/com.raytheon.edex.plugin.recco/res/spring/recco-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.recco/res/spring/recco-ingest.xml @@ -33,13 +33,13 @@ recco - + --> - + recco diff --git a/edexOsgi/com.raytheon.edex.plugin.redbook/res/spring/redbook-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.redbook/res/spring/redbook-ingest.xml index c040dfe92c..710cbff1f2 100644 --- a/edexOsgi/com.raytheon.edex.plugin.redbook/res/spring/redbook-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.redbook/res/spring/redbook-ingest.xml @@ -10,7 +10,7 @@ - + - + redbook diff --git a/edexOsgi/com.raytheon.edex.plugin.satellite/res/spring/satellite-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.satellite/res/spring/satellite-ingest.xml index 1a7cbda284..0268baaa52 100644 --- a/edexOsgi/com.raytheon.edex.plugin.satellite/res/spring/satellite-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.satellite/res/spring/satellite-ingest.xml @@ -4,11 +4,11 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> - + - + @@ -47,13 +47,13 @@ satellite - + --> - + satellite diff --git a/edexOsgi/com.raytheon.edex.plugin.sfcobs/res/spring/sfcobs-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.sfcobs/res/spring/sfcobs-ingest.xml index 74331b1784..a8d9d8c731 100644 --- a/edexOsgi/com.raytheon.edex.plugin.sfcobs/res/spring/sfcobs-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.sfcobs/res/spring/sfcobs-ingest.xml @@ -13,7 +13,7 @@ - + sfcobs - + --> - + sfcobs diff --git a/edexOsgi/com.raytheon.edex.plugin.shef/res/spring/shef-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.shef/res/spring/shef-ingest.xml index ba744a3c9a..94e68bba7a 100644 --- a/edexOsgi/com.raytheon.edex.plugin.shef/res/spring/shef-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.shef/res/spring/shef-ingest.xml @@ -4,11 +4,11 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> - + - + @@ -47,13 +47,13 @@ factory-method="register"> + value="jms-dist:queue:Ingest.Shef"/> - + + uri="jms-durable:queue:Ingest.ShefManual"/> @@ -92,7 +92,7 @@ + uri="jms-shef:queue:Ingest.Shef"/> shef @@ -103,7 +103,7 @@ + uri="jms-shef:queue:Ingest.ShefStaged"/> shef @@ -119,7 +119,7 @@ - + @@ -134,7 +134,7 @@ + uri="jms-durable:queue:Ingest.ShefStaged"/>
@@ -155,7 +155,7 @@ + uri="jms-shef:queue:Ingest.ShefManual"/> shef diff --git a/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/RecordMgr.java b/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/RecordMgr.java index f578ee3a07..15650ae2a2 100644 --- a/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/RecordMgr.java +++ b/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/RecordMgr.java @@ -41,6 +41,7 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * June 15, 2011 9377 jnjanga Initial creation + * Sep 05, 2013 16549 wkwock Fix the query * * * @@ -147,7 +148,7 @@ class RecordMgr { private static String modeSubClause() { if (options.getMode() == ReportMode.UNREPORTED) - return " AND action_time IS NULL AND "; + return " AND action_time IS NULL "; else return " "; } diff --git a/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/ReportWriter.java b/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/ReportWriter.java index 764590e7a1..58b3d924c8 100644 --- a/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/ReportWriter.java +++ b/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/alarms/ReportWriter.java @@ -62,7 +62,8 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * June 15, 2011 9377 jnjanga Initial creation - * July 12, 2013 15711 wkwock Fix verbose, observe mode, etc + * July 12, 2013 15711 wkwock Fix verbose, observe mode, etc + * Sep 05, 2013 16539 wkwock Fix RECENT, NEAR_NOW,FRESH,and NEW_OR_INCREASED modes * * * @@ -84,8 +85,6 @@ class ReportWriter { private Date now; - private long window; - private Date startTime; private Date endTime; @@ -102,10 +101,12 @@ class ReportWriter { this.reportData = new StringBuilder(); this.opt = opt; this.now = now; - window = opt.getMinutes() * 60; - startTime = new Date(now.getTime() - window); - endTime = new Date(now.getTime() + window); - + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MINUTE, opt.getMinutes()); + endTime = cal.getTime(); + cal.add(Calendar.MINUTE, opt.getMinutes()*(-2)); + startTime = cal.getTime(); + } @@ -376,8 +377,6 @@ class ReportWriter { Alertalarmval maxfcst = findMaxfcst(grpData); Alertalarmval latestReport = findLatestAction(grpData); - long latestActiontime = 0; - long latestPosttime = 0; Date posttime = null; double latestValue = -88888.; @@ -448,6 +447,17 @@ class ReportWriter { } break; + case RECENT: + for (Alertalarmval aav : grpData) { + Date postingTime = aav.getPostingtime(); + if (postingTime.after(startTime)) { + writeAAval(aav); + updateDatabase(aav); + alarmCount++; + } + } + break; + case LATEST_MAXFCST: if (grpTs0 == 'R' || grpTs0 == 'P') { @@ -471,11 +481,13 @@ class ReportWriter { */ for (Alertalarmval aav : grpData) { - if ((grpTs0 == 'R' || grpTs0 == 'P') && latestReport != null) { + if ((grpTs0 == 'R' || grpTs0 == 'P')) { Date validtime = aav.getId().getValidtime(); - latestActiontime = latestReport.getId().getValidtime() - .getTime(); - if (validtime.after(new Date(latestActiontime + window))) { + Calendar cal = Calendar.getInstance(); + if (latestReport != null) + cal.setTime(latestReport.getId().getValidtime()); + cal.add(Calendar.MINUTE, opt.getMinutes()); + if (latestReport==null || validtime.after(cal.getTime())) { writeAAval(aav); updateDatabase(aav); alarmCount++; @@ -485,9 +497,7 @@ class ReportWriter { if (grpTs0 == 'F' || grpTs0 == 'C') { if (maxfcst != null && isNotNull(maxfcst.getActionTime().getTime())) { - latestActiontime = maxfcst.getActionTime().getTime(); - Date latestActiondate = maxfcst.getActionTime(); - if (latestActiondate.before(startTime)) { + if (maxfcst.getActionTime().before(startTime)) { writeAAval(maxfcst); updateDatabase(maxfcst); alarmCount++; @@ -498,10 +508,13 @@ class ReportWriter { break; case NEW_OR_INCREASED: + Calendar cal = Calendar.getInstance(); for (Alertalarmval aav : grpData) { if (latestReport != null) { - latestPosttime = aav.getPostingtime().getTime(); - latestValue = aav.getValue(); + latestValue = latestReport.getValue(); + cal.setTime(latestReport.getPostingtime()); + } else { + cal.setTimeInMillis(0); } if (isNull(aav.getActionTime().getTime())) { @@ -512,8 +525,9 @@ class ReportWriter { * has a higher value than the last posted record's value * (i.e. the report is 'increased'), then report it. */ + cal.add(Calendar.MINUTE, opt.getMinutes()); - if (posttime.after(new Date(latestPosttime + window)) + if (posttime.after(cal.getTime()) || (aav.getValue() > latestValue)) { writeAAval(aav); updateDatabase(aav); @@ -553,8 +567,6 @@ class ReportWriter { Alertalarmval latestReport = findLatestAction(grpData); Alertalarmval maxfcstVal = findMaxfcst(grpData); - long latestActiontime = 0; - long latestPosttime = 0; Date posttime = null; double latestValue = -88888.; @@ -579,18 +591,21 @@ class ReportWriter { * forecast value */ - if ((ts0 == 'R' || ts0 == 'P') && latestReport != null) { - Date validtime = aav.getId().getValidtime(); - latestActiontime = latestReport.getId().getValidtime() - .getTime(); - if (validtime.after(new Date(latestActiontime + window))) + if ((ts0 == 'R' || ts0 == 'P') ) { + if (latestReport == null) + return true; + + Date validtime = aav.getId().getValidtime(); + Calendar cal = Calendar.getInstance(); + cal.setTime(latestReport.getId().getValidtime()); + cal.add(Calendar.MINUTE, opt.getMinutes()); + if (validtime.after(cal.getTime())) return true; } if (ts0 == 'F' || ts0 == 'C') { if (maxfcstVal != null && isNotNull(maxfcstVal.getActionTime().getTime())) { - latestActiontime = maxfcstVal.getActionTime().getTime(); Date latestActiondate = maxfcstVal.getActionTime(); if (latestActiondate.before(startTime)) return true; @@ -600,9 +615,12 @@ class ReportWriter { case NEW_OR_INCREASED: /* get the last reported record and its time and value. */ + Calendar cal = Calendar.getInstance(); if (latestReport != null) { - latestPosttime = aav.getPostingtime().getTime(); - latestValue = aav.getValue(); + latestValue = latestReport.getValue(); + cal.setTime(latestReport.getPostingtime()); + } else { + cal.setTimeInMillis(0); } if (isNull(aav.getActionTime().getTime())) { @@ -613,8 +631,9 @@ class ReportWriter { * has a higher value than the last posted record's value * (i.e. the report is 'increased'), then report it. */ + cal.add(Calendar.MINUTE, opt.getMinutes()); - if (posttime.after(new Date(latestPosttime + window))) { + if (posttime.after(cal.getTime())) { return true; } else if (aav.getValue() > latestValue) { return true; @@ -682,10 +701,12 @@ class ReportWriter { short dur = aav.getId().getDur(); if (dur != 0) { Object[] durData = getShefDurInfo(dur); - if (durData == null) + if (durData == null) devbStr[0] = "Duration=" + dur; - else - devbStr[0] = (String) durData[2] + Constants.SPACE; + else { + Object[] aDurData = (Object[]) durData[0] +; devbStr[0] = (String) aDurData[2] + Constants.SPACE; + } } else { devbStr[0] = Constants.SPACE; @@ -837,9 +858,10 @@ class ReportWriter { private Alertalarmval findLatestAction(List grpData) { TreeSet actions = new TreeSet( new ActiontimeComparator()); - for (Alertalarmval aav : grpData) + for (Alertalarmval aav : grpData) { if (isNotNull(aav.getActionTime().getTime())) actions.add(aav); + } return actions.isEmpty() ? null : actions.first(); } @@ -986,7 +1008,7 @@ class ReportWriter { flushDataLimitsObj(limits); dateWithin = checkDateRange(validtime, mds, mde); if (dateWithin) { - copyThresholds(limits, limRow, !locRangeFound); + copyThresholds(limits, limRow, locRangeFound); break; } } @@ -1148,7 +1170,7 @@ class ReportWriter { public static boolean isNull(long value) { boolean result = false; - if (value == getNullLong()) { + if (value == getNullLong() || value==0) { result = true; } diff --git a/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/database/PostTables.java b/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/database/PostTables.java index c355d74a3d..1fc27abaf0 100644 --- a/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/database/PostTables.java +++ b/edexOsgi/com.raytheon.edex.plugin.shef/src/com/raytheon/edex/plugin/shef/database/PostTables.java @@ -80,6 +80,7 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; * 02/24/2012 14535 W. Kwock Correct the duration value. * 11/29/2012 15530 lbousaidi corrected posting and production time for * latestobsvalue table. + * 09/19/2013 16515 w. Kwock Fix the excessive digits in rawpp,lake,height...tables * * * @@ -1065,7 +1066,7 @@ public class PostTables { cs.setString(5, shefData.getExtremum().getCode()); cs.setTimestamp(6, new Timestamp(shefData.getObservationTimeObj() .getTime())); - cs.setFloat(7, Float.parseFloat(dataValue)); + cs.setDouble(7, Double.parseDouble(dataValue)); cs.setString(8, qualifier); cs.setInt(9, (int) qualityCode); @@ -1184,7 +1185,7 @@ public class PostTables { cs.setString(5, shefData.getExtremum().getCode()); cs.setTimestamp(6, new java.sql.Timestamp(shefData .getObservationTimeObj().getTime())); - cs.setFloat(7, Float.parseFloat(dataValue)); + cs.setDouble(7, Double.parseDouble(dataValue)); cs.setString(8, qualifier); cs.setInt(9, (int) qualityCode); @@ -1316,7 +1317,7 @@ public class PostTables { timeStamp = new java.sql.Timestamp(basisDate.getTime()); cs.setTimestamp(8, timeStamp); - cs.setFloat(9, Float.parseFloat(dataValue)); + cs.setDouble(9, Double.parseDouble(dataValue)); cs.setString(10, qualifier); @@ -1534,7 +1535,7 @@ public class PostTables { ps.setTimestamp(8, timeStamp2); // ps.setFloat(9, Float.parseFloat(shefDataValue.getStringValue())); - ps.setFloat(9, shefDataValue.getValue().floatValue()); + ps.setDouble(9, shefDataValue.getValue().floatValue()); if (updateFlag) { ps.setString(10, lid); diff --git a/edexOsgi/com.raytheon.edex.plugin.taf/res/spring/taf-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.taf/res/spring/taf-ingest.xml index 6fa7bc90db..fcd1df9358 100644 --- a/edexOsgi/com.raytheon.edex.plugin.taf/res/spring/taf-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.taf/res/spring/taf-ingest.xml @@ -9,13 +9,13 @@ - + - + taf - + --> - + taf @@ -69,7 +69,5 @@
- - \ No newline at end of file diff --git a/edexOsgi/com.raytheon.edex.plugin.text/res/spring/text-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.text/res/spring/text-ingest.xml index 7a14ef86cb..982bc1af13 100644 --- a/edexOsgi/com.raytheon.edex.plugin.text/res/spring/text-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.text/res/spring/text-ingest.xml @@ -11,13 +11,13 @@ - + - + @@ -28,12 +28,11 @@ - + - - + @@ -61,7 +60,7 @@ text - +
--> @@ -115,7 +114,7 @@ - + text @@ -142,7 +141,7 @@ - + @@ -151,7 +150,7 @@ - + diff --git a/edexOsgi/com.raytheon.edex.plugin.textlightning/res/spring/textlightning_ep-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.textlightning/res/spring/textlightning_ep-ingest.xml index f4a6428e18..feb8c3a7a6 100644 --- a/edexOsgi/com.raytheon.edex.plugin.textlightning/res/spring/textlightning_ep-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.textlightning/res/spring/textlightning_ep-ingest.xml @@ -9,7 +9,7 @@ - + textlightning - + --> - + textlightning diff --git a/edexOsgi/com.raytheon.edex.plugin.warning/res/spring/warning-ingest.xml b/edexOsgi/com.raytheon.edex.plugin.warning/res/spring/warning-ingest.xml index 85a08e2df5..a088d2fc1b 100644 --- a/edexOsgi/com.raytheon.edex.plugin.warning/res/spring/warning-ingest.xml +++ b/edexOsgi/com.raytheon.edex.plugin.warning/res/spring/warning-ingest.xml @@ -8,13 +8,13 @@ - + - + - + - - + @@ -49,7 +48,7 @@ warning - + --> @@ -57,7 +56,7 @@ Warning routes --> - + warning @@ -72,7 +71,7 @@ - + @@ -89,6 +88,5 @@ - \ No newline at end of file diff --git a/edexOsgi/com.raytheon.uf.common.archive/com.raytheon.uf.common.archive.ecl b/edexOsgi/com.raytheon.uf.common.archive/com.raytheon.uf.common.archive.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.base.feature/com.raytheon.uf.common.base.feature.ecl b/edexOsgi/com.raytheon.uf.common.base.feature/com.raytheon.uf.common.base.feature.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.datadelivery.harvester/com.raytheon.uf.common.datadelivery.harvester.ecl b/edexOsgi/com.raytheon.uf.common.datadelivery.harvester/com.raytheon.uf.common.datadelivery.harvester.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/RemapGrid.java b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/RemapGrid.java index eb7e0e1cf5..620b41bf9a 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/RemapGrid.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/RemapGrid.java @@ -63,6 +63,8 @@ import com.vividsolutions.jts.geom.Coordinate; * 5/16/08 875 bphillip Initial Creation. * 10/10/12 #1260 randerso Added getters for source and destination glocs * 02/19/13 #1637 randerso Fixed remapping of byte grids + * 08/27/13 #2287 randerso Removed 180 degree adjustment required by error + * in Maputil.rotation * * * @@ -598,7 +600,7 @@ public class RemapGrid { Coordinate llc = destinationGloc .latLonCenter(new Coordinate(x1, y1)); this.rotation.set(x1, y1, - (float) (180 - MapUtil.rotation(llc, sourceGloc))); + (float) (-MapUtil.rotation(llc, sourceGloc))); } } } diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.level/utility/common_static/base/level/alias/gempak.xml b/edexOsgi/com.raytheon.uf.common.dataplugin.level/utility/common_static/base/level/alias/gempak.xml index 3026665927..50cca22d39 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.level/utility/common_static/base/level/alias/gempak.xml +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.level/utility/common_static/base/level/alias/gempak.xml @@ -66,7 +66,6 @@ HCLY HTSLW FRZH - HTFL HGHT HTSLW HYBL diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.npp.nucaps/com.raytheon.uf.common.dataplugin.npp.nucaps.ecl b/edexOsgi/com.raytheon.uf.common.dataplugin.npp.nucaps/com.raytheon.uf.common.dataplugin.npp.nucaps.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.npp.sounding/com.raytheon.uf.common.dataplugin.npp.sounding.ecl b/edexOsgi/com.raytheon.uf.common.dataplugin.npp.sounding/com.raytheon.uf.common.dataplugin.npp.sounding.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/util/RadarRecordUtil.java b/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/util/RadarRecordUtil.java index 0ca1b6e03c..a7e4a3138c 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/util/RadarRecordUtil.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/util/RadarRecordUtil.java @@ -59,7 +59,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Mar 19, 2013 1804 bsteffen Reduce useless data stored in radar hdf5 * Mar 19, 2013 1804 bsteffen Remove empty data structures from radar * hdf5. - * + * Sep 03, 2013 DR 13083 gzhang Add DHR Bias support for ADAD(38)/(46). * * * @author mnash @@ -507,7 +507,7 @@ public class RadarRecordUtil { map.put(DHRValues.ZRMULTCOEFF, parseDHRValue(v[vi + 9])); map.put(DHRValues.ZRPOWERCOEFF, parseDHRValue(v[vi + 10])); map.put(DHRValues.MAXPRECIPRATEALLOW, parseDHRValue(v[vi + 25])); - map.put(DHRValues.BIASAPPLIEDFLAG, parseDHRValue(v[vi + 37])); + map.put(DHRValues.BIASAPPLIEDFLAG, parseDHRValue(v[vi + 37])); biasApplied = map.get(DHRValues.BIASAPPLIEDFLAG) > 0;// DR 13083 s = v[46]; if (s.equals("SUPL(15)")) { biasCalculated = parseDHRValue(v[71]); @@ -524,10 +524,10 @@ public class RadarRecordUtil { map.put(DHRValues.MAXPRECIPRATEALLOW, parseDHRValue(v[vi + 25])); s = v[68]; if (s.equals("BIAS(11)")) { - map.put(DHRValues.BIASAPPLIEDFLAG, parseDHRValue(v[53])); + map.put(DHRValues.BIASAPPLIEDFLAG, parseDHRValue(v[53])); biasApplied = map.get(DHRValues.BIASAPPLIEDFLAG) > 0;// DR 13083 biasCalculated = parseDHRValue(v[77]); } else if (s.equals("BIAS( 9)")) { - map.put(DHRValues.BIASAPPLIEDFLAG, parseDHRValue(v[53])); + map.put(DHRValues.BIASAPPLIEDFLAG, parseDHRValue(v[53])); biasApplied = map.get(DHRValues.BIASAPPLIEDFLAG) > 0;// DR 13083 biasCalculated = parseDHRValue(v[73]); } vi = nv; @@ -537,7 +537,7 @@ public class RadarRecordUtil { map.put(DHRValues.FLAGZEROHYBRID, (double) flagZeroHybrid); if (!biasApplied) { biasCalculated = 1.0; - } + } else { if(biasCalculated < 0.01 || biasCalculated > 100.0) biasCalculated = 1.0; } // DR 13083 map.put(DHRValues.BIAS, biasCalculated); // Also include logic from A1 FFMPContainer::read(), FFMP_ORPG case diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/EmergencyType.java b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/EmergencyType.java new file mode 100644 index 0000000000..bcb1ff1d76 --- /dev/null +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/EmergencyType.java @@ -0,0 +1,91 @@ +/** + * This software was developed and / or modified by Raytheon Company, + * pursuant to Contract DG133W-05-CQ-1067 with the US Government. + * + * U.S. EXPORT CONTROLLED TECHNICAL DATA + * This software product contains export-restricted data whose + * export/transfer/disclosure is restricted by U.S. law. Dissemination + * to non-U.S. persons whether in the United States or abroad requires + * an export license or other authorization. + * + * Contractor Name: Raytheon Company + * Contractor Address: 6825 Pine Street, Suite 340 + * Mail Stop B8 + * Omaha, NE 68106 + * 402.291.0100 + * + * See the AWIPS II Master Rights File ("Master Rights File.pdf") for + * further licensing information. + **/ +package com.raytheon.uf.common.dataplugin.warning; + +/** + * Helps manage and identify emergency products. + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * Sep  4, 2013  2176      jsanchez     Initial creation
+ * 
+ * 
+ * + * @author jsanchez + * @version 1.0 + */ + +public class EmergencyType { + + public static final String EMER = "EMER"; + + private static final EmergencyType TORNADO = new EmergencyType( + "TORNADO EMERGENCY", "TO.W"); + + private static final EmergencyType FLASH_FLOOD = new EmergencyType( + "FLASH FLOOD EMERGENCY", "FF.W"); + + private final String value; + + private final String phensig; + + private final static EmergencyType[] values = new EmergencyType[] { + TORNADO, FLASH_FLOOD }; + + private EmergencyType(String type, String phensig) { + this.value = type; + this.phensig = phensig; + } + + public static EmergencyType valueOf(String phensig) { + EmergencyType type = null; + for (EmergencyType t : values) { + if (t.phensig.equals(phensig)) { + type = t; + break; + } + } + return type; + } + + /** + * Checks to see if the text product is an emergency product. + * + * @param rawmessage + * @return + */ + public static boolean isEmergency(String rawmessage) { + for (EmergencyType type : values) { + if (rawmessage != null && rawmessage.contains(type.getValue())) { + return true; + } + } + return false; + } + + public String getValue() { + return value; + } + +} diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/GeometryUtil.java b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/GeometryUtil.java index 0f7eb99cb2..b26beb59b4 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/GeometryUtil.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/GeometryUtil.java @@ -26,6 +26,7 @@ import com.vividsolutions.jts.geom.prep.PreparedGeometry; * ------------ ---------- ----------- -------------------------- * Nov 15, 2010 mschenke Initial creation * Apr 28, 2013 1955 jsanchez Added an ignoreUserData flag to intersection method. + * Oct 01, 2013 DR 16632 Qinglu Lin Catch exceptions thrown by intersection(). * * * @@ -120,8 +121,13 @@ public class GeometryUtil { if (g1Name == null || g2Name == null || g2Name.equals(g1Name) || ignoreUserData) { - Geometry section = g1.intersection(g2); - if (section.isEmpty() == false) { + Geometry section = null; + try { + section = g1.intersection(g2); + } catch (Exception e) { + ; //continue; + } + if (section != null && section.isEmpty() == false) { if (g2.getUserData() != null) { if (section instanceof GeometryCollection) { for (int n = 0; n < section.getNumGeometries(); ++n) { diff --git a/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/db/QueryParam.java b/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/db/QueryParam.java index 8231b6a3ef..cd3d6bb77a 100644 --- a/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/db/QueryParam.java +++ b/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/db/QueryParam.java @@ -24,20 +24,21 @@ import java.util.HashMap; import java.util.Iterator; /** - * Encapsulates the query parameters for a database query + * Encapsulates the query parameters for a database query. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer    Description
  * ------------ ---------- ----------- --------------------------
- * 05/29/08     #875       bphillip    Initial Creation
+ * May 29, 2008 875        bphillip    Initial Creation
+ * Oct 07, 2013 2392       rjpeter     Updated to auto handle passing a null value to an equal operand.
  * 
* * @author bphillip * @version 1.0 */ public class QueryParam { - + /** Enumeration containing the logic operands */ public enum QueryOperand { EQUALS, NOTEQUALS, LESSTHAN, LESSTHANEQUALS, GREATERTHAN, GREATERTHANEQUALS, IN, LIKE, ILIKE, BETWEEN, ISNULL, ISNOTNULL @@ -71,11 +72,12 @@ public class QueryParam { /** The query operand */ private String operand = "="; - + private String className; /** - * Creates a new QueryParam. Operand defaults to equals + * Creates a new QueryParam. Operand defaults to equals, unless value is + * null, then operand is isNull. * * @param field * The field @@ -83,12 +85,12 @@ public class QueryParam { * The value */ public QueryParam(String field, Object value) { - this.field = field; - this.value = value; + this(field, value, "=", null); } /** - * Creates a new QueryParam. + * Creates a new QueryParam. If value is null and operand is =, operand is + * updated to isNull. * * @param field * The field @@ -98,31 +100,66 @@ public class QueryParam { * The operand */ public QueryParam(String field, Object value, String operand) { - this.field = field; - this.value = value; - this.operand = operand; + this(field, value, operand, null); } - - public QueryParam(String field, Object value, String operand,String className) { + + /** + * Creates a new QueryParam. If value is null and operand is =, operand is + * updated to isNull. + * + * @param field + * @param value + * @param operand + * @param className + */ + public QueryParam(String field, Object value, String operand, + String className) { this.field = field; this.value = value; - this.operand = operand; + + if (value == null && "=".equals(operand)) { + this.operand = "isNull"; + } else { + this.operand = operand; + } + this.className = className; } - + + /** + * Creates a new QueryParam. If value is null and operand is =, operand is + * updated to isNull. + * + * @param field + * @param value + * @param operand + */ public QueryParam(String field, Object value, QueryOperand operand) { - this.field = field; - this.value = value; - this.operand = QueryParam.reverseTranslateOperand(operand); + this(field, value, operand, null); } - - public QueryParam(String field, Object value, QueryOperand operand,String className) { + + /** + * Creates a new QueryParam. If value is null and operand is =, operand is + * updated to isNull. + * + * @param field + * @param value + * @param operand + * @param className + */ + public QueryParam(String field, Object value, QueryOperand operand, + String className) { this.field = field; this.value = value; - this.operand = QueryParam.reverseTranslateOperand(operand); + + if (value == null && QueryOperand.EQUALS.equals(operand)) { + this.operand = "isNull"; + } else { + this.operand = QueryParam.reverseTranslateOperand(operand); + } + this.className = className; } - /** * Translates the string representation of an operand to the enumeration @@ -147,6 +184,7 @@ public class QueryParam { return "="; } + @Override public String toString() { return new StringBuffer().append(field).append(" ") .append(this.operand).append(" ").append(this.value).toString(); diff --git a/edexOsgi/com.raytheon.uf.common.geospatial/src/com/raytheon/uf/common/geospatial/MapUtil.java b/edexOsgi/com.raytheon.uf.common.geospatial/src/com/raytheon/uf/common/geospatial/MapUtil.java index f16cd33f5f..167a7bcfa5 100644 --- a/edexOsgi/com.raytheon.uf.common.geospatial/src/com/raytheon/uf/common/geospatial/MapUtil.java +++ b/edexOsgi/com.raytheon.uf.common.geospatial/src/com/raytheon/uf/common/geospatial/MapUtil.java @@ -94,6 +94,8 @@ import com.vividsolutions.jts.geom.Polygon; * 06/19/2012 14988 D. Friedman Make oversampling more like AWIPS 1 * 09/18/2012 #1091 randerso corrected getBoundingEnvelope * 11/06/2012 15406 ryu Added convertToNativeEnvelope() + * 08/27/2013 #2287 randerso Fixed rotation methods so it is not necessary + * to subtract 180 from the returned value * * * @@ -1062,12 +1064,13 @@ public class MapUtil { * the right of UP is north (or 360) degrees. * * @param latLon + * @param spatialObject * @return rotation angle */ public static double rotation(Coordinate latLon, ISpatialObject spatialObject) { - double newLatLonY = latLon.y + 0.05; + double newLatLonY = latLon.y - 0.05; if (newLatLonY > 90) { newLatLonY -= 180; } @@ -1098,11 +1101,12 @@ public class MapUtil { * the right of UP is north (or 360) degrees. * * @param latLon + * @param geometry * @return rotation angle */ public static double rotation(Coordinate latLon, GridGeometry2D geometry) { - double newLatLonY = latLon.y + 0.05; + double newLatLonY = latLon.y - 0.05; if (newLatLonY > 90) { newLatLonY -= 180; } diff --git a/edexOsgi/com.raytheon.uf.common.localization.python/com.raytheon.uf.common.localization.python.ecl b/edexOsgi/com.raytheon.uf.common.localization.python/com.raytheon.uf.common.localization.python.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/scan/ScanUtils.java b/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/scan/ScanUtils.java index 49fc2d0149..a99224937c 100644 --- a/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/scan/ScanUtils.java +++ b/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/scan/ScanUtils.java @@ -76,7 +76,7 @@ import com.vividsolutions.jts.io.WKTWriter; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 02/11/2009 1981 dhladky Initial Creation. - * + * 09/03/2013 DR 13083 gzhang Added getZRvalue2() to fix an error. * * * @author dhladky @@ -1927,4 +1927,34 @@ public class ScanUtils { return returns; } + + /** + * DR 13083: the first parameter zValue will use a radar bin's raw data + * since old version handles value 66 wrong in getDecodedDHRValue(int). + * + * Usage: to be called in FFMPProcessor.processRADAR(ArrayList): + + 1). comment out fval line; + 2). call ScanUtils.getZRvalue2; + 3). use dataVals[j] as the first parameter in the step 2 above. + */ + public static float getZRvalue2(double zValue, double coefficent, + double hailCap, double power, double bias) { + // The Fulton et al 1998 standard NWS Z-R relationship + double rValue = 0.0f; + if (zValue >= 2) { + zValue = MIN_DHR_DBZ + ((zValue - 2) * DHR_DBZ_STEP); + double rlogMult = Math.log10(coefficent); + rValue = bias*(Math.pow(10.0, ((zValue-10.0*rlogMult)/(10.0*power)))); + + // hail cap check + if (rValue > hailCap) { + return (float) (MM_TO_INCH * hailCap); + } + } else { + return (float) rValue; + } + + return (float) (MM_TO_INCH * rValue); + } } diff --git a/edexOsgi/com.raytheon.uf.common.ohd/utility/common_static/base/hydro/Apps_defaults b/edexOsgi/com.raytheon.uf.common.ohd/utility/common_static/base/hydro/Apps_defaults index d3908a8b55..9904db1bca 100644 --- a/edexOsgi/com.raytheon.uf.common.ohd/utility/common_static/base/hydro/Apps_defaults +++ b/edexOsgi/com.raytheon.uf.common.ohd/utility/common_static/base/hydro/Apps_defaults @@ -1,1871 +1,1876 @@ -# -# Official National .Apps_defaults file for AWIPS Release OB8.3 -# Also see .Apps_defaults_site for override settings -# Revision History: -# 11/06/2001 - adjusted many directory locations of precip_proc tokens. -# notable changes: st3_mkimage, rfcwide_input_dir -# added pproc_local, pproc_local_data, pproc_log -# grouped tokens together for 3 subsystems - shefdecode, whfs, -# precip_proc. -# placed precip_proc section after ofs since there are some -# dependencies -# changed value of whfs_editor -# added hydro_publicbin token -# added pproc_util_log_dir -# 07/01/2002 - added ens_input, ens_output, ens_files -# 07/22/2002 - add global gaff execution token -# 11/04/2002 - added disagg tokens -# 08/29/2003 - added sqlcmd_bin_dir -# 08/20/2003 - added ligtning_input_dir, lightning_log_dir -# 10/03/2003 - added tokens gage_qc, sccqc_threshold, mpe_scc_boxes_failed, -# mpe_msc_precip_limit -# 10/10/2003 - changed token names to mpe_gage_qc, mpe_sccqc_threshold -# - changed mpe_gage_qc token value to ON -# 02/04/2004 - Added new tokens for ens_pre netCDF enhancement --kwz -# 2/4/2004 - added mpe_locbias_1hr_rerun token -# 02/11/2004 - Added hv_map_projection. -# 02/19/2004 - Removed stage2 and stage3 related tokens. -# 03/10/2004 - Added mpe_mlmosaic_calc and rfcwide_mlmosaic_dir tokens. -# 03/16/2004 - Added rfcwide_lsatpre_dir, rfcwide_satstate_var_dir, -# mpe_lsatpre_calc. -# 03/19/2004 - Added mpe_del_gage_zeros. -# 03/22/2004 - added sshp tokens -# 03/24/2004 - Added rpf_min_dur_filled -# 03/31/2004 - Added SSHP tokens -# 04/26/2004 - added sshp_invoke_map_preprocess and -# sshp_java_process_host tokens for the -# mpe_fieldgen scripts -# 05/06/2004 - Added more RFC archive database (adb) tokens -# 06/28/2004 - Added preadj_outts_dir -# 07/31/2004 - Added gage_pp_userid, gage_pp_host, gage_pp_data, gage_pp_log -# and gage_pp_sleep. -# 08/10/2004 - ssh- Added gage_pp_userid, gage_pp_host, gage_pp_data, -# gage_pp_log, gage_pp_sleep, gage_pp_enable, shef_post_precip -# 08/12/2004 - Added timeseries_begintime, timeseries_endtime, timeseries_mode -# timeseries_showcat, timeseries_linewidth, dam_icon_color -# 10/14/2004 - Added the mpe_generate_list token. BAL -# 10/14/2004 - Removed the tokens: mpe_mlmosaic_calc, mpe_lsatpre_calc -# 11/05/2004 - Corrected spelling of timeseries_endime. RAE -# 11/23/2004 - Added the mpe_show_missing_gage token. -# 01/07/2005 - Added the sum_pc_reports token. This controls how PC-based -# precipitation totals are derived. -# 01/10/2005 - Added the sum_pc_reports token. -# 01/28/2005 - Added AWIPS MODIFICATION BLOCK. When gmake is run in the -# development tree location of .Apps_defaults, a copy of it -# will be placed in /awips/hydroapps with the lines modified -# in the AWIPS modification block to work in the /awips/hydroapps -# tree. -# 01/28/2005 - Modified the definitions of adb_shef_pro_err_dir and -# adb_shef_pro_logs_dir. -# Added the pghost, and pguser, pgport tokens for PostGres. -# 04/21/2005 - Changed shefdecode_host and gage_pp_host to dx. -# 04/28/2005 - Added hv_min_dur_filled token. Added ppp_ppd_local_7am_window -# token. -# 5/5/2005 - Added SSHP tokens sshp_initial_forecast_length, sshp_max_forecast_length, -# sshp_sac_update_expiration_hours, sshp_sac_update_hours_forward. -# Moved sshp_fcst_ts to be next to the rest of the SSHP tokens. -# 5/11/2005 - Changed pguser token value to pguser. -# 6/9/2005 - Changed value of grib_rls (location of gribit executable) -# - Added new tokens mpe_d2d_display_grib, d2d_input_dir, mpe_send_grib -# 6/15/2005 - Changed value for d2d_input_dir token -# 9/13/2005 - Replaced the edit_poly token with the rfcwide_drawpre_dir -# token. This directory will contain the precip edit polygons -# drawn in Hydroview/MPE and applied in MPE Fieldgen. -# 9/22/2005 - Added the rfcwide_gageloc_dir and rfcwide_beamheight_dir tokens. -# 9/27/2005 - Added the hdb_db_name token. Contains the name of the database -# used by the historical data browser. -#10/6/2005 - Modified the value of the rfcwide_utiltriangles_dir token to -# be under local/data/app/mpe instead of local/data/mpe. -#10/6/2005 - Added the mpe_base_radar_mosaic token. -#02/7/2006 - Added the mpe_split_screen token. -#02/8/2006 - Added tokens for the PDC Preprocessor -#02/9/2006 - Added mpe_polygon_action_order and mpe_polygon_field_order -# tokens. -#03/2/2006 - Added new tokens for DailyQC. Added renamed MPE tokens. -#04/19/2006 - Added new tokens for controling the orientation/appearance -# of the historical data browser and the locations of the help -# and configuration directory. -#05/30/2006 - Modified the token values for datview_plot_font and anav_data. -# Added the following tokens for archive database programs: -# adb_shef_pro_tmp_dir, adb_shef_raw_tmp_dir, -# adb_shef_raw_add_adjust, rax_pghost, adb_name -#05/30/2006 - Added the mpe_send_qpe_to_sbn token. -#06/06/2006 - Added the grib_set_subcenter_0 token. -#07/07/2006 - Added the ifp_griddb_dir token. -#09/05/2006 - Added the dhm_d2d_data_dir and dhm_d2d_notify_dir tokens. -#10/02/2006 - Added the sshp_map_qpe_to_use token. -#11/02/2006 - Added the mpe_qpe_grib_sbn_dir token. -#11/17/2006 - Added the mpe_qpe_sbn_dir token. -#05/08/2007 - Added tokens for the rfc bias transfer project. -#05/09/2007 - Added 3 tokens for SRG field directories -#05/14/2007 - Added token for rdhm input directory -#O5/23/2007 - Added sshp_show_simulated_timeseries, changed sshp_background_fcst_length to -# sshp_background_forecast_length -#05/23/2007 - Add tokens for RiverPro: rpf_endtime_shifthrs, -# show_vtecqc_window, event_expire_withinhr -#06/18/2007 - Added the send_local_bias_when_rfc_bias_missing token. -# Biasmesgen reads this token to determine whether or not -# to send the locally generated MPE bias to the RPG if -# the RFC bias is not available. -#06/28/2007 - Added DailyQC preprocessor token dqc_preprocessor_basetime -#07/17/2007 - Added rgb_file_path token. Used by new Color Manager in Hydroview -# and MPE Editor. -#10/24/2007 - Added dhm_rain_plus_melt_data_dir token -#11/08/2007 - Added tokens for IHFS->RAX Synchronization: adb_sync_logs_dir, -# adb_sync_mode, adb_sync_tablenames, adb_sync_ihfs_ingest, adb_sync_rivercrit -#1/16/2008 - added new tokens for disagg processing -# mpe_disagg_execute, mpe_disagg_method, mpe_disagg_6hreq_0,mpe_disagg_6hrgt_0 -#3/22/2008 - Added variable substitution for database port. -# -#3/5/2008 - Modified the value of the mpe_mmosaic_dir token. There was a typo in the -# product name. It was mrmosaic. It is now mmosaic. -#05/19/2008 - Added sshp_hpn_minutes_before and sshp_hpn_minutes_after tokens. -# These tokens define the time window for the SSHP HPN Prerocessor. -#07/07/08 - Added sshp_show_unadjusted_states // for sshp -# -#10/01/09 - Added 5 tokens for arcnav application. //only for arcnav for raxum application -#10/03/12 - Added token section for script execution - - -# ============================================================================== -# To see syntax rules for this file, see the bottom of this file -# -# Also see .Apps_defaults_site for overriding settings -# - -#$============================================================================= -#$ This section contains the tokens whose values are different between the -#$ development and the delivery tree. The value give is the development -#$ value. The commented value is the delivery value. The uncommented value -#$ is in the development tree. All of these tokens must be enclosed -#$ by the AWIPS_MODIFICATION_BLOCK_BEGIN and AWIPS_MODIFICATION_BLOCK_END -#$ tags. Token names and commented lines should at column 1. - -#AWIPS_MODIFICATION_BLOCK_BEGIN - -apps_dir : $(SHARE_DIR)/hydroapps # Hydrologic applications directory - -data_archive_root : /data_store # root directory of the data archive - -mcp3_icp_iface : $(HOME)/mcp3_ntrfc -#mcp3_icp_iface : /tmp/$(LOGNAME)/mcp3_ntrfc - -verify_dir : $(apps_dir)/rfc/verify #base verify directory -#verify_dir : /rfc_arc/verify #base verify directory - -vsys_dir : $(apps_dir)/rfc/verify #base verify directory -#vsys_dir : $(verify_dir) #base verify directory - -#AWIPS_MODIFICATION_BLOCK_END - -#===================== Apps/Script Execution Tokens ================================= -WhfsSrv : ON -WhfsSrv.purge_files : ON -WhfsSrv.run_db_purge : ON -WhfsSrv.run_floodseq : ON -PprocSrv : ON -PprocSrv.purge_mpe_files : ON -PprocSrv.purge_hpe_file : ON -MpeFieldGenSrv.run_mpe_fieldgen : ON -WhfsSrv.run_pdc_pp : ON -WhfsSrv.run_alarm_whfs : ON -WhfsSrv.run_alarm_whfs.run_roc_checker : ON -WhfsSrv.run_alarm_whfs.run_report_alarm : ON -WhfsSrv.run_alarm_whfs.run_report_alarm.textdb : ON -ArealQpeGenSrv : ON -DqcPreProcSrv : ON -DqcPreProcSrv.run_dqc_preprocessor : ON -MpeRUCFreezingLevel : ON -MpeLightningSrv : ON -#==================================================================================== - -# ============================================================================== - -# Executable directory tokens. -sys_java_dir : /awips2/java # Location of Java COTS software -hydro_publicbin : $(apps_dir)/public/bin -sqlcmd_bin_dir : /usr/local/sqlcmd/bin # location of sqlcmd executable on both HP and - # Linux beginning in OB3 - -################################################################################# -# Default Display Maps - comma separated list of maps with no spaces -# Map names can be found in the localization perspective under -# CAVE->Bundles->Maps. Use the filename without the extension. -# statesCounties.xml -> statesCounties -# -# display_maps - default display maps for Hydro Perspective -# mpe_display_maps - default display maps for MPE Perspective -display_maps : statesCounties -mpe_display_maps : statesCounties -################################################################################# - -# database selection tokens -server_name : ONLINE # Informix database server name -db_name : hd_ob92lwx # IHFS database name -damcat_db_name : dc_ob5xxx # Dam Catalog database name -hdb_db_name : ob81_histdata # Historical database. -pghost : localhost # The machine PostGres is running on -pguser : awips # The user allowed to access PostGres -pgport : 5432 # The PostGres Server port -adb_name : adb_ob7xxx # RFC archive database name -rax_pghost : ax # The machine PostGres is running on for the adb - -# vacuum log dir token. -vacuum_log_dir : $(whfs_log_dir)/vacuum - -# WHFS specific tokens -whfs_tz : EST5EDT # WHFS time zone for local time -whfs_primary_radar : TLX # WHFS primary radar id, for Stage II - -# damcat tokens -damcat_hostoffice_type : wfo # source of run-from office -damcat_office_datasource : ohd # which data source is used -max_storage_value : 0.00 # max storage volume filter -damcat_data : /tmp/damcatData - -# Damcrest tokens -damcrest.db_enabled : true # set to true when the user has damcat database -damcrest.hasListAllDams : true # when set to true, all dams will be displayed initially - -# Path to the editor used by Damcrest -damcrest.editor : /usr/bin/gvim - -# Path to the damcrest data directory where input and output files -# of the model are stored -damcrest_data_dir : $(whfs_local_data_dir)/damcrest - -# Path to the directory where .vimrc resource file resides. -# This resource file is needed when editor in Damcrest application -# is set to gvim. -damcrest_res_dir : $(whfs_config_dir)/damcrest - -#===================== SHEFDECODE Application Tokens ================================ - -shefdecode_userid : oper # controlling UNIX user -shefdecode_host : dx1f # controlling UNIX system. -shefdecode_dir : $(apps_dir)/shefdecode # main directory location -shefdecode_bin : $(shefdecode_dir)/bin # executable programs location -shefdecode_input : $(shefdecode_dir)/input # SHEF parameter file location -shef_data_dir : /data/fxa/ispan/hydro # input products location - -shefdecode_log : $(shefdecode_dir)/logs/decoder # daily log files location -shef_error_dir : $(shefdecode_dir)/logs/product # product log files location -shef_keeperror : ALWAYS # keep product log files (=ALWAYS) or - # only when errors occur (=IF_ERROR) -shef_perflog : ON # ON/OFF - create a separate performance log file to - # save internal decoder timing messages for - # monitoring performance -shef_data_log : ON # ON/OFF - include messages in the log file detailing - the SHEF records -dupmess : ON # ON/OFF - include messages in the log file about - # duplicate data -elgmess : ON # ON/OFF - include messages in the log file about - # data types not found in IngestFilter or - # data types turned off in IngestFilter -locmess : ON # ON/OFF - include messages in the log file about - # stations and areas not found in Location - # or GeoArea - -shef_sleep : 10 # sleep duration in seconds in between queries -shef_winpast : 10 # number of days in past to post data -shef_winfuture : 30 # number of minutes in future to post obs data -shef_duplicate : IF_DIFFERENT # flag for handling duplicate date - # ALWAYS_OVERWRITE-always overwrite when value repeats - # USE_REVCODE-if revcode set overwrite duplicate value - # IF_DIFFERENT-overwrite if new value is different - # IF_DIFFERENT_OR_REVCODE-overwrite if new value is - # different or revcode is set -shef_load_ingest : ON # ON/OFF - automatically load the IngestFilter table or not - # with (station id-PEDTSE) combinations as they - # arrive in the input data flow -shef_storetext : OFF # ON/OFF - post/don't post raw encoded SHEF text messages - # to the TextProduct table -shef_post_unk : NONE # NONE - do not post to the UnkStn nor UnkStnValue tables - # IDS_ONLY - post only location identifiers for unknown - # stations to the UnkStn table - # IDS_AND_DATA - post all data from unknown stations to - # the UnkStnValue table -shef_post_baddata : REJECT # PE/REJECT - post data that have failed the gross range - # check to the physical element data tables (=PE) OR - # to the RejectedData table (=REJECT) -shef_procobs : OFF # ON/OFF - post Processed data values (i.e., TS=P*) to - # the observation data tables (=ON) or to - # the ProcValue table (=OFF) -shef_post_latest : ON # ON/OFF - post/don't post data to the LatestObsValue table - # VALID_ONLY - post data to the LatestObsValue table - # ONLY if the gross range check is passed -shef_post_link : ON # ON/OFF - post/don't post data to the ProductLink table -shef_load_maxfcst : ON # ON/OFF - after each product that resulted in forecast - # height or discharge data being posted, load - # the maximum forecast data into the RiverStatus table -shef_alertalarm : ON # ON/OFF - causes shefdecoder to screen data against - # alert and alarm thresholds -# -- Intermediate output from ShefParser prior to post -shef_out : OFF - - -#===================== WHFS Applications Tokens ================================ - -whfs_base_dir : $(apps_dir)/whfs # top of the WHFS tree -whfs_local_dir : $(whfs_base_dir)/local # top of WHFS local tree -whfs_local_data_dir : $(whfs_local_dir)/data # top of WHFS local data tree -whfs_local_grid_dir : $(whfs_local_data_dir)/grid # top of WHFS grids tree -whfs_log_dir : $(whfs_local_data_dir)/log # top of WHFS logs tree - -whfs_local_bin_dir : $(whfs_local_dir)/bin # local WHFS executables - -whfs_geodata_dir : $(whfs_local_data_dir)/geo # WHFS map backgrounds -whfs_image_dir : $(whfs_local_data_dir)/image # user-saved image files -whfs_import_dir : $(whfs_local_data_dir)/import # files to import into WHFS -whfs_product_dir : $(whfs_local_data_dir)/product # WHFS generated external products -whfs_report_dir : $(whfs_local_data_dir)/report # user-saved text reports -whfs_lines_per_page : 60 - -whfs_config_dir : $(whfs_local_data_dir)/app # WHFS app configuration files -rpf_template_dir : $(RPF_TEMPLATE_DIR) # RiverPro templates -metar_config_dir : $(whfs_config_dir)/metar2shef # METAR translator config -metar2shef_options : " -a -b -p1 -y2k -salias -p6 -p24 -round -w -strip " -ts_config_dir : $(whfs_config_dir)/timeseries # Time Series config -hv_config_dir : $(whfs_config_dir)/hydroview # Hydroview pixmaps etc. -hv_help_dir : $(hv_config_dir)/help/ # Hydroview Help direc. -rivermon_config_dir : $(whfs_config_dir)/rivermon/ # RiverMonitor Conf dir. - -whfs_misc_grid_dir : $(whfs_local_grid_dir)/misc # misc WHFS grids - -rgb_file_path : /usr/share/X11/rgb.txt # Location of X/Motif color file. - -rpf_log_dir : $(RPF_LOG_DIR) # RiverPro logs -rivermon_log_dir : $(whfs_log_dir)/rivermon # RiverMonitor logs -obsfcstmonitor_log_dir : $(whfs_log_dir)/obsfcst_monitor # ObsFcstMonitor logs -whfs_util_log_dir : $(whfs_log_dir)/misc # WHFS misc logs -precip_accum_log_dir : $(whfs_log_dir)/precip_accum # precip_accum logs -floodseq_log_dir : $(whfs_log_dir)/floodseq # flood sequencer logs -metar_log_dir : $(whfs_log_dir)/metar2shef # METAR translator logs -hb_gagrad_log_dir : $(whfs_log_dir)/create_gagradloc # gage-radar locator logs -qcalarm_log_dir : $(whfs_log_dir)/qcalarm # batch QC logs - -db_purge_log_dir : $(whfs_log_dir)/db_purge # db_purge token -db_purge_backup_retention_use : ON # db_purge token for using backup retention value - -purge_files_log_dir : $(whfs_log_dir)/misc # purge_files token - -whfs_bin_dir : $(whfs_base_dir)/bin # WHFS executables -sws_parent_dir : $(whfs_bin_dir) # SWS parent dir -sws_home_dir : $(whfs_bin_dir)/pa # SWS dir - -# ----------------------------------------------------------------- -# The Gage Precip Processor tokens -# ----------------------------------------------------------------- - -gage_pp_userid : oper # controlling UNIX user -gage_pp_host : dx # controlling UNIX system -gage_pp_data : $(pproc_local_data)/gpp_input # input data files location -gage_pp_log : $(pproc_log)/gage_pp # daily log files location -gage_pp_sleep : 10 # sleep duration in seconds in between queries -gage_pp_enable : ON # gpp enabled; shef uses to determine post -shef_post_precip : OFF # post to Precip/CurPrecip tables -build_hourly_enable : ON # Enable the build_hourly application - -# ---------------------------------------------------------------- -# The following tokens are most likely to be customized by the user -# (the first 4 MUST be customized at each site in the .Apps_defaults_site file) -# ---------------------------------------------------------------- -hv_center_lat : 35.0 # HydroView center latitude -hv_center_lon : -97.8 # HydroView center longitude -hv_height_in_pixels : 900 # Hydroview map height in pixels -hv_width_in_pixels : 1200 # Hydroview map width in pixels -hv_map_width : 320 # HydroView map width (nautical miles) -hv_pointdata_display : ON # Hydroview point data display flag (ON, OFF) -hv_hours_in_window : 4 # Change window hours -hv_zoom_out_limit : 20 # Limits how far the map can be zoomed out -hv_disclosure_limit : 60 # Prog disclosure limit -hv_zoom_threshold : 150 # nautical miles; Hydroview - # detail level for cities/towns -hv_map_projection : FLAT # Sets default map projection used in - # hydroview/MPE. Options are FLAT, POLAR - # or HRAP. -hv_refresh_minutes : 15 # HydroView auto refresh time (minutes) -hv_riverbasis : maxobsfcst # initial river basis for river characteristics -hv_min_dur_filled : 0.0 # Minimum percentage of accum interval covered - # by precip data. -ppp_ppd_local_7am_window : 3 # Number of +/- hours around 7 AM local to - # to use PPP and PPD reports for 24 hour - # precip summaries. - # values either obs, fcst, maxobsfcst -shefencode_prodid : CCCCNNNXXX # product identifier for outgoing SHEF - # encoded messages from Hydro Time Series -whfs_editor : whfs_editor # WHFS text editor -rpf_linewidth : 80 # width of line in RiverPro generated products -rpf_min_dur_filled : 0.25 # min percent time of requested precip dur in RiverPro -office_prefix : K # fourth char prepended to 3-char office id -vtec_record_stageoffset : 2.0 # ft offset from record value for H-VTEC field -vtec_record_flowoffset : 5000.0 # cfs offset from record value for H-VTEC field -pproc_s2_gridgen_hrs : 5 # WHFS Stage II lookback (hours) -whfs_min_dur_filled : 0.83 # WHFS min fractional time duration needed for radar accumulations -whfs_min_area_covered : 0.80 # WHFS min fractional area needed to compute MAPs -whfs_printcommand_HP : lp # command used to print WHFS apps reports on HP -whfs_printcommand_LX : lp # command used to print WHFS apps reports - # on LX -whfs_e19_print_command : "lp -o cpi=19 -o lpi=7" # command used to print e19 text reports - -dam_icon_color : BROWN # Color used for dam icon in Hydroview -timeseries_begintime : 5 # number of days back relative to current time -timeseries_endtime : 3 # number of days ahead relative to current time -timeseries_showcat : 2 # scale by data and show categories -timeseries_linewidth : 1 # width of line drawn on graph -timeseries_mode : STATION # set to GROUP or STATION mode -timeseries_dist_shef : OFF # ON/OFF token for the shef send script distribute check box - # Defaults to off if not set -rpf_stage_window : 0.5 # set stage window for determining the trend - # variables in RiverPro -show_vtecqc_window : IF_ERROR #or ALWAYS, used in RiverPro -rpf_endtime_shifthrs : 6 # in RiverPro -event_expire_withinhr : 3 # in RiverPro - -#=====Tokens To Generate Areal FFG from Mosaicked FFG Grids for Use By SSHP===== -# (NOTE: gaff_rfc_list MUST be customized at EVERY Field Office) - -gaff_execution : ON # ON/OFF token for the gen_areal_ffg process - # the gen_areal_ffg process is run from the - # process_dpa_files script at WFOs -gaff_rfc_list : ABRFC,LMRFC # list of RFCs to be mosaicked - # list is comma separated, no embedded - # spaces are allowed -gaff_input_dir : $(EDEX_HOME)/data/processing - # directory containing gridded FFG - # generated by RFCs -gaff_look_back_limit : 60 # number of hours to look back for valid gridded - # FFG data for input -gaff_mosaic_dir : $(whfs_misc_grid_dir) # directory containing output - # mosaicked gridded FFG in - # netCDF format -gaff_durations : 1,3,6 # FFG durations in hours - # list is comma separated, no embedded - # spaces are allowed - - -# ================= "ds_" system tokens (see more in site file) =============== - -ofs_dir : $(apps_dir)/rfc/nwsrfs/ofs -util_dir : $(apps_dir)/rfc/nwsrfs/util -calb_dir : $(apps_dir)/rfc/nwsrfs/calb -ifp_dir : $(apps_dir)/rfc/nwsrfs/ifp -icp_dir : $(apps_dir)/rfc/nwsrfs/icp -ens_dir : $(apps_dir)/rfc/nwsrfs/ens -fld_dir : $(apps_dir)/rfc/fld - - -hdb_dir : $(apps_dir)/rfc/hdb - -# = = = = = = = = = = = = = = = = = = = = = = end "ds_" system requirements = = - -ofs_rls : $(ofs_dir)/bin/RELEASE -util_rls : $(util_dir)/bin/RELEASE -calb_rls : $(calb_dir)/bin/RELEASE -ffg_rls : $(ffg_dir)/bin/RELEASE -ifp_rls : $(ifp_dir)/bin/RELEASE -icp_rls : $(icp_dir)/bin/RELEASE -ens_rls : $(ens_dir)/bin/RELEASE -hdb_rls : $(hdb_dir)/bin/RELEASE -fld_rls : $(fld_dir)/bin/RELEASE -xsets_rls : $(xsets_dir)/bin/RELEASE -xnav_rls : $(xnav_dir)/bin/RELEASE -xdat_rls : $(xdat_dir)/bin/RELEASE - -ofs_arc : $(ofs_dir)/bin/ARCHIVE -util_arc : $(util_dir)/bin/ARCHIVE -calb_arc : $(calb_dir)/bin/ARCHIVE -ffg_arc : $(ffg_dir)/bin/ARCHIVE -ifp_arc : $(ifp_dir)/bin/ARCHIVE -icp_arc : $(icp_dir)/bin/ARCHIVE -ens_arc : $(ens_dir)/bin/ARCHIVE -hdb_arc : $(hdb_dir)/bin/ARCHIVE -fld_arc : $(fld_dir)/bin/ARCHIVE -xsets_arc : $(xsets_dir)/bin/ARCHIVE -xnav_arc : $(xnav_dir)/bin/ARCHIVE -xdat_arc : $(xdat_dir)/bin/ARCHIVE -# = = = = = = = = = = = = = = = = = = = = = = end of other "ds_" tokens = = = = - -# LDAD shefencode tokens -ldad_data_dir : /awips/ldad/data # the LDAD internal data dir -shefenc_pe_table : $(ldad_data_dir)/ShefEncoder_PE.tbl -shefenc_units_table : $(ldad_data_dir)/ShefEncoder_Units.tbl - -# NWSRFS tokens - -rfs_dir : $(apps_dir)/rfc/nwsrfs # Top-level rfs mt. -rfs_sys_dir : $(rfs_dir)/sys_files # RFS system files -rfs_doc : $(rfs_dir)/doc # NWSRFS documentation - -# OFS tokens -locks_dir : $(rfs_dir)/locks -ofs_lock_max_wait : 60 # no. of mins to wait to get an ofs lock -ofs_lock_wait_interval : 5 # no. of secs 'tween retries to get an ofs lock -ofs_locks_max_pass : 4 # no. of attempts to make to get a set of locks. - -ofs_level : oper -ofs_reor_lvl : oper_new -ofs_inpt_grp : oper - -home_files_workstation : ds - -ofs_log_output : off # whether to output file r/w info -ofs_error_output : on # whether to output file error info -fortran_stderr : 7 # FORTRAN standard error unit - -ofs_bin : $(ofs_dir)/bin # OFS executables dir -ofs_files : $(ofs_dir)/files # OFS file group -ofs_fs5files : $(ofs_files)/$(ofs_level)/fs5files # OFS files dir -ofs_reorder_dir : $(ofs_files)/$(ofs_reor_lvl)/fs5files # OFS reordered files -ofs_output : $(ofs_dir)/output # OFS output dir -ofs_input : $(ofs_dir)/input/$(ofs_inpt_grp) # OFS input dir -ofs_input_dflt : $(ofs_dir)/input/$(ofs_inpt_grp) # OFS input dir -ofs_shefdata_dir: $(ofs_files)/$(ofs_level)/shefdata # OFS SHEF data dir -ofs_shefout_dir : $(ofs_files)/$(ofs_level)/shefdata # OFS shefout file dir -ofs_mods_dir : $(ofs_files)/$(ofs_level)/mods # OFS MODS files dir -ofs_griddb_dir : $(ofs_files)/$(ofs_level)/griddb # OFS gridded fields -ofs_scripts : $(ofs_dir)/scripts # OFS scripts dir -ofs_server : apwk01g2 # OFS "slave" server -my_output : $(ofs_output)/$(LOGNAME) # users ofs output files - -ndfd2rfs_input : $(ofs_files)/$(ofs_level)/ndfd -ndfd2rfs_output : $(my_output) -ndfd2rfs_log_level : 0 - -fldview_dir : $(apps_dir)/rfc/fldview/floodmapdata - -# calb tokens -calb_bin : $(calb_dir)/bin -calb_lib : $(calb_dir)/lib - -calb_data_grp : oper -calb_inpt_grp : oper -calb_input : $(calb_dir)/input/$(calb_inpt_grp) -calb_output : $(calb_dir)/output -calb_sta_ts_dir : $(calb_dir)/data/sta_ts/$(calb_data_grp) -calb_area_ts_dir : $(calb_dir)/data/area_ts/$(calb_data_grp) -peakflow_data_dir : $(calb_dir)/data/area_ts/$(calb_data_grp) - -calb_gzio_read : off # whether or not to read gzipped DATACARD files -calb_gzio_write : off # whether or not to write gzipped DATACARD files - -nwsrfs_calbfile_default : CARD # default calibration file type -nwsrfs_platform : AIX # operating system - -# ICP tokens -icp_bin : $(icp_dir)/bin -icp_pw : hILLEL -icp_scripts : $(icp_dir)/scripts - -mcp_decks : $(calb_input)/mcp3 -mcp_dir : $(calb_rls) - -# IFP tokens -ifp_help_dir : $(ifp_dir)/help_files # IFP help files -ifp_bin_dir : $(ifp_dir)/bin/RELEASE # IFP bin files - ref in code -ifp_nwsrfs_bin_dir : $(ifp_dir)/bin/RELEASE # ifp_nwsrfs bin - ref in code -ifp_sys_dir : $(ifp_dir)/system # IFP system files -ifp_scripts_dir : $(ifp_dir)/scripts # IFP script files -ifp_options_dir : $(ifp_dir)/options # IFP options files -ifp_colors_dir : $(ifp_options_dir)/colors # IFP color files -ifp_fs5files : $(HOME)/ofs_ifp/fs5files # user copy of fs5files -ifp_rfc : host # name of RFC to run -ifp_num_columns : 3 # number of columns to display -ifp_gif_files : $(ofs_files)/$(ofs_level)/gif_files # gif files directory -ifp_sacco_dir : $(ofs_files)/$(ofs_level)/sacsnow_clim -ifp_dhm_data_dir : /data/dhm/$(LOGNAME) -ifp_griddb_dir : $(ifp_dhm_data_dir)/precip - -# Ensemble (ens) tokens - -espts_dir : $(ens_dir)/files/$(ofs_level)/espts #espts files esp -espadp_dir : $(ens_dir) -preadj_dir : $(ens_dir)/files/$(ofs_level)/cpc_fcsts -ens_input : $(ens_dir)/input/$(ofs_level) -ens_output : $(ens_dir)/output -ens_files : $(ens_dir)/files/$(ofs_level) -ens_scripts : $(ens_dir)/scripts - -# ens_pre tokens -##FXA_HOME : /px1data #taken out by kwz.2/11/04 -enspre_griddb : $(FXA_DATA)/Grid/SBN/netCDF/CONUS211/CPCoutlook -ens_log_dir : $(ens_output)/$(ofs_level) -ens_msglog_level : 5 -preadj_outts_dir : $(calb_area_ts_dir)/pre - -# FLDGRF tokens (added 6 April 2000) - -fldgrf_iface : $(HOME)/fldgrf - -# ofsde tokens - -ofsde_log_dir : $(ofs_output)/ofsde_logs # ofsde log dir - # (formerly ofsde_output_dir) -ofsde_ndate : 7 # number of days to search for forecast temps -ofsde_rrstime_check : OFF # flag to check obs times of RRS data - # against window around 12Z (OFF/ON) - -# intervals for max/min temperatures (used by ofsde) -# these represent number of hours around 12z - -intlrmn : 8 -inturmn : 2 -intlrzn : 2 -inturzn : 2 -intlrzx : 8 -inturzx : 2 -siipp_calc_624_PP : OFF # flag for calculating 6hr and 24hr - # PP data from PC data - # if running RFCWide, should be set to OFF - -# defaults for geographic data - -geo_data : $(apps_dir)/geo_data -geo_util : $(geo_data)/util - -geo_ifp_bin : $(geo_data)/$(ifp_rfc)/binary -geo_ifp_ascii : $(geo_data)/$(ifp_rfc)/ascii - -#===================== PRECIP_PROC Application Tokens ======================== - -# precip_proc directory - -pproc_dir : $(apps_dir)/precip_proc # precip proc top - # level dir -pproc_bin : $(pproc_dir)/bin # dir with precip proc exes -pproc_local : $(pproc_dir)/local # dir with local items, esp. data -pproc_local_data : $(pproc_local)/data # dir with local data -pproc_local_bin : $(pproc_local)/bin # dir with local bin -pproc_log : $(pproc_local_data)/log # dir with local logs - -pproc_util_log_dir : $(pproc_log)/misc # miscellaneous logs - -# DecodeDPA tokens (formerly DecodeHDP tokens that looked like hdp_*) - -dpa_log_dir : $(pproc_log)/decodedpa # DPA Decoder logs -dpa_prod_dir : /data/fxa/ispan/hdp # DPA input directory -dpa_gather : $(pproc_local_data)/dpa_gather # DPA gather directory -dpa_error_dir : $(pproc_local_data)/stage1_error # DPA error files -dpa_arch_dir : $(pproc_local_data)/stage1_archive # DPA archives -dpa_wind : 10 - - -dpa_filter_decode : ON # flag for non-top-of-hour - # filtering of decoded products - # ON - filter products for decode - # OFF - do not filter (ie decode all products) - -dpa_decode_window : 10 # number of minutes around top - # of hour for filtering products for - # decoding - -dpa_archive : OFF # ON/OFF flag for archiving products - # OFF - do not archive products - # ON - archive products and filter based - # on value of dpa_archive_window - -dpa_archive_window : 10 # number of minutes around top - # of hour for filtering products for archiving - -dpa_dirname1 : $(data_archive_root)/radar # first part of directory name - # containing DPA products for - # associated or dial in radars -dpa_dirname2 : DPA/layer0/res4/level256 # second part of directory name - # containing DPA products for - # associated or dial in radars -dpa_grid_dir : $(pproc_local_data)/stage1_decoded # decoded DPA radar grids - -# siipp tokens - -intpc : 10 # interval (minutes) around top of hour for using PC data -intlppp : 2 -intuppp : 2 -intppq : 2 -siipp_log_dir : $(pproc_log)/siipp # Stage II preprocessor logs - # (formerly siipp_output_dir) - -# tokens for stageiii -st3_help : $(pproc_local_data)/app/stage3/help # online help text - -st3_rfc : host -awips_rfc_id : TUA # 3 char AWIPS RFC identifier - # must be all upper case - -# tokens for stageiii output -st3_mapx_id : xmrg # identifier for Stage 3 output -st3_date_form : mdY # date format - # current allowable = Ymd or mdY - # similar to formatting codes for - # strftime function - -st3_output : $(ofs_griddb_dir) # dir for xmrg files for MAPX - # ofs_griddb_dir defined outside of pproc -st3_out_dir : $(pproc_local_data)/stage3 -post_output : $(st3_out_dir)/post_analysis - -# defaults for netCDF output - -st3_netcdf_loc : arkansas_red_basin_river_forecast_center_tulsa_ok - # underscores needed between words -st3_netcdf_swlat : 33.603 -st3_netcdf_swlon : 106.456 -st3_netcdf_selat : 32.433 -st3_netcdf_selon : 92.322 -st3_netcdf_nelat : 38.027 -st3_netcdf_nelon : 90.678 -st3_netcdf_nwlat : 39.420 -st3_netcdf_nwlon : 106.652 - -#defaults for auto stageiii -st3_auto_graphic_scale : 2.4 # used by gif file generation - -#===================== disagg Tokens (old disagg process)======================== - -disagg_msglog_level : 30 # message level - # possible values are 1,10,20,30,...80 - # lower values signify less info in log - -disagg_dur : 24 # maximum duration of precip gage data to - # be disaggregated - # possible values = 2,3,...,24 - -disagg_look_back : 0 # time (hours) to look back from current hour - # for precip gage data to be disaggregated - -disagg_radius : 3 # number of HRAP bins within which the QPE - # will be averaged for disagg - # for example, if disagg_radius = 3, then - # the 9 nearest neighbor QPE bin values - # will be averaged -disagg_set_date : 0 # identifier for current date (yyyymmdd). - # Default value is 0 - set to - # today date - -disagg_set_hour : 0 # identifier for current hour (hh). - # Default value is 0 - # Possible values = 0,1,2,3,...,23 - -disagg_log_dir : $(pproc_log)/disagg # directory containing disagg logs - -# =============== Multi-Sensor Precipitation Estimator (MPE) ================ - -rfcw_rfcname : host -rfcwide_logs_dir : $(pproc_log)/mpe_fieldgen -hmap_mpe_timelapse : 1000 # time between images, in milliseconds, for the MPE - # time lapse display - -### tokens for input ### - -rfcwide_input_dir : $(pproc_local_data)/app/mpe - -rfcwide_satpre_dir : $(mpe_fieldgen_product_dir)/satpre - -# the help_dir token needs a trailing slash because it is required byt -# the RFC software the processes the help info... - -rfcwide_help_dir : $(rfcwide_input_dir)/help/ -rfcwide_misbin_dir : $(rfcwide_input_dir)/misbin -rfcwide_prism_dir : $(rfcwide_input_dir)/prism -rfcwide_gageloc_dir : $(rfcwide_input_dir)/gage_locations -rfcwide_beamheight_dir : $(rfcwide_input_dir)/beam_height -rfcwide_utiltriangles_dir : $(rfcwide_input_dir)/utiltriangles - -### tokens for output ### -### NOTE: xmrg files are stored in dir defined by rfcwide_xmrg_dir token below - -rfcwide_output_dir : $(pproc_local_data)/mpe # fka ofs_griddb_dir defined outside of pproc - -rfcwide_gagetriangles_dir : $(rfcwide_output_dir)/gagetriangles -rfcwide_drawpre_dir : $(rfcwide_output_dir)/draw_precip - -rfcwide_avg_rmosaic_dir : $(rfcwide_output_dir)/avgrmosaic -rfcwide_max_rmosaic_dir : $(rfcwide_output_dir)/maxrmosaic -rfcwide_rmosaic_dir : $(rfcwide_output_dir)/rmosaic -rfcwide_bmosaic_dir : $(rfcwide_output_dir)/bmosaic -rfcwide_mmosaic_dir : $(rfcwide_output_dir)/mmosaic -rfcwide_mlmosaic_dir : $(rfcwide_output_dir)/mlmosaic -rfcwide_lmosaic_dir : $(rfcwide_output_dir)/lmosaic -rfcwide_lsatpre_dir : $(rfcwide_output_dir)/lsatpre -rfcwide_gageonly_dir : $(rfcwide_output_dir)/gageonly - -rfcwide_height_dir : $(rfcwide_output_dir)/height -rfcwide_index_dir : $(rfcwide_output_dir)/index -rfcwide_locbias_dir : $(rfcwide_output_dir)/locbias -rfcwide_locspan_dir : $(rfcwide_output_dir)/locspan -rfcwide_p3lmosaic_dir : $(rfcwide_output_dir)/p3lmosaic - -rfcwide_xmrg_dir : $(rfcwide_output_dir)/qpe -rfcwide_statevar_dir : $(rfcwide_output_dir)/state_var -rfcwide_sat_statevar_dir : $(rfcwide_output_dir)/sat_state_var -mpe_q2_statevar_dir : $(rfcwide_output_dir)/q2_state_var - -# ==================== MPE Tokens =============================== - -#daily qc options token defaults to 'off' where daily qc options are grayed out; values are 'on' and 'off' -mpe_dqc_options : off -mpe_map_background_color : GRAY20 # The default color of the MPE map background -mpe_temperature_window : 60 # The window in minutes the dqc preprocessor - # searches around a synoptic time - # (00z,06z,12z,18z) for temperature data. -mpe_maxminT_hour_window : 2 -mpe_dqc_max_precip_neighbors : 30 -mpe_dqc_max_temp_neighbors : 20 -mpe_dqc_precip_deviation : 3.0 -mpe_dqc_temperature_deviation : 10.0 -mpe_dqc_min_good_stations : 5 -mpe_copy_level2_dqc_to_ihfs_shef : OFF -mpe_copy_level2_dqc_to_archive_shef : OFF -mpe_dqc_num_days : 10 -mpe_dqc_warningpopup : on -mpe_dqc_6hr_24hr_set_bad : OFF # Define logic if user sets a 6hr value to Bad in the - # Edit Precip Stations window. - # OFF – if user sets 6hr value to Bad; 24hr value unaffected - # ON - if user sets 6hr value to Bad; 24hr value set to Bad - # Added at request of MBRFC to help with QC of SNOTEL. - -mpe_dqc_grid_max_dist : 70 # Max distance (units of grid bins) between a grid bin and a - # station to use the station to estimate the value at the grid bin. - -mpe_dqc_output_qc_file : OFF # ON/OFF default = OFF - -mpe_dqc_execute_internal_script : OFF # ON/OFF - -mpe_dqc_24hr_precip_grid_meth : USE_24HR # We use the token values of ACCUM_6HR and USE_24HR -mpe_td_new_algorithm : OFF # flag set for new algorithm in calculating Time Distributed estimate, the default - # is false -mpe_dqc_gridtype : SCALAR -mpe_dqc_projectiontype : POLAR_STEREOGRAPHIC -mpe_dqc_lonorigin : -105. - -#daily qc preprocessor tokens -dqc_preprocessor_basetime : 12Z #The value can be 12Z, 18Z, 00Z, or 06Z - -### MPE base directory tokens. -mpe_dir : $(pproc_local_data)/mpe -mpe_gageqc_dir : $(mpe_dir)/dailyQC -mpe_scratch_dir : $(mpe_gageqc_dir)/scratch -mpe_app_dir : $(pproc_local_data)/app/mpe -mpe_fieldgen_product_dir : $(mpe_dir) - -### MPE station list tokens -mpe_station_list_dir : $(mpe_app_dir)/station_lists -mpe_site_id : ounx -mpe_area_names : $(mpe_site_id) - -### MPE static data files -mpe_prism_dir : $(mpe_app_dir)/prism -mpe_misbin_dir : $(mpe_app_dir)/misbin -mpe_utiltriangles_dir : $(mpe_app_dir)/utiltriangles -mpe_beamheight_dir : $(mpe_app_dir)/beam_height -mpe_climo_dir : $(mpe_app_dir)/climo -mpe_help_dir : $(mpe_app_dir)/help -mpe_gridmask_dir : $(mpe_app_dir)/grid_masks -mpe_basin_file : $(whfs_geodata_dir)/basins.dat - -### MPE precipitation gage qc directories -mpe_precip_data_dir : $(mpe_gageqc_dir)/precip -mpe_bad_precip_dir : $(mpe_precip_data_dir)/bad -mpe_dev_precip_dir : $(mpe_precip_data_dir)/dev -mpe_map_dir : $(mpe_precip_data_dir)/MAP -mpe_grid_precip_dir : $(mpe_precip_data_dir)/grid -mpe_point_precip_dir : $(mpe_precip_data_dir)/point - -### MPE temperature gage qc directories -mpe_temperature_data_dir : $(mpe_gageqc_dir)/temperature -mpe_bad_temperature_dir : $(mpe_temperature_data_dir)/bad -mpe_dev_temperature_dir : $(mpe_temperature_data_dir)/dev -mpe_mat_dir : $(mpe_temperature_data_dir)/MAT -mpe_grid_temperature_dir : $(mpe_temperature_data_dir)/grid -mpe_point_temperature_dir : $(mpe_temperature_data_dir)/point - -### MPE freezing level gage qc directories -mpe_freezing_data_dir : $(mpe_gageqc_dir)/freezing_level -mpe_maz_dir : $(mpe_freezing_data_dir)/MAZ -mpe_grid_freezing_dir : $(mpe_freezing_data_dir)/grid -mpe_point_freezing_dir : $(mpe_freezing_data_dir)/point -ruc_model_data_dir : /data/fxa/Grid/SBN/netCDF/CONUS211/RUC - -### MPE 1 hour mosaics and fields and supporting reference fields. -mpe_avgrmosaic_dir : $(mpe_fieldgen_product_dir)/avgrmosaic -mpe_maxrmosaic_dir : $(mpe_fieldgen_product_dir)/maxrmosaic -mpe_bmosaic_dir : $(mpe_fieldgen_product_dir)/bmosaic -mpe_d2d_files_dir : $(mpe_fieldgen_product_dir)/d2d_files -mpe_polygon_dir : $(mpe_fieldgen_product_dir)/edit_polygon -mpe_gageonly_dir : $(mpe_fieldgen_product_dir)/gageonly -mpe_gagetriangles_dir : $(mpe_fieldgen_product_dir)/gagetriangles -mpe_height_dir : $(mpe_fieldgen_product_dir)/height -mpe_index_dir : $(mpe_fieldgen_product_dir)/index -mpe_lmosaic_dir : $(mpe_fieldgen_product_dir)/lmosaic -mpe_locbias_dir : $(mpe_fieldgen_product_dir)/locbias -mpe_locspan_dir : $(mpe_fieldgen_product_dir)/locspan -mpe_lsatpre_dir : $(mpe_fieldgen_product_dir)/lsatpre -mpe_mlmosaic_dir : $(mpe_fieldgen_product_dir)/mlmosaic -mpe_mmosaic_dir : $(mpe_fieldgen_product_dir)/mmosaic -mpe_qmosaic_dir : $(mpe_fieldgen_product_dir)/qmosaic -mpe_lqmosaic_dir : $(mpe_fieldgen_product_dir)/lqmosaic -mpe_mlqmosaic_dir : $(mpe_fieldgen_product_dir)/mlqmosaic -mpe_p3lmosaic_dir : $(mpe_fieldgen_product_dir)/p3lmosaic -mpe_qpe_dir : $(mpe_fieldgen_product_dir)/qpe -mpe_qpe_sbn_dir : $(mpe_fieldgen_product_dir)/qpe_sbn -mpe_qpe_gif_dir : $(mpe_fieldgen_product_dir)/qpe_gif -mpe_qpe_grib_dir : $(mpe_fieldgen_product_dir)/qpe_grib -mpe_qpe_grib_sbn_dir : $(mpe_fieldgen_product_dir)/qpe_grib_sbn -mpe_qpe_jpeg_dir : $(mpe_fieldgen_product_dir)/qpe_jpeg -mpe_qpe_netcdf_dir : $(mpe_fieldgen_product_dir)/qpe_netcdf -mpe_rmosaic_dir : $(mpe_fieldgen_product_dir)/rmosaic -mpe_sat_state_var : $(mpe_fieldgen_product_dir)/sat_state_var -mpe_state_var : $(mpe_fieldgen_product_dir)/state_var -mpe_srmosaic_dir : $(mpe_fieldgen_product_dir)/srmosaic -mpe_sgmosaic_dir : $(mpe_fieldgen_product_dir)/sgmosaic -mpe_srgmosaic_dir : $(mpe_fieldgen_product_dir)/srgmosaic -mpe_satpre_dir : $(mpe_fieldgen_product_dir)/satpre -mpe_rfcmmosaic_dir : $(mpe_fieldgen_product_dir)/rfcmmosaic -mpe_rfcbmosaic_dir : $(mpe_fieldgen_product_dir)/rfcbmosaic -mpe_localfield1_dir : $(mpe_fieldgen_product_dir)/localfield1 -mpe_localfield2_dir : $(mpe_fieldgen_product_dir)/localfield2 -mpe_localfield3_dir : $(mpe_fieldgen_product_dir)/localfield3 - -### Tokens related to the MPE Editor map display. -mpe_config_dir : $(whfs_config_dir) -mpe_center_lat : 39.8 -mpe_center_lon : -98.55 -mpe_height_in_pixels : 900 -mpe_width_in_pixels : 1200 -mpe_map_width : 1320 -mpe_zoom_out_limit : 20 -mpe_disclosure_limit : 60 -mpe_map_projection : FLAT - -### Misc tokens -mpe_load_hourlypc : ON -mpe_gageqc_gif_dir : $(whfs_image_dir) -mpe_gif_location : 34.0,-97.0,34.0,-94.0,33.0,-94.0 -mpe_overlay_dir : $(whfs_geodata_dir) -mpe_editor_logs_dir : $(pproc_log)/mpe_editor -mpe_type_source : RG:GOES,RR:ALERT,RM:SNOTEL,RP:LARC,RZ:COOP - -### New tokens for DQC/CHPS -mpe_level2_type_value : 2 # Allow user to customize the type value. The default is “2” -mpe_td_details_set : OFF # Allow generating a time distribution details file. -mpe_process_PC : ON # Skip call to the load_PC_hourly routine if "OFF" -mpe_map_one_zone : OFF # Allow MAP generation for one zone only -fewsgrib_dir : $(mpe_gageqc_dir)/fewsgrib # default nc2grib grib file output dir -nc2g_app_dir : $(mpe_app_dir)/nc2grib # directory for gfe2grib.txt file -netcdf_dir : $(mpe_gageqc_dir)/netcdf_files #default output directory for netcdf files -mpe_dqc_save_netcdf : OFF # Save Daily QC as netCDF -mpe_dqc_save_grib : OFF # Save Daily QC as grib - -### Tokens which control the products generated by MPE Fieldgen. -mpe_locbias_1hr_rerun : OFF # ON/OF .Apps_defaultsF flag to - # determine if local bias should be - # recalculated as part of the mpe_fieldgen - # rerun from hmap_mpe - # ON -- recalc loc bias on rerun - # OFF -- do not recalc loc bias on rerun -mpe_del_gage_zeros : OFF # ON/OFF flog to determine if a zero gage - # value should be removed from consideration - # if the radar shows > 0.0 - # ON -- check for and remove zero gage values - # OFF -- do not check for or remove zero - # gage values - -mpe_selected_grid_gagediff : MMOSAIC - -mpe_qpe_fieldtype : MMOSAIC # field type to be saved as qpe -mpe_generate_list : BMOSAIC,GAGEONLY,LMOSAIC,LSATPRE,MLMOSAIC,MMOSAIC,RMOSAIC,SATPRE,P3LMOSAIC,SRMOSAIC,SGMOSAIC,QMOSAIC,LQMOSAIC,MLQMOSAIC,RFCBMOSAIC,RFCMMOSAIC,RFCMOSAIC,SAVELEVEL2 -mpe_base_radar_mosaic : RMOSAIC # The base radar mosaic used for the fields - # that mpe_fieldgen generates -mpe_show_missing_gage : None # MPE missing gage display. - # (None,All,Reported) -mpe_bad_gages_dir : $(rfcwide_output_dir)/bad_gages - -### directory locations of various format MPE output grid files -mpe_gif_dir : $(rfcwide_output_dir)/qpe_gif -mpe_jpeg_dir : $(rfcwide_output_dir)/qpe_jpeg -mpe_netcdf_dir : $(rfcwide_output_dir)/qpe_netcdf -mpe_grib_dir : $(rfcwide_output_dir)/qpe_grib - -### which format MPE output grid files to save -mpe_save_gif : nosave -mpe_save_jpeg : nosave -mpe_save_netcdf : nosave -mpe_save_grib : save - -### prefixes for various format MPE output grid files, blank by default -mpe_gif_id : -mpe_jpeg_id : -mpe_netcdf_id : -mpe_grib_id : - -### mpe gage QC tokens -mpe_gage_qc : ON -mpe_sccqc_threshold : 2.0 -mpe_scc_boxes_failed : 4 -mpe_msc_precip_limit : 1.0 -mpe_split_screen : OFF - -### mpe polygon tokens -mpe_polygon_action_order : None -mpe_polygon_field_order : None - -### tokens which control the transmission of RFC bias data. -mpe_transmit_bias : OFF -transmit_bias_on_save : NO -transmit_bias_on_rerun : NO -rfc_bias_input_dir : $(mpe_dir)/bias_message_input -rfc_bias_output_dir : $(mpe_dir)/bias_message_output -process_bias_log_dir : $(pproc_log)/process_bias_message -send_local_bias_when_rfc_bias_missing : NO - -### rfc qpe to wfo tokens -mpe_send_qpe_to_sbn : OFF -mpe_generate_areal_qpe : OFF -# List of RFCs to process for Gen Areal Qpe -gaq_rfc_list : MBRFC,NCRFC -gaq_dur_list : 1,6,24 -gaq_app_dir : $(pproc_local_data)/app/gen_areal_qpe -gaq_input_dir : /data/fxa/Grid/SBN/netCDF/HRAP/QPE -gaq_log_dir : $(pproc_log)/gen_areal_qpe -gaq_rfc_mask_dir : $(gaq_app_dir) -gaq_temp_xmrg_dir : $(rfcwide_output_dir)/rfcqpe_temp -gaq_xmrg_1hr_dir : $(rfcwide_output_dir)/rfcqpe01 -gaq_xmrg_6hr_dir : $(rfcwide_output_dir)/rfcqpe06 -gaq_xmrg_24hr_dir : $(rfcwide_output_dir)/rfcqpe24 -gaq_grib_dir : $(rfcwide_output_dir)/rfcqpe_grib - -### token which controls how PC precipitation totals are derived. -sum_pc_reports : NO - -geo_st3_bin : $(geo_data)/$(st3_rfc)/binary #geo_data defined outside of pproc -geo_st3_ascii : $(geo_data)/$(st3_rfc)/ascii -adjust_PC_startingtime : 4 #allow PC starting time tolerance - -### tokens for sending MPE mean field bias data to the ORPG - -bias_message_dir : $(apps_dir)/data/fxa/radar/envData - -### tokens for Lightning Data processing - -lightning_input_dir : /data/fxa/point/binLightning/netcdf - -lightning_log_dir : $(pproc_log)/lightning_proc - -### tokens for D2D display - -mpe_d2d_display_grib : ON # ON/OFF token to determine if further - # processing of grib file for D2D display - # is required - -d2d_input_dir : $(EDEX_HOME)/data/manual/mpe # dir containing grib files - # to be processed for D2D display - -mpe_send_grib : OFF # ON/OFF token to determine if grib file is - # to be sent to other sites such as NPVU - -# disagg processing tokens - -mpe_disagg_execute : OFF -mpe_disagg_method : POINT -mpe_disagg_6hreq_0 : 1 -mpe_disagg_6hrgt_0 : 1 - -#====== High-resolution Precipitation Estimator (HPE) tokens==================== - -# DecodeDHR tokens (formerly DecodeHDP tokens that looked like hdp_*) - -dhr_log_dir : $(pproc_log)/decodedhr # DHR Decoder logs - -dhr_prod_dir : $(pproc_local_data)/dhr_gather # DHR input directory - -dhr_dirname1 : $(data_archive_root)/radar # first part of directory name -# # containing DHR products for -# # associated or dial in radars - -dhr_dirname2 : DHR/layer0/res1/level256 # second part of directory name - # containing DHR products for - # associated or dial in radar -dhr_grid_dir : $(pproc_local_data)/dhr_decoded # decoded DHR radar grids - -dhr_error_dir : $(pproc_local_data)/dhr_error # DHR error files -dhr_arch_dir : $(pproc_local_data)/dhr_archive # DHR archives - -# DecodeDSP tokens (formerly DecodeHDP tokens that looked like hdp_*) - -dsp_log_dir : $(pproc_log)/decodedsp # DSP Decoder logs - -dsp_prod_dir : $(pproc_local_data)/dsp_gather # DSP input directory - -dsp_dirname1 : $(data_archive_root)/radar # first part of directory name -# # containing DSP products for -# # associated or dial in radars - -dsp_dirname2 : STP/layer0/res2/level256 # second part of directory name - # containing DSP products for - # associated or dial in radars - # NOTE that DSP is level256 vs level16 for - # STP and this is where it is stored - # in AWIPS -dsp_grid_dir : $(pproc_local_data)/dsp_decoded # decoded DSP radar grids -dsp_error_dir : $(pproc_local_data)/dsp_error # DSP error files -dsp_arch_dir : $(pproc_local_data)/dsp_archive # DSP archives - - -hpe_generate_list : DHRMOSAIC,BDHRMOSAIC,ERMOSAIC,LSATPRE,EBMOSAIC -hpe_qpe_fieldtype : ERMOSAIC # field type to be saved as qpe - -hpe_satpre_dir : $(mpe_fieldgen_product_dir)/satpre -hpe_input_dir : $(pproc_local_data)/app/hpe -hpe_output_dir : $(pproc_local_data)/hpe -hpe_sat_statevar_dir : $(rfcwide_output_dir)/state_var - -hpe_log_dir : $(pproc_local_data)/log/hpe - -hpe_hrap_grid_factor : 4 # 1 for HRAP grid - # 4 for quarter HRAP grid - -hpe_dhrmosaic_dir : $(hpe_output_dir)/dhrmosaic -hpe_bdhrmosaic_dir : $(hpe_output_dir)/bdhrmosaic -hpe_ermosaic_dir : $(hpe_output_dir)/ermosaic -hpe_ebmosaic_dir : $(hpe_output_dir)/ebmosaic -hpe_avg_ermosaic_dir : $(hpe_output_dir)/avgrmosaic -hpe_max_ermosaic_dir : $(hpe_output_dir)/maxrmosaic -hpe_lsatpre_dir : $(hpe_output_dir)/lsatpre - -hpe_dspheight_dir : $(hpe_output_dir)/height -hpe_dspindex_dir : $(hpe_output_dir)/index -hpe_height_dir : $(hpe_output_dir)/height -hpe_index_dir : $(hpe_output_dir)/index - -hpe_dhrmosaic_grib_dir : $(hpe_dhrmosaic_dir)/grib -dhrmosaic_netcdf_dir : $(hpe_dhrmosaic_dir)/netcdf -dhrmosaic_gif_dir : $(hpe_dhrmosaic_dir)/gif -hpe_bdhrmosaic_grib_dir : $(hpe_bdhrmosaic_dir)/grib -bdhrmosaic_netcdf_dir : $(hpe_bdhrmosaic_dir)/netcdf -bdhrmosaic_gif_dir : $(hpe_bdhrmosaic_dir)/gif -hpe_ermosaic_grib_dir : $(hpe_ermosaic_dir)/grib -ermosaic_netcdf_dir : $(hpe_ermosaic_dir)/netcdf -ermosaic_gif_dir : $(hpe_ermosaic_dir)/gif -hpe_ebmosaic_grib_dir : $(hpe_ebmosaic_dir)/grib -ebmosaic_netcdf_dir : $(hpe_ebmosaic_dir)/netcdf -ebmosaic_gif_dir : $(hpe_ebmosaic_dir)/gif - -dhrmosaic_save_grib : save -dhrmosaic_save_gif : nosave -dhrmosaic_save_netcdf : nosave -bdhrmosaic_save_grib : save -bdhrmosaic_save_gif : nosave -bdhrmosaic_save_netcdf : nosave -ermosaic_save_grib : save -ermosaic_save_gif : nosave -ermosaic_save_netcdf : nosave -ebmosaic_save_grib : save -ebmosaic_save_gif : nosave -ebmosaic_save_netcdf : nosave - -hpe_gif_dir : $(hpe_output_dir)/hpe_gif -hpe_jpeg_dir : $(hpe_output_dir)/hpe_jpeg -hpe_netcdf_dir : $(hpe_output_dir)/hpe_netcdf -hpe_grib_dir : $(hpe_output_dir)/hpe_grib -hpe_xmrg_dir : $(hpe_output_dir)/hpe_xmrg -hpe_save_gif : nosave -hpe_save_jpeg : nosave -hpe_save_netcdf : nosave -hpe_save_grib : nosave - -dhr_window : 15 -dsp_window : 15 -dsp_duration : 60 - -hpe_base_radar_mosaic : ERMOSAIC -hpe_qpe_fieldtype : ERMOSAIC -hpe_load_misbin : OFF -hpe_debug_log : ON -hpe_use_locbias : OFF -hpe_runfreq : 5 -hpe_timelag : 5 -hpe_bias_source : RFC -hpe_rfc_bias_lag : 2 -hpe_purge_logage : 720 -hpe_purge_fileage : 180 -hpe_purge_xmrgage : 75 - -dhrmosaic_d2d_display_grib : ON -ermosaic_d2d_display_grib : ON -ebmosaic_d2d_display_grib : ON -bdhrmosaic_d2d_display_grib : ON -hpe_run_nowcast : ON -hpe_nowcast_generate_list : PRTM, BPTRM -hpe_nowcast_dir : $(hpe_output_dir)/nowcast -hpe_rate_save_grib : save -hpe_brate_save_grib : save -hpe_tp1h_save_grib : save -hpe_btp1h_save_grib : save -hpe_4km_tp1h_save_grib : nosave -hpe_4km_btp1h_save_grib : nosave -nowcast_d2d_display_grib : ON -hpe_smooth_method : 1 # 0=no smoothing 1=FFP method (default) 2=BZ94 method -hpn_use_meanvelocity : OFF -hpn_meanvelocity_direction : 45 # direction precip is moving towards -hpn_meanvelocity_speed : 20 # miles per hour - - -hpe_send_grib : OFF # ON/OFF token to determine if grib file is - # to be sent to other sites such as NPVU - -#========END HPE tokens====================================================== - -# ================= Flash Flood Guidance System ============================= - -ffg_level : oper - -ffg_dir : $(apps_dir)/rfc/nwsrfs/ffg # Top-level ffg -ffg_bin : $(ffg_dir)/bin # FFG execute dir -ffg_files : $(ffg_dir)/files # FFG file group -ffg_gsfiles : $(ffg_files)/$(ffg_level) # FFG files dir -ffg_out_dir : $(ffg_dir)/output # FFG output dir -ffg_grib_out : $(ffg_out_dir)/grib # GRIB output -ffg_scripts : $(ffg_dir)/scripts # FFG scripts -ffg_gff_level : grff # regular grid ffg dir -ffg_gro_level : grro # regular grid ro dir - .Apps_defaults -ffg_usr_dir : $(ffg_gsfiles)/user # FFG user dir -ffg_area_dir : $(ffg_gsfiles)/affg # FFG area dir -ffg_cary_dir : $(ffg_gsfiles)/cary # FFG carryover dir -ffg_define_dir : $(ffg_gsfiles)/define # FFG definition dir -ffg_gridff_dir : $(ffg_gsfiles)/$(ffg_gff_level) # FFG grid ff dir -ffg_gridro_dir : $(ffg_gsfiles)/$(ffg_gro_level) # FFG grid ro dir -ffg_hwatr_dir : $(ffg_gsfiles)/hffg # FFG headwater dir - -ffg_gridpm_dir : $(ffg_gsfiles)/gdpm # grid runoff adjust parameters -ffg_group_dir : $(ffg_gsfiles)/grpp # FFG groups of products -ffg_prod_dir : $(ffg_gsfiles)/prod # FFG products dir -ffg_text_dir : $(ffg_gsfiles)/text # FFG text dir -ffg_wsup_dir : $(ffg_gsfiles)/wsup # Water supply dir - -# ffg program control -ffg_error_output : on # whether to output error messages -ffg_log_output : off # whether to output log messages - -# ===================== GRIB packer/encoder ================================= - -grib_dir : $(apps_dir)/rfc/grib # Top level grib -grib_rls : $(pproc_bin) # location of gribit executable -grib_arc : $(grib_dir)/bin/ARCHIVE # grib archive -grib_in_dir : $(rfcwide_xmrg_dir) # depends on data to be encoded -grib_out_dir : $(grib_dir)/output # GRIB encoded files -grib_error_output : on # turn on/off GRIB error output -grib_set_subcenter_0 : off # set subcenter to 0 - # on - set subcenter to 0 - # off - do not set subcenter to 0 - -# end of ffg apps - -#================== XSETS Apps_defaults Tokens - 08/03/2001 =================== - -# [] = default value -#................................. -# Date Control -#................................. -xsets_date_used : SYSTEM # computer system clock - # OFSFILES = forecast time series - # mm/dd/ccyy = explicit date, 12Z - -#................................. -# Directories and files to use -#................................. -xsets_dir : $(apps_dir)/rfc/xsets -xsets_level : oper -xsets_files : $(xsets_dir)/files -xsets_xsfiles : $(xsets_files)/$(xsets_level) -xsets_param_dir : $(xsets_xsfiles)/param -xsets_config_file : xsetsconfig -xsets_output_dir : $(xsets_xsfiles)/output - -#................................. -# Commands -#................................. -xsets_editor : "nedit" -xsets_hydrographs_cmd : "$(xsets_dir)/bin/RELEASE/new_hydroplot" -xsets_print_cmd : "lp" -xsets_xmit_cmd : "cat " - -#................................. -# Parameters for creation of hydrographs -#................................. -xsets_hydro_button : NO # Create Make Hydro button, [NO] - (currently unused) -xsets_make_hydro : NO # Create .gif hydrographs, [NO] - -#................................. -# NEW_HYDROPLOTS parameters -#................................. -xsets_html_daily_dir : /pub/FcstGraphs # Location of gif images on - web server -xsets_html_flood_dir : /pub/FloodGraphs # Location of gif images on - web server -xsets_hydrographs_html : 1 # 1 = create basic html - 0 = no html created -xsets_hydrographs_output: "$(xsets_output_dir)/gifs" -xsets_hydrographs_param : $(xsets_xsfiles)/hydrographs/param - -#................................. -# File Print Options and Settings -#................................. -xsets_add_remarks : NO # Add remark after each site, [NO] -xsets_brackets : NO # Put brackets around latest stage, - # forecasts and dates, [NO] -xsets_cmt_line : NO # YES = separate line, - # NO = append to description, river -xsets_expanded_dates : YES # Insert MMDD before values, [NO] -xsets_fgroup_preamble : "FORECAST GROUP IS" #Preamble for the fgroup (string) -xsets_H_precision : 1 # 0, [1], or 2 decimal precision of stages -xsets_output_style : E # E = Expanded, each day has line, - # C = Compact -xsets_print_crests : YES # Print crest comment, [NO] -xsets_print_disclaimer : YES # Print disclaimer, [NO] -xsets_print_fs : YES # YES = encode flood stage in SHEF, - # [NO] = display as comment -xsets_print_fs_cross : COMMENT # Time level passes flood stage - # [NO] = don't include, - # SHEF = encode in SHEF, - # COMMENT = display as comment -xsets_print_ls : COMMENT # Latest stage - # [NO] = don't include, - # SHEF = encode in SHEF, - # COMMENT = display as comment -xsets_print_MAP : NO # Print MAP values, [NO] -xsets_print_qpf : COMMENT # Print QPF values - # [NO] = don't include, - # SHEF = encode in SHEF, - # COMMENT = display as comment -xsets_print_ws : YES # Display warning/caution stage, [NO] -xsets_product_hdr : PIT # Indentifier in Product Header, non-AWIPS -xsets_Q_precision : 1 # 0, [1], 2 decimal precision of flows -xsets_signature : $(LOGNAME) #User signature (string) -xsets_wmo_id : TTAA00 KTUR DDHHMM # the wmo id -xsets_ws_label : "WARNING" # Label for WARNING/[CAUTION] stage (string) -xsets_zczc : YES # Include ZCZC & NNNN, [NO], non-AWIPS - -#................................. -# Run Options -#................................. -xsets_age_check : 6 # Number of hours old of forecast before - # error generated, [6] -xsets_edit_lock : NO # Lock main display when editing SETS file, [NO]??? -xsets_gen_summary : NO # Include summary of flood locations, [NO], Currently Unused -xsets_msg_obs_warn : YES # Print warning when observed values are - # missing, [NO] -xsets_numhrs_curob : 12 # number of hours back from current time to use - # informix obs as "current obs" -xsets_num_MAP_values : 4 # Number [4] of MAP values to include in product -xsets_num_qpf_values : 4 # Number [4] of qpf values to include in product -xsets_numdays_hydro : 3 # Run Parameters for FCSTPROG -xsets_ofs_select : OFS # OFS or IFP for time series files -xsets_stdout : NO # Send wprint messages to stdout, [NO] -xsets_time : Z # Time Zone code used in product - # ([Z], E, C, M, P, A, H OR N) -# ================== end of xsets tokens ======================================= - -#================== XNAV Apps_defaults Tokens - 03/29/2000 ==================== -# defaults for program XNAV - -xnav_user : oper - -#................................. -# Date/time related tokens -#................................. -db_days : 10 -xnav_daily_days : 30 -xnav_ffg_periods : 3 -xnav_sixhr_periods : 40 -xnav_hyd_days_fut : 5 -xnav_hyd_days_prev : 5 -xnav_precip_hours : 240 -xnav_settoday : - -#................................. -# Directories and files to use -#................................. -xnav_dir : $(apps_dir)/rfc/xnav -xnav_data : $(xnav_dir)/data -xnav_params : $(xnav_dir)/parameters -xnav_P1xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb -xnav_S1xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb -xnav_bin_dir : $(xnav_dir)/bin -xnav_data_dir : $(xnav_data) -xnav_ffg_dir : $(ffg_dir)/output/$(xnav_user) -xnav_geo_data : $(geo_data)/$(ifp_rfc)/binary -xnav_gif_dir : $(HOME)/gifs/xnav -xnav_grid_ffg_dir : $(ffg_dir)/files/$(xnav_user)/grff -xnav_localdata_dir : $(xnav_data)/localdata -xnav_misc_dir : $(xnav_data)/misc_data -xnav_qpfbin_dir : $(xnav_data)/wfoqpf -xnav_rfcfmap_dir : $(xnav_data)/rfcqpf -xnav_rules_dir : $(xnav_params)/rules -xnav_shefdata_dir : $(xnav_data)/shefdata -xnav_wfoqpf_dir : $(apps_dir)/rfc/data/products -xnav_xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb -nmap_xmrg_dir : $(xnav_rfcfmap_dir)/nmap - -#................................. -# Fonts and colors -#................................. -xnav_action_color : yellow -xnav_flood_color : red -xnav_ok_color : green -xnav_ts1_color : yellow -xnav_ts2_color : magenta -xnav_label_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_legend_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_list_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_menu_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_pb_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_text_font : -*-charter-bold-*-*-*-17-*-*-*-*-*-*-* -xnav_toggle_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_town_font : "-*-new century schoolbook-bold-*-*-*-14-*-*-*-*-*-*-*" - -idma_label_font : "-*-new century schoolbook-bold-*-*-*-12-*-*-*-*-*-*-*" -idma_data_font : "-*-new century schoolbook-bold-*-*-*-18-*-*-*-*-*-*-*" - -#................................. -# Window size controls -#................................. -xnav_hrap_x : 59 -xnav_hrap_xor : 311 -xnav_hrap_y : 83 -xnav_hrap_yor : 410 -xnav_hydro_height : 400 -xnav_hydro_width : 750 -xnav_scale : 8.0 -xnav_scale_colors : 3.0 -xnav_x_offset : 100 -xnav_y_offset : 100 - -#................................. -# Display options -#................................. -xnav_basins : yes -xnav_counties : no -xnav_cwas : no -xnav_fgroups : no -xnav_flights : no -xnav_grid : no -xnav_hydro_segments : no -xnav_radars : no -xnav_rfc : yes -xnav_rivers : yes -xnav_states : yes -xnav_towns : yes - -#................................. -# Other control options -#................................. -load_db_on_boot : no -load_ofs_on_boot : no -check_flood_on_boot : no -use_new_xmrg : yes -xnav_afosid : ? #PITRR1RHA -xnav_editor : nedit -xnav_exception_file : exception_file -xnav_grid_ffg_pattern : xhr -xnav_locrangecheck : no -xnav_office_hdr : ? #KRHA -xnav_only_use_ofs_data : no -xnav_pe : "HG HP HT PP PT QR QT SD SF SW TA TD TS XC" -xnav_precip_filter : .01 -xnav_route_code : ? #ES -xnav_seg_type : 2 -xnav_send_shef : no -xnav_show_p1_files : yes -xnav_suppress_msg : yes -xnav_xmit_cmd : "cat " - -# ====== MAKE24HRXMRG Tokens ====== - -make24hrxmrg_settoday : # Run date in mm/dd/yyyy. Empty means uses number - # of days back argument to program. -make24hrxmrg_debug_level : 0 # Set debug output level. 1 or 2 yields more output. -make24hrxmrg_endtime : # Hour to end the 24 hour total. Default: 12Z if not - # given. -make24hrxmrg_tz : Z # Time zone; E, C, M, P, Y, H, L, or Z (defautlt). - -# ================== end of xnav tokens ======================================== - -#================== XDAT Apps_defaults Tokens - 03/29/2000 ==================== -# defaults for program XDAT - -xdat_user : oper - -#................................ -# Date/time related tokens -#................................ -xdat_flood_hours : 6 -xdat_settoday : - -#.................................. -# Directories and files to use -#.................................. -xdat_dir : $(apps_dir)/rfc/xdat -xdat_data : $(xdat_dir)/data -xdat_params : $(xdat_dir)/parameters -xdat_groups_dir : $(xdat_params)/groups -xdat_localdata_dir : $(xdat_data)/localdata -xdat_shefdata_dir : $(xdat_data)/shefdata - -#.................................. -# Fonts and colors to use -#.................................. -xdat_label_font : ncenb14 -xdat_list_font : helvb14 -xdat_text_font : user14x19 -xdat_pb_font : ncenb14 - -#................................. -# Window size controls -#................................. -xdat_scale : 1.0 - -#.................................. -# Display Options -#.................................. -xdat_clear_id : yes - -#.................................. -# Other Control Options -#.................................. -xdat_afosid : ?ofstest? -xdat_office_hdr : ??? -xdat_post_unk : $(shef_post_unk) -xdat_route_code : ??? -xdat_send_shef : no -xdat_xmit_cmd : "cat " -# ================== end of xdat tokens ======================================== - -#====================== Shape Data File Directory ============================== -shape_data_dir : $(apps_dir)/ffmpShapeData # Directory holding shape - # files acting as data files - - -#================== send_rfc Apps_defaults Tokens - 3/08/2001 ================= -send_rfc_dir : $(apps_dir)/rfc/send_rfc -send_rfc_input_dir : $(send_rfc_dir)/data/send -send_rfc_id : WWW -send_hardcopy_nnn : PRI-WRK-EDI-SNO-ADM-RVF -send_rfc_hardcopy : $(send_rfc_dir)/data/sbnprods -send_rfc_hpc : 0 -send_rfc_host : ds-www -send_rfc_alternate : 0 -# ================== end of send_rfc tokens ==================================== - -#================== verify Apps_defaults Tokens - 08/03/2001 ================== -# defaults for program verify -vsys_output : $(vsys_dir)/output #location of output files -vsys_input : $(vsys_dir)/input #location of input files -vsys_files : $(vsys_dir)/files #location of verify files -vsys_scripts : $(vsys_dir)/scripts #location of verify scripts -vsys_output_log : test.log #name of log file -vsys_ihfsdb : $(db_name) #ihfs_db name -vsys_vdb : vdb1_1rfc #verification db name for RFC="rfc" -verify_rls : $(vsys_dir)/bin/RELEASE #The release directory. -vsys_rls : $(verify_rls) #Not really needed, but consistent. - -# ================== end of verify tokens ====================================== - -# ================== RFC Archive Database tokens =============================== - -archive_shefdata_dir : /data/fxa/ispan/hydro_adbs # directory for archive data -archive_enable : OFF # ON/OFF - Enable or Disable - # archive data feed (OFF by default) -metar_output_dir : $(whfs_local_data_dir)/metar_output # metar2shef temp output directory - # used if archive_enable is ON - -#================== Directory tokens for RFC Archive Database ================== -adb_dir : /rfc_arc # Base RFC Archive Directory -adb_raw_que : /rfc_arc_data/q/raw/ # pathname for raw q input directory -adb_pro_que : /rfc_arc_data/q/processed/ # pathname for processed q input directory -adb_bin_dir : $(adb_dir)/bin # pathname for the bin directory -adb_cfg_dir : $(adb_dir)/cfg # pathname for the config directory -adb_lib_dir : $(adb_dir)/lib # pathname for the lib directory -adb_logs_dir : $(adb_dir)/logs # pathname for the logs directory -adb_scripts_dir: $(adb_dir)/scripts # pathname for the scripts directory - -#================== Shefdecode tokens for RFC Archive Database ================= - -adb_shef_winpast : 9999 # number of days in past to post data for RAW -adb_shef_winfuture : 9999 # number of mins in future to post obs data - # for RAW. -adb_shef_winpast_pro : 9999 # number of days in past to post data -adb_shef_winfuture_pro : 9999 # number of minutes in future to post obs data -shefdecode_rax_userid : oper # controlling UNIX user -adb_shefdecode_input : $(adb_cfg_dir)/decoders # adb SHEF parameter file - # location -adb_shef_raw_perflog : OFF # ON/OFF - create a separate performance - # log file to save internal decoder timing - # messages for monitoring performance -adb_shef_raw_logs_dir : $(adb_logs_dir)/decoder/raw/logs # pathname for the - # daily logs directory -adb_shef_raw_err_dir : $(adb_logs_dir)/decoder/raw/err # pathname for the - #product logs directory -adb_shef_raw_keeperror : ALWAYS # keep files (=ALWAYS) or only - # when errors occur (=IF_ERROR) -adb_shef_raw_post_unk : IDS_AND_DATA # NONE - do not post to the UnkStnValue tables - # values IDS_ONLY or IDS_AND_DATA - # will post everything - # to the UnkStnValue table -adb_shef_pro_post_unk : NONE # NONE - do not post to the UnkStnValue tables - # values IDS_ONLY or IDS_AND_DATA - # will post everything - # to the UnkStnValue table -adb_shef_pro_perflog : OFF # ON/OFF - create a separate performance - # log file to save internal decoder timing - # messages for monitoring performance -adb_shef_pro_logs_dir : $(adb_logs_dir)/decoder/processed/logs # pathname for the - # daily logs directory -adb_shef_pro_err_dir : $(adb_logs_dir)/decoder/processed/err # pathname for the - # product logs directory -adb_shef_pro_keeperror : ALWAYS # keep files (=ALWAYS) or only - # when errors occur (=IF_ERROR) -adb_shef_raw_checktab : ON # ON checks location and ingestfilter tables -adb_shef_pro_checktab : OFF # ON checks location and ingestfilter tables -adb_shef_duplicate_raw : USE_REVCODE # Token for allowing duplicate records to be - # posted for raw decoder. -adb_shef_duplicate_pro : USE_REVCODE # Same thing but for processed decoder. -adb_shef_raw_dupmess : ON # duplication messages from adb raw decoder. -adb_shef_raw_locmess : ON # invalid location messages from adb raw decoder. -adb_shef_raw_elgmess : ON # invalid ingestfilter messages from adb raw - # decoder. -adb_shef_raw_storall : OFF # OFF - default- will only write to pecrsep table - # ON will write to both pecrsep and peirsep tables -adb_shef_pro_dupmess : ON # duplication messages from adb processed decoder. -adb_shef_pro_locmess : OFF # invalid location messages from adb pro decoder. -adb_shef_pro_elgmess : OFF # invalid ingestfilter messages from adb pro - # decoder. -adb_shef_pro_tmp_dir : $(adb_pro_que) -adb_shef_raw_tmp_dir : $(adb_raw_que) -adb_shef_raw_add_adjust : OFF - -#========== IHFS->RAX synchronization tokens for RFC Archive Database ========== -adb_sync_logs_dir : $(adb_logs_dir)/dbsync # directory for synchronization log files -adb_sync_mode : ANALYSIS # ANALYSIS or UPDATE -adb_sync_tablenames : ALL # List of table names to synchronize -adb_sync_ihfs_ingest: USE # USE or IGNORE -adb_sync_rivercrit : ACTION # ACTION, FIS or BOTH - - -#================== DatView program tokens for RFC Archive Database ============ -datview_db_name : $(adb_name) -datview_startdate : '1975-01-01 00:00:00' -datview_label_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* -datview_list_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* -datview_text_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* -datview_text2_font :-adobe-courier-bold-r-normal-*-*-140-*-*-m-*-iso8859-1 -datview_bg_color : black -datview_fg_color : white -datview_ob_color1 : green -datview_ob_color2 : blue -datview_ob_color3 : yellow -datview_ob_color4 : red -datview_ob_color5 : DarkOrange -datview_ob_color6 : SlateGray1 -datview_plot_font : -adobe-courier-bold-r-normal-*-*-80-*-*-m-*-iso8859-1 -datview_plot_width : 750 -datview_plot_height : 420 -datview_data_dir : /home/oper -datview_raw_shef_dir : $(adb_raw_que) -datview_pro_shef_dir : $(adb_pro_que) -datview_office_header : KTUA # to be set by each RFC -datview_pil : OKCRR1TUR # to be set by each RFC - - -#=============== ARCH_NAV Apps_defaults Tokens - 05/5/2005 ================== -# defaults for program ARCNAV - -anav_user : oper - -#................................. -# Date/time related tokens -#................................. -anav_daily_days : 30 -anav_sixhr_periods : 40 -anav_precip_hours : 24 - - -#................................. -# Directories and files to use -#................................. - -anav_dir : /awips/hydroapps/lx/rfc/xnav -anav_data : /data -anav_flatfiles : $(anav_data)/flatfiles -anav_params : $(anav_dir)/parameters -anav_data_dir : $(anav_data) -anav_geo_data : /awips/hydroapps/lx/geo_data/$(ifp_rfc)/binary -anav_gif_dir : /rfc_arc/data/arcnav/gifs -anav_localdata_dir : $(anav_data)/localdata -anav_xmrg_dir : $(anav_flatfiles) - -#................................. -# Fonts and colors -#................................. -anav_label_font : courb14gr -anav_legend_font : courb14gr -anav_list_font : courb14gr -anav_menu_font : 9x15 -anav_pb_font : courb12gr -anav_text_font : helvb18gr -anav_toggle_font : courb14gr -anav_town_font : courb12gr - -#................................. -# Window size controls -#................................. -anav_hrap_x : 200 -anav_hrap_xor : 850 -anav_hrap_y : 200 -anav_hrap_yor : 470 -anav_hydro_height : 400 -anav_hydro_width : 750 -anav_scale : 3.5 -anav_scale_colors : 3.0 -anav_x_offset : 300 -anav_y_offset : 300 - -#................................. -# Display options -#................................. -anav_basins : yes -anav_counties : no -anav_cwas : no -anav_fgroups : no -anav_flights : no -anav_grid : no -anav_hydro_segments : no -anav_radars : no -anav_rfc : no -anav_rivers : no -anav_states : yes -anav_towns : yes - -#................................. -# Other control options -#................................. -anav_editor : nedit -anav_suppress_msg : yes - -#...................................... -# tokens added for arcnav application -# for future use -#...................................... -anav_ok_color : green -anav_action_color : yellow -anav_flood_color : red -anav_ts1_color : yellow -anav_ts2_color : magenta - -# ================= end of arcnav tokens ====================================== - -# ================== end of RFC Archive Database tokens ======================== - -# ================== SSHP Directory Structure and application tokens =============================== - -local_data_sshp_dir : $(whfs_local_data_dir)/sshp_transfer -sshp_control_dir : $(whfs_local_data_dir)/app/sshp -sshp_ofs_extract_text_dir : $(local_data_sshp_dir)/ofs_extract_text -sshp_ofs_extract_xml_dir : $(local_data_sshp_dir)/ofs_extract_xml -sshp_ingest_xml_dir : $(local_data_sshp_dir)/ingest_xml -sshp_incoming_dir : $(local_data_sshp_dir)/incoming -sshp_outgoing_dir : $(local_data_sshp_dir)/outgoing -sshp_log_dir : $(whfs_log_dir)/sshp -sshp_java_process_host : px1f -sshp_invoke_map_preprocess: ON -sshp_map_qpe_to_use : MIXED # choices are: MIXED, LOCAL_BEST_ONLY, RFC_ONLY -sshp_fcst_ts : FZ # SSHP type-source code for generated forecasts -sshp_initial_forecast_length: 24 # length of forecast in hours -sshp_max_forecast_length: 120 # max length of forecast in hours that user can make generated in GUI -sshp_sac_update_expiration_hours: 25 # number of hours after which to update locally the SAC states -sshp_sac_update_hours_forward: -2 # number of hours forward of last top of hour to save sac states - - # negative -2 means 2 hours BEFORE last top of hour -sshp_adjustment_pairing_minutes : 70 -sshp_adjustment_interpolation_hours : 3 -sshp_show_simulated_timeseries : true - -sshp_data_dir : $(whfs_local_data_dir)/sshp # base sshp dynamic data dir -sshp_precip_dir : $(sshp_data_dir)/precip # default location for saved precip files -sshp_background_forecast_output_dir : $(sshp_data_dir)/forecast -sshp_background_forecast_length : 48 # length of a background forecast - -sshp_hpn_minutes_before : 5 # don't use grid files prior to X minutes before Hour -sshp_hpn_minutes_after : 5 # don't use grid files after X minutes past the Hour - -sshp_show_unadjusted_states: false # initial setting of option in GUI for displaying the unadjusted SAC-SMA states -# ==================== Radar Climatology Tokens ============================== -radclim_data_dir : $(pproc_local_data)/app/radclim - -# ==================== PDC Preprocessor Tokens =============================== -pdc_clean_cache_minutes : 60 -pdc_temperature_hours : 168 -pdc_height_hours : 168 -pdc_snow_hours : 168 -pdc_wind_hours : 168 -pdc_weather_hours : 168 -pdc_precip_hours : 168 -pdc_lower_window : 5 -pdc_upper_window : 5 - -pdc_pp_dir : $(whfs_local_data_dir)/pdc_pp -pdc_pp_log_dir : $(whfs_log_dir)/pdc_pp - -# ====================== Historical Data Browser Tokens ======================= - -hdb_help_dir : $(hdb_dir)/help_files # Historical data browser help - # files -hdb_script_directory : $(hdb_dir)/scripts # Historical data browser - # scripts dir -hdb_config_dir : $(hdb_dir)/app-defaults # Historical data browser - # configuration file directory - -hdb_height_in_pixels : 900 # Historical data browser map height in - # pixels -hdb_width_in_pixels : 1200 # Historical data browser map width in - # pixels -hdb_center_lat : 35 # The initial center latitude of the HDB -hdb_center_lon : -88.9 # The initial center longitude of the HDB -hdb_map_width : 2999.862 # The width in nautical miles of the area - # displayed in the HDB -hdb_disclosure_limit : 60 # The disclosure limit for displaying finer - # detail in the city overlay. -hdb_map_projection : FLAT # The initial map projection used by HDB. - # Possible values: FLAT, POLAR, HRAP -# ====================== DHM Token ======================= -dhm_data_dir : $(ofs_files)/$(ofs_level)/dhmdata # DHM data dir -dhm_d2d_data_dir : /data/fxa/Grid/LOCAL/netCDF/DHM # d2d data dir -dhm_d2d_notify_bin_dir : /awips/fxa/bin # d2d notify bin dir -rdhm_input_dir : $(geo_data) -dhm_rain_plus_melt_data_dir: $(geo_data) -# ================== end of SSHP Directory Structure tokens ======================== - - -# The syntax needed in the file is: -# -# token : resource -# -# where: token is defined as a string delimited by white space or -# the delimiter, -# the delimiter between token and resource is the :, -# no white space needs to surround the delimiter, -# comments are indicated by a #, -# neither token nor resource can begin with a # or :, -# a # or a : can be embedded within resource, -# resource can contain white space if it is bounded by -# the ' or " characters, -# blank lines are allowed. -# referbacks are indicated by $(...). The '...' is resolved -# the same way any other token is, and is substituted for -# the $(...) string to compose the final resource value. -# Multiple referbacks are allowed in a resource, but -# embedded referbacks are not allowed (i.e. no -# $($(...)) allowed). -# Note that this file is read only if the token can not be resolved -# as an environment variable. -# -# ============================================================================== +# +# Official National .Apps_defaults file for AWIPS Release OB8.3 +# Also see .Apps_defaults_site for override settings +# Revision History: +# 11/06/2001 - adjusted many directory locations of precip_proc tokens. +# notable changes: st3_mkimage, rfcwide_input_dir +# added pproc_local, pproc_local_data, pproc_log +# grouped tokens together for 3 subsystems - shefdecode, whfs, +# precip_proc. +# placed precip_proc section after ofs since there are some +# dependencies +# changed value of whfs_editor +# added hydro_publicbin token +# added pproc_util_log_dir +# 07/01/2002 - added ens_input, ens_output, ens_files +# 07/22/2002 - add global gaff execution token +# 11/04/2002 - added disagg tokens +# 08/29/2003 - added sqlcmd_bin_dir +# 08/20/2003 - added ligtning_input_dir, lightning_log_dir +# 10/03/2003 - added tokens gage_qc, sccqc_threshold, mpe_scc_boxes_failed, +# mpe_msc_precip_limit +# 10/10/2003 - changed token names to mpe_gage_qc, mpe_sccqc_threshold +# - changed mpe_gage_qc token value to ON +# 02/04/2004 - Added new tokens for ens_pre netCDF enhancement --kwz +# 2/4/2004 - added mpe_locbias_1hr_rerun token +# 02/11/2004 - Added hv_map_projection. +# 02/19/2004 - Removed stage2 and stage3 related tokens. +# 03/10/2004 - Added mpe_mlmosaic_calc and rfcwide_mlmosaic_dir tokens. +# 03/16/2004 - Added rfcwide_lsatpre_dir, rfcwide_satstate_var_dir, +# mpe_lsatpre_calc. +# 03/19/2004 - Added mpe_del_gage_zeros. +# 03/22/2004 - added sshp tokens +# 03/24/2004 - Added rpf_min_dur_filled +# 03/31/2004 - Added SSHP tokens +# 04/26/2004 - added sshp_invoke_map_preprocess and +# sshp_java_process_host tokens for the +# mpe_fieldgen scripts +# 05/06/2004 - Added more RFC archive database (adb) tokens +# 06/28/2004 - Added preadj_outts_dir +# 07/31/2004 - Added gage_pp_userid, gage_pp_host, gage_pp_data, gage_pp_log +# and gage_pp_sleep. +# 08/10/2004 - ssh- Added gage_pp_userid, gage_pp_host, gage_pp_data, +# gage_pp_log, gage_pp_sleep, gage_pp_enable, shef_post_precip +# 08/12/2004 - Added timeseries_begintime, timeseries_endtime, timeseries_mode +# timeseries_showcat, timeseries_linewidth, dam_icon_color +# 10/14/2004 - Added the mpe_generate_list token. BAL +# 10/14/2004 - Removed the tokens: mpe_mlmosaic_calc, mpe_lsatpre_calc +# 11/05/2004 - Corrected spelling of timeseries_endime. RAE +# 11/23/2004 - Added the mpe_show_missing_gage token. +# 01/07/2005 - Added the sum_pc_reports token. This controls how PC-based +# precipitation totals are derived. +# 01/10/2005 - Added the sum_pc_reports token. +# 01/28/2005 - Added AWIPS MODIFICATION BLOCK. When gmake is run in the +# development tree location of .Apps_defaults, a copy of it +# will be placed in /awips/hydroapps with the lines modified +# in the AWIPS modification block to work in the /awips/hydroapps +# tree. +# 01/28/2005 - Modified the definitions of adb_shef_pro_err_dir and +# adb_shef_pro_logs_dir. +# Added the pghost, and pguser, pgport tokens for PostGres. +# 04/21/2005 - Changed shefdecode_host and gage_pp_host to dx. +# 04/28/2005 - Added hv_min_dur_filled token. Added ppp_ppd_local_7am_window +# token. +# 5/5/2005 - Added SSHP tokens sshp_initial_forecast_length, sshp_max_forecast_length, +# sshp_sac_update_expiration_hours, sshp_sac_update_hours_forward. +# Moved sshp_fcst_ts to be next to the rest of the SSHP tokens. +# 5/11/2005 - Changed pguser token value to pguser. +# 6/9/2005 - Changed value of grib_rls (location of gribit executable) +# - Added new tokens mpe_d2d_display_grib, d2d_input_dir, mpe_send_grib +# 6/15/2005 - Changed value for d2d_input_dir token +# 9/13/2005 - Replaced the edit_poly token with the rfcwide_drawpre_dir +# token. This directory will contain the precip edit polygons +# drawn in Hydroview/MPE and applied in MPE Fieldgen. +# 9/22/2005 - Added the rfcwide_gageloc_dir and rfcwide_beamheight_dir tokens. +# 9/27/2005 - Added the hdb_db_name token. Contains the name of the database +# used by the historical data browser. +#10/6/2005 - Modified the value of the rfcwide_utiltriangles_dir token to +# be under local/data/app/mpe instead of local/data/mpe. +#10/6/2005 - Added the mpe_base_radar_mosaic token. +#02/7/2006 - Added the mpe_split_screen token. +#02/8/2006 - Added tokens for the PDC Preprocessor +#02/9/2006 - Added mpe_polygon_action_order and mpe_polygon_field_order +# tokens. +#03/2/2006 - Added new tokens for DailyQC. Added renamed MPE tokens. +#04/19/2006 - Added new tokens for controling the orientation/appearance +# of the historical data browser and the locations of the help +# and configuration directory. +#05/30/2006 - Modified the token values for datview_plot_font and anav_data. +# Added the following tokens for archive database programs: +# adb_shef_pro_tmp_dir, adb_shef_raw_tmp_dir, +# adb_shef_raw_add_adjust, rax_pghost, adb_name +#05/30/2006 - Added the mpe_send_qpe_to_sbn token. +#06/06/2006 - Added the grib_set_subcenter_0 token. +#07/07/2006 - Added the ifp_griddb_dir token. +#09/05/2006 - Added the dhm_d2d_data_dir and dhm_d2d_notify_dir tokens. +#10/02/2006 - Added the sshp_map_qpe_to_use token. +#11/02/2006 - Added the mpe_qpe_grib_sbn_dir token. +#11/17/2006 - Added the mpe_qpe_sbn_dir token. +#05/08/2007 - Added tokens for the rfc bias transfer project. +#05/09/2007 - Added 3 tokens for SRG field directories +#05/14/2007 - Added token for rdhm input directory +#O5/23/2007 - Added sshp_show_simulated_timeseries, changed sshp_background_fcst_length to +# sshp_background_forecast_length +#05/23/2007 - Add tokens for RiverPro: rpf_endtime_shifthrs, +# show_vtecqc_window, event_expire_withinhr +#06/18/2007 - Added the send_local_bias_when_rfc_bias_missing token. +# Biasmesgen reads this token to determine whether or not +# to send the locally generated MPE bias to the RPG if +# the RFC bias is not available. +#06/28/2007 - Added DailyQC preprocessor token dqc_preprocessor_basetime +#07/17/2007 - Added rgb_file_path token. Used by new Color Manager in Hydroview +# and MPE Editor. +#10/24/2007 - Added dhm_rain_plus_melt_data_dir token +#11/08/2007 - Added tokens for IHFS->RAX Synchronization: adb_sync_logs_dir, +# adb_sync_mode, adb_sync_tablenames, adb_sync_ihfs_ingest, adb_sync_rivercrit +#1/16/2008 - added new tokens for disagg processing +# mpe_disagg_execute, mpe_disagg_method, mpe_disagg_6hreq_0,mpe_disagg_6hrgt_0 +#3/22/2008 - Added variable substitution for database port. +# +#3/5/2008 - Modified the value of the mpe_mmosaic_dir token. There was a typo in the +# product name. It was mrmosaic. It is now mmosaic. +#05/19/2008 - Added sshp_hpn_minutes_before and sshp_hpn_minutes_after tokens. +# These tokens define the time window for the SSHP HPN Prerocessor. +#07/07/08 - Added sshp_show_unadjusted_states // for sshp +# +#10/01/09 - Added 5 tokens for arcnav application. //only for arcnav for raxum application +#10/03/12 - Added token section for script execution + + +# ============================================================================== +# To see syntax rules for this file, see the bottom of this file +# +# Also see .Apps_defaults_site for overriding settings +# + +#$============================================================================= +#$ This section contains the tokens whose values are different between the +#$ development and the delivery tree. The value give is the development +#$ value. The commented value is the delivery value. The uncommented value +#$ is in the development tree. All of these tokens must be enclosed +#$ by the AWIPS_MODIFICATION_BLOCK_BEGIN and AWIPS_MODIFICATION_BLOCK_END +#$ tags. Token names and commented lines should at column 1. + +#AWIPS_MODIFICATION_BLOCK_BEGIN + +apps_dir : $(SHARE_DIR)/hydroapps # Hydrologic applications directory + +data_archive_root : /data_store # root directory of the data archive + +mcp3_icp_iface : $(HOME)/mcp3_ntrfc +#mcp3_icp_iface : /tmp/$(LOGNAME)/mcp3_ntrfc + +verify_dir : $(apps_dir)/rfc/verify #base verify directory +#verify_dir : /rfc_arc/verify #base verify directory + +vsys_dir : $(apps_dir)/rfc/verify #base verify directory +#vsys_dir : $(verify_dir) #base verify directory + +#AWIPS_MODIFICATION_BLOCK_END + +#===================== Apps/Script Execution Tokens ================================= +WhfsSrv : ON +WhfsSrv.purge_files : ON +WhfsSrv.run_db_purge : ON +WhfsSrv.run_floodseq : ON +PprocSrv : ON +PprocSrv.purge_mpe_files : ON +PprocSrv.purge_hpe_file : ON +MpeFieldGenSrv.run_mpe_fieldgen : ON +WhfsSrv.run_pdc_pp : ON +WhfsSrv.run_alarm_whfs : ON +WhfsSrv.run_alarm_whfs.run_roc_checker : ON +WhfsSrv.run_alarm_whfs.run_report_alarm : ON +WhfsSrv.run_alarm_whfs.run_report_alarm.textdb : ON +ArealQpeGenSrv : ON +DqcPreProcSrv : ON +DqcPreProcSrv.run_dqc_preprocessor : ON +MpeRUCFreezingLevel : ON +MpeLightningSrv : ON +#==================================================================================== + +# ============================================================================== + +# Executable directory tokens. +sys_java_dir : /awips2/java # Location of Java COTS software +hydro_publicbin : $(apps_dir)/public/bin +sqlcmd_bin_dir : /usr/local/sqlcmd/bin # location of sqlcmd executable on both HP and + # Linux beginning in OB3 + +################################################################################# +# Default Display Maps - comma separated list of maps with no spaces +# Map names can be found in the localization perspective under +# CAVE->Bundles->Maps. Use the filename without the extension. +# statesCounties.xml -> statesCounties +# +# display_maps - default display maps for Hydro Perspective +# mpe_display_maps - default display maps for MPE Perspective +display_maps : statesCounties +mpe_display_maps : statesCounties +################################################################################# + +# database selection tokens +server_name : ONLINE # Informix database server name +db_name : hd_ob92lwx # IHFS database name +damcat_db_name : dc_ob5xxx # Dam Catalog database name +hdb_db_name : ob81_histdata # Historical database. +pghost : localhost # The machine PostGres is running on +pguser : awips # The user allowed to access PostGres +pgport : 5432 # The PostGres Server port +adb_name : adb_ob7xxx # RFC archive database name +rax_pghost : ax # The machine PostGres is running on for the adb + +# vacuum log dir token. +vacuum_log_dir : $(whfs_log_dir)/vacuum + +# WHFS specific tokens +whfs_tz : EST5EDT # WHFS time zone for local time +whfs_primary_radar : TLX # WHFS primary radar id, for Stage II + +# damcat tokens +damcat_hostoffice_type : wfo # source of run-from office +damcat_office_datasource : ohd # which data source is used +max_storage_value : 0.00 # max storage volume filter +damcat_data : /tmp/damcatData + +# Damcrest tokens +damcrest.db_enabled : true # set to true when the user has damcat database +damcrest.hasListAllDams : true # when set to true, all dams will be displayed initially + +# Path to the editor used by Damcrest +damcrest.editor : /usr/bin/gvim + +# Path to the damcrest data directory where input and output files +# of the model are stored +damcrest_data_dir : $(whfs_local_data_dir)/damcrest + +# Path to the directory where .vimrc resource file resides. +# This resource file is needed when editor in Damcrest application +# is set to gvim. +damcrest_res_dir : $(whfs_config_dir)/damcrest + +#===================== SHEFDECODE Application Tokens ================================ + +shefdecode_userid : oper # controlling UNIX user +shefdecode_host : dx1f # controlling UNIX system. +shefdecode_dir : $(apps_dir)/shefdecode # main directory location +shefdecode_bin : $(shefdecode_dir)/bin # executable programs location +shefdecode_input : $(shefdecode_dir)/input # SHEF parameter file location +shef_data_dir : /data/fxa/ispan/hydro # input products location + +shefdecode_log : $(shefdecode_dir)/logs/decoder # daily log files location +shef_error_dir : $(shefdecode_dir)/logs/product # product log files location +shef_keeperror : ALWAYS # keep product log files (=ALWAYS) or + # only when errors occur (=IF_ERROR) +shef_perflog : ON # ON/OFF - create a separate performance log file to + # save internal decoder timing messages for + # monitoring performance +shef_data_log : ON # ON/OFF - include messages in the log file detailing + the SHEF records +dupmess : ON # ON/OFF - include messages in the log file about + # duplicate data +elgmess : ON # ON/OFF - include messages in the log file about + # data types not found in IngestFilter or + # data types turned off in IngestFilter +locmess : ON # ON/OFF - include messages in the log file about + # stations and areas not found in Location + # or GeoArea + +shef_sleep : 10 # sleep duration in seconds in between queries +shef_winpast : 10 # number of days in past to post data +shef_winfuture : 30 # number of minutes in future to post obs data +shef_duplicate : IF_DIFFERENT # flag for handling duplicate date + # ALWAYS_OVERWRITE-always overwrite when value repeats + # USE_REVCODE-if revcode set overwrite duplicate value + # IF_DIFFERENT-overwrite if new value is different + # IF_DIFFERENT_OR_REVCODE-overwrite if new value is + # different or revcode is set +shef_load_ingest : ON # ON/OFF - automatically load the IngestFilter table or not + # with (station id-PEDTSE) combinations as they + # arrive in the input data flow +shef_storetext : OFF # ON/OFF - post/don't post raw encoded SHEF text messages + # to the TextProduct table +shef_post_unk : NONE # NONE - do not post to the UnkStn nor UnkStnValue tables + # IDS_ONLY - post only location identifiers for unknown + # stations to the UnkStn table + # IDS_AND_DATA - post all data from unknown stations to + # the UnkStnValue table +shef_post_baddata : REJECT # PE/REJECT - post data that have failed the gross range + # check to the physical element data tables (=PE) OR + # to the RejectedData table (=REJECT) +shef_procobs : OFF # ON/OFF - post Processed data values (i.e., TS=P*) to + # the observation data tables (=ON) or to + # the ProcValue table (=OFF) +shef_post_latest : ON # ON/OFF - post/don't post data to the LatestObsValue table + # VALID_ONLY - post data to the LatestObsValue table + # ONLY if the gross range check is passed +shef_post_link : ON # ON/OFF - post/don't post data to the ProductLink table +shef_load_maxfcst : ON # ON/OFF - after each product that resulted in forecast + # height or discharge data being posted, load + # the maximum forecast data into the RiverStatus table +shef_alertalarm : ON # ON/OFF - causes shefdecoder to screen data against + # alert and alarm thresholds +# -- Intermediate output from ShefParser prior to post +shef_out : OFF + + +#===================== WHFS Applications Tokens ================================ + +whfs_base_dir : $(apps_dir)/whfs # top of the WHFS tree +whfs_local_dir : $(whfs_base_dir)/local # top of WHFS local tree +whfs_local_data_dir : $(whfs_local_dir)/data # top of WHFS local data tree +whfs_local_grid_dir : $(whfs_local_data_dir)/grid # top of WHFS grids tree +whfs_log_dir : $(whfs_local_data_dir)/log # top of WHFS logs tree + +whfs_local_bin_dir : $(whfs_local_dir)/bin # local WHFS executables + +whfs_geodata_dir : $(whfs_local_data_dir)/geo # WHFS map backgrounds +whfs_image_dir : $(whfs_local_data_dir)/image # user-saved image files +whfs_import_dir : $(whfs_local_data_dir)/import # files to import into WHFS +whfs_product_dir : $(whfs_local_data_dir)/product # WHFS generated external products +whfs_report_dir : $(whfs_local_data_dir)/report # user-saved text reports +whfs_lines_per_page : 60 + +whfs_config_dir : $(whfs_local_data_dir)/app # WHFS app configuration files +rpf_template_dir : $(RPF_TEMPLATE_DIR) # RiverPro templates +metar_config_dir : $(whfs_config_dir)/metar2shef # METAR translator config +metar2shef_options : " -a -b -p1 -y2k -salias -p6 -p24 -round -w -strip " +ts_config_dir : $(whfs_config_dir)/timeseries # Time Series config +hv_config_dir : $(whfs_config_dir)/hydroview # Hydroview pixmaps etc. +hv_help_dir : $(hv_config_dir)/help/ # Hydroview Help direc. +rivermon_config_dir : $(whfs_config_dir)/rivermon/ # RiverMonitor Conf dir. + +whfs_misc_grid_dir : $(whfs_local_grid_dir)/misc # misc WHFS grids + +rgb_file_path : /usr/share/X11/rgb.txt # Location of X/Motif color file. + +rpf_log_dir : $(RPF_LOG_DIR) # RiverPro logs +rivermon_log_dir : $(whfs_log_dir)/rivermon # RiverMonitor logs +obsfcstmonitor_log_dir : $(whfs_log_dir)/obsfcst_monitor # ObsFcstMonitor logs +whfs_util_log_dir : $(whfs_log_dir)/misc # WHFS misc logs +precip_accum_log_dir : $(whfs_log_dir)/precip_accum # precip_accum logs +floodseq_log_dir : $(whfs_log_dir)/floodseq # flood sequencer logs +metar_log_dir : $(whfs_log_dir)/metar2shef # METAR translator logs +hb_gagrad_log_dir : $(whfs_log_dir)/create_gagradloc # gage-radar locator logs +qcalarm_log_dir : $(whfs_log_dir)/qcalarm # batch QC logs + +db_purge_log_dir : $(whfs_log_dir)/db_purge # db_purge token +db_purge_backup_retention_use : ON # db_purge token for using backup retention value + +purge_files_log_dir : $(whfs_log_dir)/misc # purge_files token + +whfs_bin_dir : $(whfs_base_dir)/bin # WHFS executables +sws_parent_dir : $(whfs_bin_dir) # SWS parent dir +sws_home_dir : $(whfs_bin_dir)/pa # SWS dir + +# ----------------------------------------------------------------- +# The Gage Precip Processor tokens +# ----------------------------------------------------------------- + +gage_pp_userid : oper # controlling UNIX user +gage_pp_host : dx # controlling UNIX system +gage_pp_data : $(pproc_local_data)/gpp_input # input data files location +gage_pp_log : $(pproc_log)/gage_pp # daily log files location +gage_pp_sleep : 10 # sleep duration in seconds in between queries +gage_pp_enable : ON # gpp enabled; shef uses to determine post +shef_post_precip : OFF # post to Precip/CurPrecip tables +build_hourly_enable : ON # Enable the build_hourly application + +# ---------------------------------------------------------------- +# The following tokens are most likely to be customized by the user +# (the first 4 MUST be customized at each site in the .Apps_defaults_site file) +# ---------------------------------------------------------------- +hv_center_lat : 35.0 # HydroView center latitude +hv_center_lon : -97.8 # HydroView center longitude +hv_height_in_pixels : 900 # Hydroview map height in pixels +hv_width_in_pixels : 1200 # Hydroview map width in pixels +hv_map_width : 320 # HydroView map width (nautical miles) +hv_pointdata_display : ON # Hydroview point data display flag (ON, OFF) +hv_hours_in_window : 4 # Change window hours +hv_zoom_out_limit : 20 # Limits how far the map can be zoomed out +hv_disclosure_limit : 60 # Prog disclosure limit +hv_zoom_threshold : 150 # nautical miles; Hydroview + # detail level for cities/towns +hv_map_projection : FLAT # Sets default map projection used in + # hydroview/MPE. Options are FLAT, POLAR + # or HRAP. +hv_refresh_minutes : 15 # HydroView auto refresh time (minutes) +hv_riverbasis : maxobsfcst # initial river basis for river characteristics +hv_min_dur_filled : 0.0 # Minimum percentage of accum interval covered + # by precip data. +ppp_ppd_local_7am_window : 3 # Number of +/- hours around 7 AM local to + # to use PPP and PPD reports for 24 hour + # precip summaries. + # values either obs, fcst, maxobsfcst +shefencode_prodid : CCCCNNNXXX # product identifier for outgoing SHEF + # encoded messages from Hydro Time Series +whfs_editor : whfs_editor # WHFS text editor +rpf_linewidth : 80 # width of line in RiverPro generated products +rpf_min_dur_filled : 0.25 # min percent time of requested precip dur in RiverPro +office_prefix : K # fourth char prepended to 3-char office id +vtec_record_stageoffset : 2.0 # ft offset from record value for H-VTEC field +vtec_record_flowoffset : 5000.0 # cfs offset from record value for H-VTEC field +pproc_s2_gridgen_hrs : 5 # WHFS Stage II lookback (hours) +whfs_min_dur_filled : 0.83 # WHFS min fractional time duration needed for radar accumulations +whfs_min_area_covered : 0.80 # WHFS min fractional area needed to compute MAPs +whfs_printcommand_HP : lp # command used to print WHFS apps reports on HP +whfs_printcommand_LX : lp # command used to print WHFS apps reports + # on LX +whfs_e19_print_command : "lp -o cpi=19 -o lpi=7" # command used to print e19 text reports + +dam_icon_color : BROWN # Color used for dam icon in Hydroview +timeseries_begintime : 5 # number of days back relative to current time +timeseries_endtime : 3 # number of days ahead relative to current time +timeseries_showcat : 2 # scale by data and show categories +timeseries_linewidth : 1 # width of line drawn on graph +timeseries_mode : STATION # set to GROUP or STATION mode +timeseries_dist_shef : OFF # ON/OFF token for the shef send script distribute check box + # Defaults to off if not set +rpf_stage_window : 0.5 # set stage window for determining the trend + # variables in RiverPro +show_vtecqc_window : IF_ERROR #or ALWAYS, used in RiverPro +rpf_endtime_shifthrs : 6 # in RiverPro +event_expire_withinhr : 3 # in RiverPro + +#=====Tokens To Generate Areal FFG from Mosaicked FFG Grids for Use By SSHP===== +# (NOTE: gaff_rfc_list MUST be customized at EVERY Field Office) + +gaff_execution : ON # ON/OFF token for the gen_areal_ffg process + # the gen_areal_ffg process is run from the + # process_dpa_files script at WFOs +gaff_rfc_list : ABRFC,LMRFC # list of RFCs to be mosaicked + # list is comma separated, no embedded + # spaces are allowed +gaff_input_dir : $(EDEX_HOME)/data/processing + # directory containing gridded FFG + # generated by RFCs +gaff_look_back_limit : 60 # number of hours to look back for valid gridded + # FFG data for input +gaff_mosaic_dir : $(whfs_misc_grid_dir) # directory containing output + # mosaicked gridded FFG in + # netCDF format +gaff_durations : 1,3,6 # FFG durations in hours + # list is comma separated, no embedded + # spaces are allowed + + +# ================= "ds_" system tokens (see more in site file) =============== + +ofs_dir : $(apps_dir)/rfc/nwsrfs/ofs +util_dir : $(apps_dir)/rfc/nwsrfs/util +calb_dir : $(apps_dir)/rfc/nwsrfs/calb +ifp_dir : $(apps_dir)/rfc/nwsrfs/ifp +icp_dir : $(apps_dir)/rfc/nwsrfs/icp +ens_dir : $(apps_dir)/rfc/nwsrfs/ens +fld_dir : $(apps_dir)/rfc/fld + + +hdb_dir : $(apps_dir)/rfc/hdb + +# = = = = = = = = = = = = = = = = = = = = = = end "ds_" system requirements = = + +ofs_rls : $(ofs_dir)/bin/RELEASE +util_rls : $(util_dir)/bin/RELEASE +calb_rls : $(calb_dir)/bin/RELEASE +ffg_rls : $(ffg_dir)/bin/RELEASE +ifp_rls : $(ifp_dir)/bin/RELEASE +icp_rls : $(icp_dir)/bin/RELEASE +ens_rls : $(ens_dir)/bin/RELEASE +hdb_rls : $(hdb_dir)/bin/RELEASE +fld_rls : $(fld_dir)/bin/RELEASE +xsets_rls : $(xsets_dir)/bin/RELEASE +xnav_rls : $(xnav_dir)/bin/RELEASE +xdat_rls : $(xdat_dir)/bin/RELEASE + +ofs_arc : $(ofs_dir)/bin/ARCHIVE +util_arc : $(util_dir)/bin/ARCHIVE +calb_arc : $(calb_dir)/bin/ARCHIVE +ffg_arc : $(ffg_dir)/bin/ARCHIVE +ifp_arc : $(ifp_dir)/bin/ARCHIVE +icp_arc : $(icp_dir)/bin/ARCHIVE +ens_arc : $(ens_dir)/bin/ARCHIVE +hdb_arc : $(hdb_dir)/bin/ARCHIVE +fld_arc : $(fld_dir)/bin/ARCHIVE +xsets_arc : $(xsets_dir)/bin/ARCHIVE +xnav_arc : $(xnav_dir)/bin/ARCHIVE +xdat_arc : $(xdat_dir)/bin/ARCHIVE +# = = = = = = = = = = = = = = = = = = = = = = end of other "ds_" tokens = = = = + +# LDAD shefencode tokens +ldad_data_dir : /awips/ldad/data # the LDAD internal data dir +shefenc_pe_table : $(ldad_data_dir)/ShefEncoder_PE.tbl +shefenc_units_table : $(ldad_data_dir)/ShefEncoder_Units.tbl + +# NWSRFS tokens + +rfs_dir : $(apps_dir)/rfc/nwsrfs # Top-level rfs mt. +rfs_sys_dir : $(rfs_dir)/sys_files # RFS system files +rfs_doc : $(rfs_dir)/doc # NWSRFS documentation + +# OFS tokens +locks_dir : $(rfs_dir)/locks +ofs_lock_max_wait : 60 # no. of mins to wait to get an ofs lock +ofs_lock_wait_interval : 5 # no. of secs 'tween retries to get an ofs lock +ofs_locks_max_pass : 4 # no. of attempts to make to get a set of locks. + +ofs_level : oper +ofs_reor_lvl : oper_new +ofs_inpt_grp : oper + +home_files_workstation : ds + +ofs_log_output : off # whether to output file r/w info +ofs_error_output : on # whether to output file error info +fortran_stderr : 7 # FORTRAN standard error unit + +ofs_bin : $(ofs_dir)/bin # OFS executables dir +ofs_files : $(ofs_dir)/files # OFS file group +ofs_fs5files : $(ofs_files)/$(ofs_level)/fs5files # OFS files dir +ofs_reorder_dir : $(ofs_files)/$(ofs_reor_lvl)/fs5files # OFS reordered files +ofs_output : $(ofs_dir)/output # OFS output dir +ofs_input : $(ofs_dir)/input/$(ofs_inpt_grp) # OFS input dir +ofs_input_dflt : $(ofs_dir)/input/$(ofs_inpt_grp) # OFS input dir +ofs_shefdata_dir: $(ofs_files)/$(ofs_level)/shefdata # OFS SHEF data dir +ofs_shefout_dir : $(ofs_files)/$(ofs_level)/shefdata # OFS shefout file dir +ofs_mods_dir : $(ofs_files)/$(ofs_level)/mods # OFS MODS files dir +ofs_griddb_dir : $(ofs_files)/$(ofs_level)/griddb # OFS gridded fields +ofs_scripts : $(ofs_dir)/scripts # OFS scripts dir +ofs_server : apwk01g2 # OFS "slave" server +my_output : $(ofs_output)/$(LOGNAME) # users ofs output files + +ndfd2rfs_input : $(ofs_files)/$(ofs_level)/ndfd +ndfd2rfs_output : $(my_output) +ndfd2rfs_log_level : 0 + +fldview_dir : $(apps_dir)/rfc/fldview/floodmapdata + +# calb tokens +calb_bin : $(calb_dir)/bin +calb_lib : $(calb_dir)/lib + +calb_data_grp : oper +calb_inpt_grp : oper +calb_input : $(calb_dir)/input/$(calb_inpt_grp) +calb_output : $(calb_dir)/output +calb_sta_ts_dir : $(calb_dir)/data/sta_ts/$(calb_data_grp) +calb_area_ts_dir : $(calb_dir)/data/area_ts/$(calb_data_grp) +peakflow_data_dir : $(calb_dir)/data/area_ts/$(calb_data_grp) + +calb_gzio_read : off # whether or not to read gzipped DATACARD files +calb_gzio_write : off # whether or not to write gzipped DATACARD files + +nwsrfs_calbfile_default : CARD # default calibration file type +nwsrfs_platform : AIX # operating system + +# ICP tokens +icp_bin : $(icp_dir)/bin +icp_pw : hILLEL +icp_scripts : $(icp_dir)/scripts + +mcp_decks : $(calb_input)/mcp3 +mcp_dir : $(calb_rls) + +# IFP tokens +ifp_help_dir : $(ifp_dir)/help_files # IFP help files +ifp_bin_dir : $(ifp_dir)/bin/RELEASE # IFP bin files - ref in code +ifp_nwsrfs_bin_dir : $(ifp_dir)/bin/RELEASE # ifp_nwsrfs bin - ref in code +ifp_sys_dir : $(ifp_dir)/system # IFP system files +ifp_scripts_dir : $(ifp_dir)/scripts # IFP script files +ifp_options_dir : $(ifp_dir)/options # IFP options files +ifp_colors_dir : $(ifp_options_dir)/colors # IFP color files +ifp_fs5files : $(HOME)/ofs_ifp/fs5files # user copy of fs5files +ifp_rfc : host # name of RFC to run +ifp_num_columns : 3 # number of columns to display +ifp_gif_files : $(ofs_files)/$(ofs_level)/gif_files # gif files directory +ifp_sacco_dir : $(ofs_files)/$(ofs_level)/sacsnow_clim +ifp_dhm_data_dir : /data/dhm/$(LOGNAME) +ifp_griddb_dir : $(ifp_dhm_data_dir)/precip + +# Ensemble (ens) tokens + +espts_dir : $(ens_dir)/files/$(ofs_level)/espts #espts files esp +espadp_dir : $(ens_dir) +preadj_dir : $(ens_dir)/files/$(ofs_level)/cpc_fcsts +ens_input : $(ens_dir)/input/$(ofs_level) +ens_output : $(ens_dir)/output +ens_files : $(ens_dir)/files/$(ofs_level) +ens_scripts : $(ens_dir)/scripts + +# ens_pre tokens +##FXA_HOME : /px1data #taken out by kwz.2/11/04 +enspre_griddb : $(FXA_DATA)/Grid/SBN/netCDF/CONUS211/CPCoutlook +ens_log_dir : $(ens_output)/$(ofs_level) +ens_msglog_level : 5 +preadj_outts_dir : $(calb_area_ts_dir)/pre + +# FLDGRF tokens (added 6 April 2000) + +fldgrf_iface : $(HOME)/fldgrf + +# ofsde tokens + +ofsde_log_dir : $(ofs_output)/ofsde_logs # ofsde log dir + # (formerly ofsde_output_dir) +ofsde_ndate : 7 # number of days to search for forecast temps +ofsde_rrstime_check : OFF # flag to check obs times of RRS data + # against window around 12Z (OFF/ON) + +# intervals for max/min temperatures (used by ofsde) +# these represent number of hours around 12z + +intlrmn : 8 +inturmn : 2 +intlrzn : 2 +inturzn : 2 +intlrzx : 8 +inturzx : 2 +siipp_calc_624_PP : OFF # flag for calculating 6hr and 24hr + # PP data from PC data + # if running RFCWide, should be set to OFF + +# defaults for geographic data + +geo_data : $(apps_dir)/geo_data +geo_util : $(geo_data)/util + +geo_ifp_bin : $(geo_data)/$(ifp_rfc)/binary +geo_ifp_ascii : $(geo_data)/$(ifp_rfc)/ascii + +#===================== PRECIP_PROC Application Tokens ======================== + +# precip_proc directory + +pproc_dir : $(apps_dir)/precip_proc # precip proc top + # level dir +pproc_bin : $(pproc_dir)/bin # dir with precip proc exes +pproc_local : $(pproc_dir)/local # dir with local items, esp. data +pproc_local_data : $(pproc_local)/data # dir with local data +pproc_local_bin : $(pproc_local)/bin # dir with local bin +pproc_log : $(pproc_local_data)/log # dir with local logs + +pproc_util_log_dir : $(pproc_log)/misc # miscellaneous logs + +# DecodeDPA tokens (formerly DecodeHDP tokens that looked like hdp_*) + +dpa_log_dir : $(pproc_log)/decodedpa # DPA Decoder logs +dpa_prod_dir : /data/fxa/ispan/hdp # DPA input directory +dpa_gather : $(pproc_local_data)/dpa_gather # DPA gather directory +dpa_error_dir : $(pproc_local_data)/stage1_error # DPA error files +dpa_arch_dir : $(pproc_local_data)/stage1_archive # DPA archives +dpa_wind : 10 + + +dpa_filter_decode : ON # flag for non-top-of-hour + # filtering of decoded products + # ON - filter products for decode + # OFF - do not filter (ie decode all products) + +dpa_decode_window : 10 # number of minutes around top + # of hour for filtering products for + # decoding + +dpa_archive : OFF # ON/OFF flag for archiving products + # OFF - do not archive products + # ON - archive products and filter based + # on value of dpa_archive_window + +dpa_archive_window : 10 # number of minutes around top + # of hour for filtering products for archiving + +dpa_dirname1 : $(data_archive_root)/radar # first part of directory name + # containing DPA products for + # associated or dial in radars +dpa_dirname2 : DPA/layer0/res4/level256 # second part of directory name + # containing DPA products for + # associated or dial in radars +dpa_grid_dir : $(pproc_local_data)/stage1_decoded # decoded DPA radar grids + +# siipp tokens + +intpc : 10 # interval (minutes) around top of hour for using PC data +intlppp : 2 +intuppp : 2 +intppq : 2 +siipp_log_dir : $(pproc_log)/siipp # Stage II preprocessor logs + # (formerly siipp_output_dir) + +# tokens for stageiii +st3_help : $(pproc_local_data)/app/stage3/help # online help text + +st3_rfc : host +awips_rfc_id : TUA # 3 char AWIPS RFC identifier + # must be all upper case + +# tokens for stageiii output +st3_mapx_id : xmrg # identifier for Stage 3 output +st3_date_form : mdY # date format + # current allowable = Ymd or mdY + # similar to formatting codes for + # strftime function + +st3_output : $(ofs_griddb_dir) # dir for xmrg files for MAPX + # ofs_griddb_dir defined outside of pproc +st3_out_dir : $(pproc_local_data)/stage3 +post_output : $(st3_out_dir)/post_analysis + +# defaults for netCDF output + +st3_netcdf_loc : arkansas_red_basin_river_forecast_center_tulsa_ok + # underscores needed between words +st3_netcdf_swlat : 33.603 +st3_netcdf_swlon : 106.456 +st3_netcdf_selat : 32.433 +st3_netcdf_selon : 92.322 +st3_netcdf_nelat : 38.027 +st3_netcdf_nelon : 90.678 +st3_netcdf_nwlat : 39.420 +st3_netcdf_nwlon : 106.652 + +#defaults for auto stageiii +st3_auto_graphic_scale : 2.4 # used by gif file generation + +#===================== disagg Tokens (old disagg process)======================== + +disagg_msglog_level : 30 # message level + # possible values are 1,10,20,30,...80 + # lower values signify less info in log + +disagg_dur : 24 # maximum duration of precip gage data to + # be disaggregated + # possible values = 2,3,...,24 + +disagg_look_back : 0 # time (hours) to look back from current hour + # for precip gage data to be disaggregated + +disagg_radius : 3 # number of HRAP bins within which the QPE + # will be averaged for disagg + # for example, if disagg_radius = 3, then + # the 9 nearest neighbor QPE bin values + # will be averaged +disagg_set_date : 0 # identifier for current date (yyyymmdd). + # Default value is 0 - set to + # today date + +disagg_set_hour : 0 # identifier for current hour (hh). + # Default value is 0 + # Possible values = 0,1,2,3,...,23 + +disagg_log_dir : $(pproc_log)/disagg # directory containing disagg logs + +# =============== Multi-Sensor Precipitation Estimator (MPE) ================ + +rfcw_rfcname : host +rfcwide_logs_dir : $(pproc_log)/mpe_fieldgen +hmap_mpe_timelapse : 1000 # time between images, in milliseconds, for the MPE + # time lapse display + +### tokens for input ### + +rfcwide_input_dir : $(pproc_local_data)/app/mpe + +rfcwide_satpre_dir : $(mpe_fieldgen_product_dir)/satpre + +# the help_dir token needs a trailing slash because it is required byt +# the RFC software the processes the help info... + +rfcwide_help_dir : $(rfcwide_input_dir)/help/ +rfcwide_misbin_dir : $(rfcwide_input_dir)/misbin +rfcwide_prism_dir : $(rfcwide_input_dir)/prism +rfcwide_gageloc_dir : $(rfcwide_input_dir)/gage_locations +rfcwide_beamheight_dir : $(rfcwide_input_dir)/beam_height +rfcwide_utiltriangles_dir : $(rfcwide_input_dir)/utiltriangles + +### tokens for output ### +### NOTE: xmrg files are stored in dir defined by rfcwide_xmrg_dir token below + +rfcwide_output_dir : $(pproc_local_data)/mpe # fka ofs_griddb_dir defined outside of pproc + +rfcwide_gagetriangles_dir : $(rfcwide_output_dir)/gagetriangles +rfcwide_drawpre_dir : $(rfcwide_output_dir)/draw_precip + +rfcwide_avg_rmosaic_dir : $(rfcwide_output_dir)/avgrmosaic +rfcwide_max_rmosaic_dir : $(rfcwide_output_dir)/maxrmosaic +rfcwide_rmosaic_dir : $(rfcwide_output_dir)/rmosaic +rfcwide_bmosaic_dir : $(rfcwide_output_dir)/bmosaic +rfcwide_mmosaic_dir : $(rfcwide_output_dir)/mmosaic +rfcwide_mlmosaic_dir : $(rfcwide_output_dir)/mlmosaic +rfcwide_lmosaic_dir : $(rfcwide_output_dir)/lmosaic +rfcwide_lsatpre_dir : $(rfcwide_output_dir)/lsatpre +rfcwide_gageonly_dir : $(rfcwide_output_dir)/gageonly + +rfcwide_height_dir : $(rfcwide_output_dir)/height +rfcwide_index_dir : $(rfcwide_output_dir)/index +rfcwide_locbias_dir : $(rfcwide_output_dir)/locbias +rfcwide_locspan_dir : $(rfcwide_output_dir)/locspan +rfcwide_p3lmosaic_dir : $(rfcwide_output_dir)/p3lmosaic + +rfcwide_xmrg_dir : $(rfcwide_output_dir)/qpe +rfcwide_statevar_dir : $(rfcwide_output_dir)/state_var +rfcwide_sat_statevar_dir : $(rfcwide_output_dir)/sat_state_var +mpe_q2_statevar_dir : $(rfcwide_output_dir)/q2_state_var + +# ==================== MPE Tokens =============================== + +#daily qc options token defaults to 'off' where daily qc options are grayed out; values are 'on' and 'off' +mpe_dqc_options : off +mpe_map_background_color : GRAY20 # The default color of the MPE map background +mpe_temperature_window : 60 # The window in minutes the dqc preprocessor + # searches around a synoptic time + # (00z,06z,12z,18z) for temperature data. +mpe_maxminT_hour_window : 2 +mpe_dqc_max_precip_neighbors : 30 +mpe_dqc_max_temp_neighbors : 20 +mpe_dqc_precip_deviation : 3.0 +mpe_dqc_temperature_deviation : 10.0 +mpe_dqc_min_good_stations : 5 +mpe_copy_level2_dqc_to_ihfs_shef : OFF +mpe_copy_level2_dqc_to_archive_shef : OFF +mpe_dqc_num_days : 10 +mpe_dqc_warningpopup : on +mpe_dqc_6hr_24hr_set_bad : OFF # Define logic if user sets a 6hr value to Bad in the + # Edit Precip Stations window. + # OFF – if user sets 6hr value to Bad; 24hr value unaffected + # ON - if user sets 6hr value to Bad; 24hr value set to Bad + # Added at request of MBRFC to help with QC of SNOTEL. + +mpe_dqc_grid_max_dist : 70 # Max distance (units of grid bins) between a grid bin and a + # station to use the station to estimate the value at the grid bin. + +mpe_dqc_output_qc_file : OFF # ON/OFF default = OFF + +mpe_dqc_execute_internal_script : OFF # ON/OFF + +mpe_dqc_24hr_precip_grid_meth : USE_24HR # We use the token values of ACCUM_6HR and USE_24HR +mpe_td_new_algorithm : OFF # flag set for new algorithm in calculating Time Distributed estimate, the default + # is false +mpe_dqc_gridtype : SCALAR +mpe_dqc_projectiontype : POLAR_STEREOGRAPHIC +mpe_dqc_lonorigin : -105. + +#daily qc preprocessor tokens +dqc_preprocessor_basetime : 12Z #The value can be 12Z, 18Z, 00Z, or 06Z + +### MPE base directory tokens. +mpe_dir : $(pproc_local_data)/mpe +mpe_gageqc_dir : $(mpe_dir)/dailyQC +mpe_scratch_dir : $(mpe_gageqc_dir)/scratch +mpe_app_dir : $(pproc_local_data)/app/mpe +mpe_fieldgen_product_dir : $(mpe_dir) + +### MPE station list tokens +mpe_station_list_dir : $(mpe_app_dir)/station_lists +mpe_site_id : ounx +mpe_area_names : $(mpe_site_id) + +### MPE static data files +mpe_prism_dir : $(mpe_app_dir)/prism +mpe_misbin_dir : $(mpe_app_dir)/misbin +mpe_utiltriangles_dir : $(mpe_app_dir)/utiltriangles +mpe_beamheight_dir : $(mpe_app_dir)/beam_height +mpe_climo_dir : $(mpe_app_dir)/climo +mpe_help_dir : $(mpe_app_dir)/help +mpe_gridmask_dir : $(mpe_app_dir)/grid_masks +mpe_basin_file : $(whfs_geodata_dir)/basins.dat + +### MPE precipitation gage qc directories +mpe_precip_data_dir : $(mpe_gageqc_dir)/precip +mpe_bad_precip_dir : $(mpe_precip_data_dir)/bad +mpe_dev_precip_dir : $(mpe_precip_data_dir)/dev +mpe_map_dir : $(mpe_precip_data_dir)/MAP +mpe_grid_precip_dir : $(mpe_precip_data_dir)/grid +mpe_point_precip_dir : $(mpe_precip_data_dir)/point + +### MPE temperature gage qc directories +mpe_temperature_data_dir : $(mpe_gageqc_dir)/temperature +mpe_bad_temperature_dir : $(mpe_temperature_data_dir)/bad +mpe_dev_temperature_dir : $(mpe_temperature_data_dir)/dev +mpe_mat_dir : $(mpe_temperature_data_dir)/MAT +mpe_grid_temperature_dir : $(mpe_temperature_data_dir)/grid +mpe_point_temperature_dir : $(mpe_temperature_data_dir)/point + +### MPE freezing level gage qc directories +mpe_freezing_data_dir : $(mpe_gageqc_dir)/freezing_level +mpe_maz_dir : $(mpe_freezing_data_dir)/MAZ +mpe_grid_freezing_dir : $(mpe_freezing_data_dir)/grid +mpe_point_freezing_dir : $(mpe_freezing_data_dir)/point +ruc_model_data_dir : /data/fxa/Grid/SBN/netCDF/CONUS211/RUC + +### MPE 1 hour mosaics and fields and supporting reference fields. +mpe_avgrmosaic_dir : $(mpe_fieldgen_product_dir)/avgrmosaic +mpe_maxrmosaic_dir : $(mpe_fieldgen_product_dir)/maxrmosaic +mpe_bmosaic_dir : $(mpe_fieldgen_product_dir)/bmosaic +mpe_d2d_files_dir : $(mpe_fieldgen_product_dir)/d2d_files +mpe_polygon_dir : $(mpe_fieldgen_product_dir)/edit_polygon +mpe_gageonly_dir : $(mpe_fieldgen_product_dir)/gageonly +mpe_gagetriangles_dir : $(mpe_fieldgen_product_dir)/gagetriangles +mpe_height_dir : $(mpe_fieldgen_product_dir)/height +mpe_index_dir : $(mpe_fieldgen_product_dir)/index +mpe_lmosaic_dir : $(mpe_fieldgen_product_dir)/lmosaic +mpe_locbias_dir : $(mpe_fieldgen_product_dir)/locbias +mpe_locspan_dir : $(mpe_fieldgen_product_dir)/locspan +mpe_lsatpre_dir : $(mpe_fieldgen_product_dir)/lsatpre +mpe_mlmosaic_dir : $(mpe_fieldgen_product_dir)/mlmosaic +mpe_mmosaic_dir : $(mpe_fieldgen_product_dir)/mmosaic +mpe_qmosaic_dir : $(mpe_fieldgen_product_dir)/qmosaic +mpe_lqmosaic_dir : $(mpe_fieldgen_product_dir)/lqmosaic +mpe_mlqmosaic_dir : $(mpe_fieldgen_product_dir)/mlqmosaic +mpe_p3lmosaic_dir : $(mpe_fieldgen_product_dir)/p3lmosaic +mpe_qpe_dir : $(mpe_fieldgen_product_dir)/qpe +mpe_qpe_sbn_dir : $(mpe_fieldgen_product_dir)/qpe_sbn +mpe_qpe_gif_dir : $(mpe_fieldgen_product_dir)/qpe_gif +mpe_qpe_grib_dir : $(mpe_fieldgen_product_dir)/qpe_grib +mpe_qpe_grib_sbn_dir : $(mpe_fieldgen_product_dir)/qpe_grib_sbn +mpe_qpe_jpeg_dir : $(mpe_fieldgen_product_dir)/qpe_jpeg +mpe_qpe_netcdf_dir : $(mpe_fieldgen_product_dir)/qpe_netcdf +mpe_rmosaic_dir : $(mpe_fieldgen_product_dir)/rmosaic +mpe_sat_state_var : $(mpe_fieldgen_product_dir)/sat_state_var +mpe_state_var : $(mpe_fieldgen_product_dir)/state_var +mpe_srmosaic_dir : $(mpe_fieldgen_product_dir)/srmosaic +mpe_sgmosaic_dir : $(mpe_fieldgen_product_dir)/sgmosaic +mpe_srgmosaic_dir : $(mpe_fieldgen_product_dir)/srgmosaic +mpe_satpre_dir : $(mpe_fieldgen_product_dir)/satpre +mpe_rfcmmosaic_dir : $(mpe_fieldgen_product_dir)/rfcmmosaic +mpe_rfcbmosaic_dir : $(mpe_fieldgen_product_dir)/rfcbmosaic +mpe_localfield1_dir : $(mpe_fieldgen_product_dir)/localfield1 +mpe_localfield2_dir : $(mpe_fieldgen_product_dir)/localfield2 +mpe_localfield3_dir : $(mpe_fieldgen_product_dir)/localfield3 + +### Tokens related to the MPE Editor map display. +mpe_config_dir : $(whfs_config_dir) +mpe_center_lat : 39.8 +mpe_center_lon : -98.55 +mpe_height_in_pixels : 900 +mpe_width_in_pixels : 1200 +mpe_map_width : 1320 +mpe_zoom_out_limit : 20 +mpe_disclosure_limit : 60 +mpe_map_projection : FLAT + +### Misc tokens +mpe_load_hourlypc : ON +mpe_gageqc_gif_dir : $(whfs_image_dir) +mpe_gif_location : 34.0,-97.0,34.0,-94.0,33.0,-94.0 +mpe_overlay_dir : $(whfs_geodata_dir) +mpe_editor_logs_dir : $(pproc_log)/mpe_editor +mpe_type_source : RG:GOES,RR:ALERT,RM:SNOTEL,RP:LARC,RZ:COOP + +### New tokens for DQC/CHPS +mpe_level2_type_value : 2 # Allow user to customize the type value. The default is “2” +mpe_td_details_set : OFF # Allow generating a time distribution details file. +mpe_process_PC : ON # Skip call to the load_PC_hourly routine if "OFF" +mpe_map_one_zone : OFF # Allow MAP generation for one zone only +fewsgrib_dir : $(mpe_gageqc_dir)/fewsgrib # default nc2grib grib file output dir +nc2g_app_dir : $(mpe_app_dir)/nc2grib # directory for gfe2grib.txt file +netcdf_dir : $(mpe_gageqc_dir)/netcdf_files #default output directory for netcdf files +mpe_dqc_save_netcdf : OFF # Save Daily QC as netCDF +mpe_dqc_save_grib : OFF # Save Daily QC as grib + +### Tokens which control the products generated by MPE Fieldgen. +mpe_locbias_1hr_rerun : OFF # ON/OF .Apps_defaultsF flag to + # determine if local bias should be + # recalculated as part of the mpe_fieldgen + # rerun from hmap_mpe + # ON -- recalc loc bias on rerun + # OFF -- do not recalc loc bias on rerun +mpe_del_gage_zeros : OFF # ON/OFF flog to determine if a zero gage + # value should be removed from consideration + # if the radar shows > 0.0 + # ON -- check for and remove zero gage values + # OFF -- do not check for or remove zero + # gage values + +mpe_selected_grid_gagediff : MMOSAIC + +mpe_qpe_fieldtype : MMOSAIC # field type to be saved as qpe +mpe_generate_list : BMOSAIC,GAGEONLY,LMOSAIC,LSATPRE,MLMOSAIC,MMOSAIC,RMOSAIC,SATPRE,P3LMOSAIC,SRMOSAIC,SGMOSAIC,QMOSAIC,LQMOSAIC,MLQMOSAIC,RFCBMOSAIC,RFCMMOSAIC,RFCMOSAIC,SAVELEVEL2 +mpe_base_radar_mosaic : RMOSAIC # The base radar mosaic used for the fields + # that mpe_fieldgen generates +mpe_show_missing_gage : None # MPE missing gage display. + # (None,All,Reported) +mpe_bad_gages_dir : $(rfcwide_output_dir)/bad_gages + +### directory locations of various format MPE output grid files +mpe_gif_dir : $(rfcwide_output_dir)/qpe_gif +mpe_jpeg_dir : $(rfcwide_output_dir)/qpe_jpeg +mpe_netcdf_dir : $(rfcwide_output_dir)/qpe_netcdf +mpe_grib_dir : $(rfcwide_output_dir)/qpe_grib + +### which format MPE output grid files to save +mpe_save_gif : nosave +mpe_save_jpeg : nosave +mpe_save_netcdf : nosave +mpe_save_grib : save + +### prefixes for various format MPE output grid files, blank by default +mpe_gif_id : +mpe_jpeg_id : +mpe_netcdf_id : +mpe_grib_id : + +### mpe gage QC tokens +mpe_gage_qc : ON +mpe_sccqc_threshold : 2.0 +mpe_scc_boxes_failed : 4 +mpe_msc_precip_limit : 1.0 +mpe_split_screen : OFF + +### mpe polygon tokens +mpe_polygon_action_order : None +mpe_polygon_field_order : None + +### tokens which control the transmission of RFC bias data. +mpe_transmit_bias : OFF +transmit_bias_on_save : NO +transmit_bias_on_rerun : NO +rfc_bias_input_dir : $(mpe_dir)/bias_message_input +rfc_bias_output_dir : $(mpe_dir)/bias_message_output +process_bias_log_dir : $(pproc_log)/process_bias_message +send_local_bias_when_rfc_bias_missing : NO + +### rfc qpe to wfo tokens +mpe_send_qpe_to_sbn : OFF +mpe_generate_areal_qpe : OFF +# List of RFCs to process for Gen Areal Qpe +gaq_rfc_list : MBRFC,NCRFC +gaq_dur_list : 1,6,24 +gaq_app_dir : $(pproc_local_data)/app/gen_areal_qpe +gaq_input_dir : /data/fxa/Grid/SBN/netCDF/HRAP/QPE +gaq_log_dir : $(pproc_log)/gen_areal_qpe +gaq_rfc_mask_dir : $(gaq_app_dir) +gaq_temp_xmrg_dir : $(rfcwide_output_dir)/rfcqpe_temp +gaq_xmrg_1hr_dir : $(rfcwide_output_dir)/rfcqpe01 +gaq_xmrg_6hr_dir : $(rfcwide_output_dir)/rfcqpe06 +gaq_xmrg_24hr_dir : $(rfcwide_output_dir)/rfcqpe24 +gaq_grib_dir : $(rfcwide_output_dir)/rfcqpe_grib + +### token which controls how PC precipitation totals are derived. +sum_pc_reports : NO + +geo_st3_bin : $(geo_data)/$(st3_rfc)/binary #geo_data defined outside of pproc +geo_st3_ascii : $(geo_data)/$(st3_rfc)/ascii +adjust_PC_startingtime : 4 #allow PC starting time tolerance + +### tokens for sending MPE mean field bias data to the ORPG + +bias_message_dir : $(apps_dir)/data/fxa/radar/envData + +### tokens for Lightning Data processing + +lightning_input_dir : /data/fxa/point/binLightning/netcdf + +lightning_log_dir : $(pproc_log)/lightning_proc + +### tokens for D2D display + +mpe_d2d_display_grib : ON # ON/OFF token to determine if further + # processing of grib file for D2D display + # is required + +d2d_input_dir : $(EDEX_HOME)/data/manual/mpe # dir containing grib files + # to be processed for D2D display + +mpe_send_grib : OFF # ON/OFF token to determine if grib file is + # to be sent to other sites such as NPVU + +# disagg processing tokens + +mpe_disagg_execute : OFF +mpe_disagg_method : POINT +mpe_disagg_6hreq_0 : 1 +mpe_disagg_6hrgt_0 : 1 + +#====== High-resolution Precipitation Estimator (HPE) tokens==================== + +# DecodeDHR tokens (formerly DecodeHDP tokens that looked like hdp_*) + +dhr_log_dir : $(pproc_log)/decodedhr # DHR Decoder logs + +dhr_prod_dir : $(pproc_local_data)/dhr_gather # DHR input directory + +dhr_dirname1 : $(data_archive_root)/radar # first part of directory name +# # containing DHR products for +# # associated or dial in radars + +dhr_dirname2 : DHR/layer0/res1/level256 # second part of directory name + # containing DHR products for + # associated or dial in radar +dhr_grid_dir : $(pproc_local_data)/dhr_decoded # decoded DHR radar grids + +dhr_error_dir : $(pproc_local_data)/dhr_error # DHR error files +dhr_arch_dir : $(pproc_local_data)/dhr_archive # DHR archives + +# DecodeDSP tokens (formerly DecodeHDP tokens that looked like hdp_*) + +dsp_log_dir : $(pproc_log)/decodedsp # DSP Decoder logs + +dsp_prod_dir : $(pproc_local_data)/dsp_gather # DSP input directory + +dsp_dirname1 : $(data_archive_root)/radar # first part of directory name +# # containing DSP products for +# # associated or dial in radars + +dsp_dirname2 : STP/layer0/res2/level256 # second part of directory name + # containing DSP products for + # associated or dial in radars + # NOTE that DSP is level256 vs level16 for + # STP and this is where it is stored + # in AWIPS +dsp_grid_dir : $(pproc_local_data)/dsp_decoded # decoded DSP radar grids +dsp_error_dir : $(pproc_local_data)/dsp_error # DSP error files +dsp_arch_dir : $(pproc_local_data)/dsp_archive # DSP archives + + +hpe_generate_list : DHRMOSAIC,BDHRMOSAIC,ERMOSAIC,LSATPRE,EBMOSAIC +hpe_qpe_fieldtype : ERMOSAIC # field type to be saved as qpe + +hpe_satpre_dir : $(mpe_fieldgen_product_dir)/satpre +hpe_input_dir : $(pproc_local_data)/app/hpe +hpe_output_dir : $(pproc_local_data)/hpe +hpe_sat_statevar_dir : $(rfcwide_output_dir)/state_var + +hpe_log_dir : $(pproc_local_data)/log/hpe + +hpe_hrap_grid_factor : 4 # 1 for HRAP grid + # 4 for quarter HRAP grid + +hpe_dhrmosaic_dir : $(hpe_output_dir)/dhrmosaic +hpe_bdhrmosaic_dir : $(hpe_output_dir)/bdhrmosaic +hpe_ermosaic_dir : $(hpe_output_dir)/ermosaic +hpe_ebmosaic_dir : $(hpe_output_dir)/ebmosaic +hpe_avg_ermosaic_dir : $(hpe_output_dir)/avgrmosaic +hpe_max_ermosaic_dir : $(hpe_output_dir)/maxrmosaic +hpe_lsatpre_dir : $(hpe_output_dir)/lsatpre + +hpe_dspheight_dir : $(hpe_output_dir)/height +hpe_dspindex_dir : $(hpe_output_dir)/index +hpe_height_dir : $(hpe_output_dir)/height +hpe_index_dir : $(hpe_output_dir)/index + +hpe_dhrmosaic_grib_dir : $(hpe_dhrmosaic_dir)/grib +dhrmosaic_netcdf_dir : $(hpe_dhrmosaic_dir)/netcdf +dhrmosaic_gif_dir : $(hpe_dhrmosaic_dir)/gif +hpe_bdhrmosaic_grib_dir : $(hpe_bdhrmosaic_dir)/grib +bdhrmosaic_netcdf_dir : $(hpe_bdhrmosaic_dir)/netcdf +bdhrmosaic_gif_dir : $(hpe_bdhrmosaic_dir)/gif +hpe_ermosaic_grib_dir : $(hpe_ermosaic_dir)/grib +ermosaic_netcdf_dir : $(hpe_ermosaic_dir)/netcdf +ermosaic_gif_dir : $(hpe_ermosaic_dir)/gif +hpe_ebmosaic_grib_dir : $(hpe_ebmosaic_dir)/grib +ebmosaic_netcdf_dir : $(hpe_ebmosaic_dir)/netcdf +ebmosaic_gif_dir : $(hpe_ebmosaic_dir)/gif + +dhrmosaic_save_grib : save +dhrmosaic_save_gif : nosave +dhrmosaic_save_netcdf : nosave +bdhrmosaic_save_grib : save +bdhrmosaic_save_gif : nosave +bdhrmosaic_save_netcdf : nosave +ermosaic_save_grib : save +ermosaic_save_gif : nosave +ermosaic_save_netcdf : nosave +ebmosaic_save_grib : save +ebmosaic_save_gif : nosave +ebmosaic_save_netcdf : nosave + +hpe_gif_dir : $(hpe_output_dir)/hpe_gif +hpe_jpeg_dir : $(hpe_output_dir)/hpe_jpeg +hpe_netcdf_dir : $(hpe_output_dir)/hpe_netcdf +hpe_grib_dir : $(hpe_output_dir)/hpe_grib +hpe_xmrg_dir : $(hpe_output_dir)/hpe_xmrg +hpe_save_gif : nosave +hpe_save_jpeg : nosave +hpe_save_netcdf : nosave +hpe_save_grib : nosave + +dhr_window : 15 +dsp_window : 15 +dsp_duration : 60 + +hpe_base_radar_mosaic : ERMOSAIC +hpe_qpe_fieldtype : ERMOSAIC +hpe_load_misbin : OFF +hpe_debug_log : ON +hpe_use_locbias : OFF +hpe_runfreq : 5 +hpe_timelag : 5 +hpe_bias_source : RFC +hpe_rfc_bias_lag : 2 +hpe_purge_logage : 720 +hpe_purge_fileage : 180 +hpe_purge_xmrgage : 75 + +dhrmosaic_d2d_display_grib : ON +ermosaic_d2d_display_grib : ON +ebmosaic_d2d_display_grib : ON +bdhrmosaic_d2d_display_grib : ON +hpe_run_nowcast : ON +hpe_nowcast_generate_list : PRTM, BPTRM +hpe_nowcast_dir : $(hpe_output_dir)/nowcast +hpe_rate_save_grib : save +hpe_brate_save_grib : save +hpe_tp1h_save_grib : save +hpe_btp1h_save_grib : save +hpe_4km_tp1h_save_grib : nosave +hpe_4km_btp1h_save_grib : nosave +nowcast_d2d_display_grib : ON +hpe_smooth_method : 1 # 0=no smoothing 1=FFP method (default) 2=BZ94 method +hpn_use_meanvelocity : OFF +hpn_meanvelocity_direction : 45 # direction precip is moving towards +hpn_meanvelocity_speed : 20 # miles per hour + + +hpe_send_grib : OFF # ON/OFF token to determine if grib file is + # to be sent to other sites such as NPVU + +#========END HPE tokens====================================================== + +# ================= Flash Flood Guidance System ============================= + +ffg_level : oper + +ffg_dir : $(apps_dir)/rfc/nwsrfs/ffg # Top-level ffg +ffg_bin : $(ffg_dir)/bin # FFG execute dir +ffg_files : $(ffg_dir)/files # FFG file group +ffg_gsfiles : $(ffg_files)/$(ffg_level) # FFG files dir +ffg_out_dir : $(ffg_dir)/output # FFG output dir +ffg_grib_out : $(ffg_out_dir)/grib # GRIB output +ffg_scripts : $(ffg_dir)/scripts # FFG scripts +ffg_gff_level : grff # regular grid ffg dir +ffg_gro_level : grro # regular grid ro dir + .Apps_defaults +ffg_usr_dir : $(ffg_gsfiles)/user # FFG user dir +ffg_area_dir : $(ffg_gsfiles)/affg # FFG area dir +ffg_cary_dir : $(ffg_gsfiles)/cary # FFG carryover dir +ffg_define_dir : $(ffg_gsfiles)/define # FFG definition dir +ffg_gridff_dir : $(ffg_gsfiles)/$(ffg_gff_level) # FFG grid ff dir +ffg_gridro_dir : $(ffg_gsfiles)/$(ffg_gro_level) # FFG grid ro dir +ffg_hwatr_dir : $(ffg_gsfiles)/hffg # FFG headwater dir + +ffg_gridpm_dir : $(ffg_gsfiles)/gdpm # grid runoff adjust parameters +ffg_group_dir : $(ffg_gsfiles)/grpp # FFG groups of products +ffg_prod_dir : $(ffg_gsfiles)/prod # FFG products dir +ffg_text_dir : $(ffg_gsfiles)/text # FFG text dir +ffg_wsup_dir : $(ffg_gsfiles)/wsup # Water supply dir + +# ffg program control +ffg_error_output : on # whether to output error messages +ffg_log_output : off # whether to output log messages + +# ===================== GRIB packer/encoder ================================= + +grib_dir : $(apps_dir)/rfc/grib # Top level grib +grib_rls : $(pproc_bin) # location of gribit executable +grib_arc : $(grib_dir)/bin/ARCHIVE # grib archive +grib_in_dir : $(rfcwide_xmrg_dir) # depends on data to be encoded +grib_out_dir : $(grib_dir)/output # GRIB encoded files +grib_error_output : on # turn on/off GRIB error output +grib_set_subcenter_0 : off # set subcenter to 0 + # on - set subcenter to 0 + # off - do not set subcenter to 0 + +# end of ffg apps + +#================== XSETS Apps_defaults Tokens - 08/03/2001 =================== + +# [] = default value +#................................. +# Date Control +#................................. +xsets_date_used : SYSTEM # computer system clock + # OFSFILES = forecast time series + # mm/dd/ccyy = explicit date, 12Z + +#................................. +# Directories and files to use +#................................. +xsets_dir : $(apps_dir)/rfc/xsets +xsets_level : oper +xsets_files : $(xsets_dir)/files +xsets_xsfiles : $(xsets_files)/$(xsets_level) +xsets_param_dir : $(xsets_xsfiles)/param +xsets_config_file : xsetsconfig +xsets_output_dir : $(xsets_xsfiles)/output + +#................................. +# Commands +#................................. +xsets_editor : "nedit" +xsets_hydrographs_cmd : "$(xsets_dir)/bin/RELEASE/new_hydroplot" +xsets_print_cmd : "lp" +xsets_xmit_cmd : "cat " + +#................................. +# Parameters for creation of hydrographs +#................................. +xsets_hydro_button : NO # Create Make Hydro button, [NO] + (currently unused) +xsets_make_hydro : NO # Create .gif hydrographs, [NO] + +#................................. +# NEW_HYDROPLOTS parameters +#................................. +xsets_html_daily_dir : /pub/FcstGraphs # Location of gif images on + web server +xsets_html_flood_dir : /pub/FloodGraphs # Location of gif images on + web server +xsets_hydrographs_html : 1 # 1 = create basic html + 0 = no html created +xsets_hydrographs_output: "$(xsets_output_dir)/gifs" +xsets_hydrographs_param : $(xsets_xsfiles)/hydrographs/param + +#................................. +# File Print Options and Settings +#................................. +xsets_add_remarks : NO # Add remark after each site, [NO] +xsets_brackets : NO # Put brackets around latest stage, + # forecasts and dates, [NO] +xsets_cmt_line : NO # YES = separate line, + # NO = append to description, river +xsets_expanded_dates : YES # Insert MMDD before values, [NO] +xsets_fgroup_preamble : "FORECAST GROUP IS" #Preamble for the fgroup (string) +xsets_H_precision : 1 # 0, [1], or 2 decimal precision of stages +xsets_output_style : E # E = Expanded, each day has line, + # C = Compact +xsets_print_crests : YES # Print crest comment, [NO] +xsets_print_disclaimer : YES # Print disclaimer, [NO] +xsets_print_fs : YES # YES = encode flood stage in SHEF, + # [NO] = display as comment +xsets_print_fs_cross : COMMENT # Time level passes flood stage + # [NO] = don't include, + # SHEF = encode in SHEF, + # COMMENT = display as comment +xsets_print_ls : COMMENT # Latest stage + # [NO] = don't include, + # SHEF = encode in SHEF, + # COMMENT = display as comment +xsets_print_MAP : NO # Print MAP values, [NO] +xsets_print_qpf : COMMENT # Print QPF values + # [NO] = don't include, + # SHEF = encode in SHEF, + # COMMENT = display as comment +xsets_print_ws : YES # Display warning/caution stage, [NO] +xsets_product_hdr : PIT # Indentifier in Product Header, non-AWIPS +xsets_Q_precision : 1 # 0, [1], 2 decimal precision of flows +xsets_signature : $(LOGNAME) #User signature (string) +xsets_wmo_id : TTAA00 KTUR DDHHMM # the wmo id +xsets_ws_label : "WARNING" # Label for WARNING/[CAUTION] stage (string) +xsets_zczc : YES # Include ZCZC & NNNN, [NO], non-AWIPS + +#................................. +# Run Options +#................................. +xsets_age_check : 6 # Number of hours old of forecast before + # error generated, [6] +xsets_edit_lock : NO # Lock main display when editing SETS file, [NO]??? +xsets_gen_summary : NO # Include summary of flood locations, [NO], Currently Unused +xsets_msg_obs_warn : YES # Print warning when observed values are + # missing, [NO] +xsets_numhrs_curob : 12 # number of hours back from current time to use + # informix obs as "current obs" +xsets_num_MAP_values : 4 # Number [4] of MAP values to include in product +xsets_num_qpf_values : 4 # Number [4] of qpf values to include in product +xsets_numdays_hydro : 3 # Run Parameters for FCSTPROG +xsets_ofs_select : OFS # OFS or IFP for time series files +xsets_stdout : NO # Send wprint messages to stdout, [NO] +xsets_time : Z # Time Zone code used in product + # ([Z], E, C, M, P, A, H OR N) +# ================== end of xsets tokens ======================================= + +#================== XNAV Apps_defaults Tokens - 03/29/2000 ==================== +# defaults for program XNAV + +xnav_user : oper + +#................................. +# Date/time related tokens +#................................. +db_days : 10 +xnav_daily_days : 30 +xnav_ffg_periods : 3 +xnav_sixhr_periods : 40 +xnav_hyd_days_fut : 5 +xnav_hyd_days_prev : 5 +xnav_precip_hours : 240 +xnav_settoday : + +#................................. +# Directories and files to use +#................................. +xnav_dir : $(apps_dir)/rfc/xnav +xnav_data : $(xnav_dir)/data +xnav_params : $(xnav_dir)/parameters +xnav_P1xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb +xnav_S1xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb +xnav_bin_dir : $(xnav_dir)/bin +xnav_data_dir : $(xnav_data) +xnav_ffg_dir : $(ffg_dir)/output/$(xnav_user) +xnav_geo_data : $(geo_data)/$(ifp_rfc)/binary +xnav_gif_dir : $(HOME)/gifs/xnav +xnav_grid_ffg_dir : $(ffg_dir)/files/$(xnav_user)/grff +xnav_localdata_dir : $(xnav_data)/localdata +xnav_misc_dir : $(xnav_data)/misc_data +xnav_qpfbin_dir : $(xnav_data)/wfoqpf +xnav_rfcfmap_dir : $(xnav_data)/rfcqpf +xnav_rules_dir : $(xnav_params)/rules +xnav_shefdata_dir : $(xnav_data)/shefdata +xnav_wfoqpf_dir : $(apps_dir)/rfc/data/products +xnav_xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb +nmap_xmrg_dir : $(xnav_rfcfmap_dir)/nmap + +#................................. +# Fonts and colors +#................................. +xnav_action_color : yellow +xnav_flood_color : red +xnav_ok_color : green +xnav_ts1_color : yellow +xnav_ts2_color : magenta +xnav_label_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" +xnav_legend_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" +xnav_list_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" +xnav_menu_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" +xnav_pb_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" +xnav_text_font : -*-charter-bold-*-*-*-17-*-*-*-*-*-*-* +xnav_toggle_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" +xnav_town_font : "-*-new century schoolbook-bold-*-*-*-14-*-*-*-*-*-*-*" + +idma_label_font : "-*-new century schoolbook-bold-*-*-*-12-*-*-*-*-*-*-*" +idma_data_font : "-*-new century schoolbook-bold-*-*-*-18-*-*-*-*-*-*-*" + +#................................. +# Window size controls +#................................. +xnav_hrap_x : 59 +xnav_hrap_xor : 311 +xnav_hrap_y : 83 +xnav_hrap_yor : 410 +xnav_hydro_height : 400 +xnav_hydro_width : 750 +xnav_scale : 8.0 +xnav_scale_colors : 3.0 +xnav_x_offset : 100 +xnav_y_offset : 100 + +#................................. +# Display options +#................................. +xnav_basins : yes +xnav_counties : no +xnav_cwas : no +xnav_fgroups : no +xnav_flights : no +xnav_grid : no +xnav_hydro_segments : no +xnav_radars : no +xnav_rfc : yes +xnav_rivers : yes +xnav_states : yes +xnav_towns : yes + +#................................. +# Other control options +#................................. +load_db_on_boot : no +load_ofs_on_boot : no +check_flood_on_boot : no +use_new_xmrg : yes +xnav_afosid : ? #PITRR1RHA +xnav_editor : nedit +xnav_exception_file : exception_file +xnav_grid_ffg_pattern : xhr +xnav_locrangecheck : no +xnav_office_hdr : ? #KRHA +xnav_only_use_ofs_data : no +xnav_pe : "HG HP HT PP PT QR QT SD SF SW TA TD TS XC" +xnav_precip_filter : .01 +xnav_route_code : ? #ES +xnav_seg_type : 2 +xnav_send_shef : no +xnav_show_p1_files : yes +xnav_suppress_msg : yes +xnav_xmit_cmd : "cat " + +# ====== MAKE24HRXMRG Tokens ====== + +make24hrxmrg_settoday : # Run date in mm/dd/yyyy. Empty means uses number + # of days back argument to program. +make24hrxmrg_debug_level : 0 # Set debug output level. 1 or 2 yields more output. +make24hrxmrg_endtime : # Hour to end the 24 hour total. Default: 12Z if not + # given. +make24hrxmrg_tz : Z # Time zone; E, C, M, P, Y, H, L, or Z (defautlt). + +# ================== end of xnav tokens ======================================== + +#================== XDAT Apps_defaults Tokens - 03/29/2000 ==================== +# defaults for program XDAT + +xdat_user : oper + +#................................ +# Date/time related tokens +#................................ +xdat_flood_hours : 6 +xdat_settoday : + +#.................................. +# Directories and files to use +#.................................. +xdat_dir : $(apps_dir)/rfc/xdat +xdat_data : $(xdat_dir)/data +xdat_params : $(xdat_dir)/parameters +xdat_groups_dir : $(xdat_params)/groups +xdat_localdata_dir : $(xdat_data)/localdata +xdat_shefdata_dir : $(xdat_data)/shefdata + +#.................................. +# Fonts and colors to use +#.................................. +xdat_label_font : ncenb14 +xdat_list_font : helvb14 +xdat_text_font : user14x19 +xdat_pb_font : ncenb14 + +#................................. +# Window size controls +#................................. +xdat_scale : 1.0 + +#.................................. +# Display Options +#.................................. +xdat_clear_id : yes + +#.................................. +# Other Control Options +#.................................. +xdat_afosid : ?ofstest? +xdat_office_hdr : ??? +xdat_post_unk : $(shef_post_unk) +xdat_route_code : ??? +xdat_send_shef : no +xdat_xmit_cmd : "cat " +# ================== end of xdat tokens ======================================== + +#====================== Shape Data File Directory ============================== +shape_data_dir : $(apps_dir)/ffmpShapeData # Directory holding shape + # files acting as data files + + +#================== send_rfc Apps_defaults Tokens - 3/08/2001 ================= +send_rfc_dir : $(apps_dir)/rfc/send_rfc +send_rfc_input_dir : $(send_rfc_dir)/data/send +send_rfc_id : WWW +send_hardcopy_nnn : PRI-WRK-EDI-SNO-ADM-RVF +send_rfc_hardcopy : $(send_rfc_dir)/data/sbnprods +send_rfc_hpc : 0 +send_rfc_host : ds-www +send_rfc_alternate : 0 +# ================== end of send_rfc tokens ==================================== + +#================== verify Apps_defaults Tokens - 08/03/2001 ================== +# defaults for program verify +vsys_output : $(vsys_dir)/output #location of output files +vsys_input : $(vsys_dir)/input #location of input files +vsys_files : $(vsys_dir)/files #location of verify files +vsys_scripts : $(vsys_dir)/scripts #location of verify scripts +vsys_output_log : test.log #name of log file +vsys_ihfsdb : $(db_name) #ihfs_db name +vsys_vdb : vdb1_1rfc #verification db name for RFC="rfc" +verify_rls : $(vsys_dir)/bin/RELEASE #The release directory. +vsys_rls : $(verify_rls) #Not really needed, but consistent. + +# ================== end of verify tokens ====================================== + +# ================== RFC Archive Database tokens =============================== + +archive_shefdata_dir : /data/fxa/ispan/hydro_adbs # directory for archive data +archive_enable : OFF # ON/OFF - Enable or Disable + # archive data feed (OFF by default) +metar_output_dir : $(whfs_local_data_dir)/metar_output # metar2shef temp output directory + # used if archive_enable is ON + +#================== Directory tokens for RFC Archive Database ================== +adb_dir : /rfc_arc # Base RFC Archive Directory +adb_raw_que : /rfc_arc_data/q/raw/ # pathname for raw q input directory +adb_pro_que : /rfc_arc_data/q/processed/ # pathname for processed q input directory +adb_bin_dir : $(adb_dir)/bin # pathname for the bin directory +adb_cfg_dir : $(adb_dir)/cfg # pathname for the config directory +adb_lib_dir : $(adb_dir)/lib # pathname for the lib directory +adb_logs_dir : $(adb_dir)/logs # pathname for the logs directory +adb_scripts_dir: $(adb_dir)/scripts # pathname for the scripts directory + +#================== Shefdecode tokens for RFC Archive Database ================= + +adb_shef_winpast : 9999 # number of days in past to post data for RAW +adb_shef_winfuture : 9999 # number of mins in future to post obs data + # for RAW. +adb_shef_winpast_pro : 9999 # number of days in past to post data +adb_shef_winfuture_pro : 9999 # number of minutes in future to post obs data +shefdecode_rax_userid : oper # controlling UNIX user +adb_shefdecode_input : $(adb_cfg_dir)/decoders # adb SHEF parameter file + # location +adb_shef_raw_perflog : OFF # ON/OFF - create a separate performance + # log file to save internal decoder timing + # messages for monitoring performance +adb_shef_raw_logs_dir : $(adb_logs_dir)/decoder/raw/logs # pathname for the + # daily logs directory +adb_shef_raw_err_dir : $(adb_logs_dir)/decoder/raw/err # pathname for the + #product logs directory +adb_shef_raw_keeperror : ALWAYS # keep files (=ALWAYS) or only + # when errors occur (=IF_ERROR) +adb_shef_raw_post_unk : IDS_AND_DATA # NONE - do not post to the UnkStnValue tables + # values IDS_ONLY or IDS_AND_DATA + # will post everything + # to the UnkStnValue table +adb_shef_pro_post_unk : NONE # NONE - do not post to the UnkStnValue tables + # values IDS_ONLY or IDS_AND_DATA + # will post everything + # to the UnkStnValue table +adb_shef_pro_perflog : OFF # ON/OFF - create a separate performance + # log file to save internal decoder timing + # messages for monitoring performance +adb_shef_pro_logs_dir : $(adb_logs_dir)/decoder/processed/logs # pathname for the + # daily logs directory +adb_shef_pro_err_dir : $(adb_logs_dir)/decoder/processed/err # pathname for the + # product logs directory +adb_shef_pro_keeperror : ALWAYS # keep files (=ALWAYS) or only + # when errors occur (=IF_ERROR) +adb_shef_raw_checktab : ON # ON checks location and ingestfilter tables +adb_shef_pro_checktab : OFF # ON checks location and ingestfilter tables +adb_shef_duplicate_raw : USE_REVCODE # Token for allowing duplicate records to be + # posted for raw decoder. +adb_shef_duplicate_pro : USE_REVCODE # Same thing but for processed decoder. +adb_shef_raw_dupmess : ON # duplication messages from adb raw decoder. +adb_shef_raw_locmess : ON # invalid location messages from adb raw decoder. +adb_shef_raw_elgmess : ON # invalid ingestfilter messages from adb raw + # decoder. +adb_shef_raw_storall : OFF # OFF - default- will only write to pecrsep table + # ON will write to both pecrsep and peirsep tables +adb_shef_pro_dupmess : ON # duplication messages from adb processed decoder. +adb_shef_pro_locmess : OFF # invalid location messages from adb pro decoder. +adb_shef_pro_elgmess : OFF # invalid ingestfilter messages from adb pro + # decoder. +adb_shef_pro_tmp_dir : $(adb_pro_que) +adb_shef_raw_tmp_dir : $(adb_raw_que) +adb_shef_raw_add_adjust : OFF + +#========== IHFS->RAX synchronization tokens for RFC Archive Database ========== +adb_sync_logs_dir : $(adb_logs_dir)/dbsync # directory for synchronization log files +adb_sync_mode : ANALYSIS # ANALYSIS or UPDATE +adb_sync_tablenames : ALL # List of table names to synchronize +adb_sync_ihfs_ingest: USE # USE or IGNORE +adb_sync_rivercrit : ACTION # ACTION, FIS or BOTH + + +#================== DatView program tokens for RFC Archive Database ============ +datview_db_name : $(adb_name) +datview_startdate : '1975-01-01 00:00:00' +datview_label_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* +datview_list_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* +datview_text_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* +datview_text2_font :-adobe-courier-bold-r-normal-*-*-140-*-*-m-*-iso8859-1 +datview_bg_color : black +datview_fg_color : white +datview_ob_color1 : green +datview_ob_color2 : blue +datview_ob_color3 : yellow +datview_ob_color4 : red +datview_ob_color5 : DarkOrange +datview_ob_color6 : SlateGray1 +datview_plot_font : -adobe-courier-bold-r-normal-*-*-80-*-*-m-*-iso8859-1 +datview_plot_width : 750 +datview_plot_height : 420 +datview_data_dir : /home/oper +datview_raw_shef_dir : $(adb_raw_que) +datview_pro_shef_dir : $(adb_pro_que) +datview_office_header : KTUA # to be set by each RFC +datview_pil : OKCRR1TUR # to be set by each RFC + + +#=============== ARCH_NAV Apps_defaults Tokens - 05/5/2005 ================== +# defaults for program ARCNAV + +anav_user : oper + +#................................. +# Date/time related tokens +#................................. +anav_daily_days : 30 +anav_sixhr_periods : 40 +anav_precip_hours : 24 + + +#................................. +# Directories and files to use +#................................. + +anav_dir : /awips/hydroapps/lx/rfc/xnav +anav_data : /data +anav_flatfiles : $(anav_data)/flatfiles +anav_params : $(anav_dir)/parameters +anav_data_dir : $(anav_data) +anav_geo_data : /awips/hydroapps/lx/geo_data/$(ifp_rfc)/binary +anav_gif_dir : /rfc_arc/data/arcnav/gifs +anav_localdata_dir : $(anav_data)/localdata +anav_xmrg_dir : $(anav_flatfiles) + +#................................. +# Fonts and colors +#................................. +anav_label_font : courb14gr +anav_legend_font : courb14gr +anav_list_font : courb14gr +anav_menu_font : 9x15 +anav_pb_font : courb12gr +anav_text_font : helvb18gr +anav_toggle_font : courb14gr +anav_town_font : courb12gr + +#................................. +# Window size controls +#................................. +anav_hrap_x : 200 +anav_hrap_xor : 850 +anav_hrap_y : 200 +anav_hrap_yor : 470 +anav_hydro_height : 400 +anav_hydro_width : 750 +anav_scale : 3.5 +anav_scale_colors : 3.0 +anav_x_offset : 300 +anav_y_offset : 300 + +#................................. +# Display options +#................................. +anav_basins : yes +anav_counties : no +anav_cwas : no +anav_fgroups : no +anav_flights : no +anav_grid : no +anav_hydro_segments : no +anav_radars : no +anav_rfc : no +anav_rivers : no +anav_states : yes +anav_towns : yes + +#................................. +# Other control options +#................................. +anav_editor : nedit +anav_suppress_msg : yes + +#...................................... +# tokens added for arcnav application +# for future use +#...................................... +anav_ok_color : green +anav_action_color : yellow +anav_flood_color : red +anav_ts1_color : yellow +anav_ts2_color : magenta + +# ================= end of arcnav tokens ====================================== + +# ================== end of RFC Archive Database tokens ======================== + +# ================== SSHP Directory Structure and application tokens =============================== + +local_data_sshp_dir : $(whfs_local_data_dir)/sshp_transfer +sshp_control_dir : $(whfs_local_data_dir)/app/sshp +sshp_ofs_extract_text_dir : $(local_data_sshp_dir)/ofs_extract_text +sshp_ofs_extract_xml_dir : $(local_data_sshp_dir)/ofs_extract_xml +sshp_ingest_xml_dir : $(local_data_sshp_dir)/ingest_xml +sshp_incoming_dir : $(local_data_sshp_dir)/incoming +sshp_outgoing_dir : $(local_data_sshp_dir)/outgoing +sshp_log_dir : $(whfs_log_dir)/sshp +sshp_java_process_host : px1f +sshp_invoke_map_preprocess: ON +sshp_map_qpe_to_use : MIXED # choices are: MIXED, LOCAL_BEST_ONLY, RFC_ONLY +sshp_fcst_ts : FZ # SSHP type-source code for generated forecasts +sshp_initial_forecast_length: 24 # length of forecast in hours +sshp_max_forecast_length: 120 # max length of forecast in hours that user can make generated in GUI +sshp_sac_update_expiration_hours: 25 # number of hours after which to update locally the SAC states +sshp_sac_update_hours_forward: -2 # number of hours forward of last top of hour to save sac states - + # negative -2 means 2 hours BEFORE last top of hour +sshp_adjustment_pairing_minutes : 70 +sshp_adjustment_interpolation_hours : 3 +sshp_show_simulated_timeseries : true + +sshp_data_dir : $(whfs_local_data_dir)/sshp # base sshp dynamic data dir +sshp_precip_dir : $(sshp_data_dir)/precip # default location for saved precip files +sshp_background_forecast_output_dir : $(sshp_data_dir)/forecast +sshp_background_forecast_length : 48 # length of a background forecast + +sshp_hpn_minutes_before : 5 # don't use grid files prior to X minutes before Hour +sshp_hpn_minutes_after : 5 # don't use grid files after X minutes past the Hour + +sshp_show_unadjusted_states: false # initial setting of option in GUI for displaying the unadjusted SAC-SMA states +# ==================== Radar Climatology Tokens ============================== +radclim_data_dir : $(pproc_local_data)/app/radclim + +# ==================== PDC Preprocessor Tokens =============================== +pdc_clean_cache_minutes : 60 +pdc_temperature_hours : 168 +pdc_height_hours : 168 +pdc_snow_hours : 168 +pdc_wind_hours : 168 +pdc_weather_hours : 168 +pdc_precip_hours : 168 +pdc_lower_window : 5 +pdc_upper_window : 5 + +pdc_pp_dir : $(whfs_local_data_dir)/pdc_pp +pdc_pp_log_dir : $(whfs_log_dir)/pdc_pp + +# ====================== Historical Data Browser Tokens ======================= + +hdb_help_dir : $(hdb_dir)/help_files # Historical data browser help + # files +hdb_script_directory : $(hdb_dir)/scripts # Historical data browser + # scripts dir +hdb_config_dir : $(hdb_dir)/app-defaults # Historical data browser + # configuration file directory + +hdb_height_in_pixels : 900 # Historical data browser map height in + # pixels +hdb_width_in_pixels : 1200 # Historical data browser map width in + # pixels +hdb_center_lat : 35 # The initial center latitude of the HDB +hdb_center_lon : -88.9 # The initial center longitude of the HDB +hdb_map_width : 2999.862 # The width in nautical miles of the area + # displayed in the HDB +hdb_disclosure_limit : 60 # The disclosure limit for displaying finer + # detail in the city overlay. +hdb_map_projection : FLAT # The initial map projection used by HDB. + # Possible values: FLAT, POLAR, HRAP +# ====================== DHM Token ======================= +dhm_data_dir : $(ofs_files)/$(ofs_level)/dhmdata # DHM data dir +dhm_d2d_data_dir : /data/fxa/Grid/LOCAL/netCDF/DHM # d2d data dir +dhm_d2d_notify_bin_dir : /awips/fxa/bin # d2d notify bin dir +rdhm_input_dir : $(geo_data) +dhm_rain_plus_melt_data_dir: $(geo_data) +# ================== end of SSHP Directory Structure tokens ======================== + +# ========================== NRLDB Tokens=================== +nrldb_log : $(whfs_log_dir)/nrldb +nrldb_data : $(whfs_local_data_dir)/nrldb +nrldb_config : $(whfs_config_dir)/nrldb +nrldb_tmp : /awips/hydroapps/whfs/local/data/output + +# The syntax needed in the file is: +# +# token : resource +# +# where: token is defined as a string delimited by white space or +# the delimiter, +# the delimiter between token and resource is the :, +# no white space needs to surround the delimiter, +# comments are indicated by a #, +# neither token nor resource can begin with a # or :, +# a # or a : can be embedded within resource, +# resource can contain white space if it is bounded by +# the ' or " characters, +# blank lines are allowed. +# referbacks are indicated by $(...). The '...' is resolved +# the same way any other token is, and is substituted for +# the $(...) string to compose the final resource value. +# Multiple referbacks are allowed in a resource, but +# embedded referbacks are not allowed (i.e. no +# $($(...)) allowed). +# Note that this file is read only if the token can not be resolved +# as an environment variable. +# +# ============================================================================== diff --git a/edexOsgi/com.raytheon.uf.common.qpf/com.raytheon.uf.common.qpf.ecl b/edexOsgi/com.raytheon.uf.common.qpf/com.raytheon.uf.common.qpf.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.common.velocity/com.raytheon.uf.common.velocity.ecl b/edexOsgi/com.raytheon.uf.common.velocity/com.raytheon.uf.common.velocity.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.activetable/res/spring/activetable-ingest.xml b/edexOsgi/com.raytheon.uf.edex.activetable/res/spring/activetable-ingest.xml index 83a30388cb..0d6e84d11e 100644 --- a/edexOsgi/com.raytheon.uf.edex.activetable/res/spring/activetable-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.activetable/res/spring/activetable-ingest.xml @@ -11,7 +11,7 @@ autoStartup="false"> - + diff --git a/edexOsgi/com.raytheon.uf.edex.archive.feature/com.raytheon.uf.edex.archive.feature.ecl b/edexOsgi/com.raytheon.uf.edex.archive.feature/com.raytheon.uf.edex.archive.feature.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.archive/com.raytheon.uf.edex.archive.ecl b/edexOsgi/com.raytheon.uf.edex.archive/com.raytheon.uf.edex.archive.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.base.feature/com.raytheon.uf.edex.base.feature.ecl b/edexOsgi/com.raytheon.uf.edex.base.feature/com.raytheon.uf.edex.base.feature.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.cpgsrv/res/spring/cpgsrv-spring.xml b/edexOsgi/com.raytheon.uf.edex.cpgsrv/res/spring/cpgsrv-spring.xml index 8e6590e032..69c5a9e7f6 100644 --- a/edexOsgi/com.raytheon.uf.edex.cpgsrv/res/spring/cpgsrv-spring.xml +++ b/edexOsgi/com.raytheon.uf.edex.cpgsrv/res/spring/cpgsrv-spring.xml @@ -30,9 +30,9 @@ - - - + + + java.lang.Throwable @@ -42,7 +42,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.dataaccess/com.raytheon.uf.edex.dataaccess.ecl b/edexOsgi/com.raytheon.uf.edex.dataaccess/com.raytheon.uf.edex.dataaccess.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java index 67e49c078a..38d7bf69e1 100644 --- a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java +++ b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java @@ -112,7 +112,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * May 07, 2013 1869 bsteffen Remove dataURI column from * PluginDataObject. * May 16, 2013 1869 bsteffen Rewrite dataURI property mappings. - * + * Oct 07, 2013 2392 rjpeter Updated to pass null productKeys as actual null instead of string null. * * * @author bphillip @@ -1234,7 +1234,11 @@ public abstract class PluginDao extends CoreDao { int index = 0; for (Object obj : results) { distinctValues[index] = new String[1]; - distinctValues[index++][0] = String.valueOf(obj); + if (obj != null) { + distinctValues[index++][0] = String.valueOf(obj); + } else { + distinctValues[index++][0] = null; + } } } else { List results = (List) this @@ -1247,7 +1251,12 @@ public abstract class PluginDao extends CoreDao { int cIndex = 0; for (Object obj : result) { - distinctValues[rIndex][cIndex++] = String.valueOf(obj); + if (obj != null) { + distinctValues[rIndex][cIndex++] = String + .valueOf(obj); + } else { + distinctValues[rIndex][cIndex++] = null; + } } rIndex++; diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml b/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml index 82c5961d31..290cab7094 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml @@ -54,7 +54,7 @@ + uri="jms-durable:queue:matureSubscriptions"/> diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.event/res/spring/event-datadelivery-ingest.xml b/edexOsgi/com.raytheon.uf.edex.datadelivery.event/res/spring/event-datadelivery-ingest.xml index b46677e860..6b0bf48923 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.event/res/spring/event-datadelivery-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.event/res/spring/event-datadelivery-ingest.xml @@ -6,7 +6,7 @@ + value="jms-generic:topic:notify.msg"/> diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.harvester/res/spring/harvester-datadelivery.xml b/edexOsgi/com.raytheon.uf.edex.datadelivery.harvester/res/spring/harvester-datadelivery.xml index a08888d46f..15d153514a 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.harvester/res/spring/harvester-datadelivery.xml +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.harvester/res/spring/harvester-datadelivery.xml @@ -2,13 +2,8 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> - - - - - + @@ -29,11 +24,11 @@ errorHandlerRef="errorHandler"> - + - + diff --git a/edexOsgi/com.raytheon.uf.edex.dissemination/res/spring/dissemination-request.xml b/edexOsgi/com.raytheon.uf.edex.dissemination/res/spring/dissemination-request.xml index 592aad665e..4c6ca44914 100644 --- a/edexOsgi/com.raytheon.uf.edex.dissemination/res/spring/dissemination-request.xml +++ b/edexOsgi/com.raytheon.uf.edex.dissemination/res/spring/dissemination-request.xml @@ -34,12 +34,12 @@ a new route and use moveFileToArchive --> + uri="jms-durable:queue:Ingest.handleoup"/> + uri="jms-durable:queue:handleoup.dropbox"/> java.lang.Throwable - + + - - - + @@ -29,7 +28,7 @@ - + @@ -40,7 +39,7 @@ - + @@ -51,7 +50,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/DPADecoder-spring.xml b/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/DPADecoder-spring.xml index 4d75a6d347..e5e7eff311 100644 --- a/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/DPADecoder-spring.xml +++ b/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/DPADecoder-spring.xml @@ -9,13 +9,13 @@ - + - + dpa - + --> - + dpa @@ -55,6 +55,5 @@ - \ No newline at end of file diff --git a/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/arealffgGenerator-spring.xml b/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/arealffgGenerator-spring.xml index bf202ee202..1f19aed7ac 100644 --- a/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/arealffgGenerator-spring.xml +++ b/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/arealffgGenerator-spring.xml @@ -31,14 +31,14 @@ arealffg - + --> - + dhr @@ -47,7 +47,7 @@ errorHandlerRef="errorHandler"> - + diff --git a/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/q2FileProcessor-spring.xml b/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/q2FileProcessor-spring.xml index 0a6b8311c5..4c90c7a7f8 100644 --- a/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/q2FileProcessor-spring.xml +++ b/edexOsgi/com.raytheon.uf.edex.ohd/res/spring/q2FileProcessor-spring.xml @@ -8,7 +8,7 @@ - + - + diff --git a/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFF.java b/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFF.java index ea9725a6e2..ee6f61df3e 100644 --- a/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFF.java +++ b/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFF.java @@ -60,6 +60,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jan 5, 2011 mpduff Initial creation + * Sep 5, 2013 16437 wkwock Fix the "HiRes" issue * * * @@ -343,6 +344,9 @@ public class GAFF { try { uri = db.getDataURI(rfc, durString, today); + if (uri == null) { + uri = db.getDataURI(rfc+"-HiRes", durString, today); + } if (uri == null) { continue; } diff --git a/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/HPEDhrSrv.java b/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/HPEDhrSrv.java index 0c2b467dd2..bcdd7a2d1e 100644 --- a/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/HPEDhrSrv.java +++ b/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/HPEDhrSrv.java @@ -49,12 +49,12 @@ import com.raytheon.uf.edex.ohd.MainMethod; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Jan 20, 2010 4200 snaples Initial creation - * Mar 09, 2012 417 dgilling Refactor to use two-stage queue + * Jan 20, 2010 4200 snaples Initial creation + * Mar 09, 2012 417 dgilling Refactor to use two-stage queue * process. * Mar 20, 2013 1804 bsteffen Switch all radar decompressing to be in * memory. - * + * Sep 13, 2013 2368 rjpeter Updated to use durable jms settings. * * * @author snaples @@ -92,9 +92,9 @@ public class HPEDhrSrv { private static final int DT_IDX = 2; - private static final String JMS_QUEUE_URI = "jms-generic:queue:dhrProcess"; + private static final String JMS_QUEUE_URI = "jms-durable:queue:dhrProcess"; - private AppsDefaults appsDefaults = AppsDefaults.getInstance(); + private final AppsDefaults appsDefaults = AppsDefaults.getInstance(); /** * Route endpoint for "dhrIngestRoute". Takes a message, writes the file to diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.acars/res/spring/acars-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.acars/res/spring/acars-ingest.xml index 1fdc32f63e..3970913f1b 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.acars/res/spring/acars-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.acars/res/spring/acars-ingest.xml @@ -10,7 +10,7 @@ - + acars - + --> - + acars diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrascat/res/spring/bufrascat-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrascat/res/spring/bufrascat-ingest.xml index 7b06593774..555e481851 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrascat/res/spring/bufrascat-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrascat/res/spring/bufrascat-ingest.xml @@ -37,13 +37,13 @@ bufrascat - + --> - + bufrascat diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrhdw/res/spring/bufrhdw-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrhdw/res/spring/bufrhdw-ingest.xml index 6ec50ec4c1..13c2a92577 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrhdw/res/spring/bufrhdw-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrhdw/res/spring/bufrhdw-ingest.xml @@ -10,7 +10,7 @@ - + bufrhdw - + --> - + bufrhdw diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrmthdw/res/spring/bufrmthdw-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrmthdw/res/spring/bufrmthdw-ingest.xml index f9ac6f6360..4e14275afa 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrmthdw/res/spring/bufrmthdw-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrmthdw/res/spring/bufrmthdw-ingest.xml @@ -10,7 +10,7 @@ - + bufrmthdw - + --> - + bufrmthdw diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrncwf/res/spring/bufrncwf-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrncwf/res/spring/bufrncwf-ingest.xml index 086d87414c..09d6036294 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrncwf/res/spring/bufrncwf-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrncwf/res/spring/bufrncwf-ingest.xml @@ -9,7 +9,7 @@ - + bufrncwf - + --> - + bufrncwf diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrquikscat/res/spring/bufrquikscat-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrquikscat/res/spring/bufrquikscat-ingest.xml index b87f4f528d..33bbe3d3ea 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrquikscat/res/spring/bufrquikscat-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrquikscat/res/spring/bufrquikscat-ingest.xml @@ -16,7 +16,7 @@ - + bufrquikscat - + --> - + bufrquikscat diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrsigwx/res/spring/bufrsigwx-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrsigwx/res/spring/bufrsigwx-ingest.xml index 105354db60..83a5477522 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrsigwx/res/spring/bufrsigwx-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrsigwx/res/spring/bufrsigwx-ingest.xml @@ -32,13 +32,13 @@ bufrsigwx - + --> - + bufrsigwx diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.bufrssmi/res/spring/bufrssmi-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.bufrssmi/res/spring/bufrssmi-ingest.xml index a6b184480e..f46b4a195a 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.bufrssmi/res/spring/bufrssmi-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.bufrssmi/res/spring/bufrssmi-ingest.xml @@ -16,7 +16,7 @@ - + bufrssmi - + --> - + bufrssmi diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.cwa/res/spring/cwa-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.cwa/res/spring/cwa-ingest.xml index 4ffba53407..7170d7db2e 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.cwa/res/spring/cwa-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.cwa/res/spring/cwa-ingest.xml @@ -24,7 +24,7 @@ autoStartup="false"> - + cwa diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.cwat/res/spring/cwat-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.cwat/res/spring/cwat-ingest.xml index 0e0a471a98..1a230939fd 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.cwat/res/spring/cwat-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.cwat/res/spring/cwat-ingest.xml @@ -12,7 +12,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/res/spring/ffmp-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/res/spring/ffmp-ingest.xml index fdb5c7ecc8..7c9a709340 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/res/spring/ffmp-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/res/spring/ffmp-ingest.xml @@ -28,7 +28,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java index 5d467b9b80..40aaded68b 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java +++ b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java @@ -99,8 +99,8 @@ import com.vividsolutions.jts.geom.Polygon; * 02/25/13 1660 D. Hladky FFTI design change to help mosaic processing. * 05/01/2013 15684 zhao Unlock when Exception caught * Jul 15, 2013 2184 dhladky Remove all HUC's for storage except ALL + * 09/03/2013 DR 13083 G. Zhang Added a fix in processRADAR(ArrayList). * - * * @author dhladky * @version 1 */ @@ -1107,10 +1107,10 @@ public class FFMPProcessor { for (int j = 0; j < dataVals.length; j++) { - float fval = (float) ScanUtils.getDecodedDHRValue(dataVals[j]); + //float fval = (float) ScanUtils.getDecodedDHRValue(dataVals[j]); try { - val += ScanUtils.getZRvalue(fval, + val += ScanUtils.getZRvalue2(dataVals[j],//fval,// DR 13083 dhrMap.get(DHRValues.ZRMULTCOEFF), dhrMap.get(DHRValues.MAXPRECIPRATEALLOW), dhrMap.get(DHRValues.ZRPOWERCOEFF), diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.fog/res/spring/fog-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.fog/res/spring/fog-ingest.xml index d860306f98..d6e9e55176 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.fog/res/spring/fog-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.fog/res/spring/fog-ingest.xml @@ -12,7 +12,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/res/spring/fssobs-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/res/spring/fssobs-ingest.xml index fc44cc5c1f..3c80ab9e44 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/res/spring/fssobs-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.fssobs/res/spring/fssobs-ingest.xml @@ -15,7 +15,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.grid/utility/common_static/base/purge/gridPurgeRules.xml b/edexOsgi/com.raytheon.uf.edex.plugin.grid/utility/common_static/base/purge/gridPurgeRules.xml index 5673569635..edcdea0661 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.grid/utility/common_static/base/purge/gridPurgeRules.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.grid/utility/common_static/base/purge/gridPurgeRules.xml @@ -383,6 +383,12 @@ 2 00-00:15:00 + + + HPCGuide-2.5km + 2 + 00-00:15:00 + GFSGuide diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.ldadmesonet/res/spring/ldadmesonet-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.ldadmesonet/res/spring/ldadmesonet-ingest.xml index 41c7f38307..156bced102 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.ldadmesonet/res/spring/ldadmesonet-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.ldadmesonet/res/spring/ldadmesonet-ingest.xml @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ errorHandlerRef="errorHandler" autoStartup="false"> - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.loctables/res/spring/loctables-spring.xml b/edexOsgi/com.raytheon.uf.edex.plugin.loctables/res/spring/loctables-spring.xml index 19e95ab8f8..761d2fdf82 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.loctables/res/spring/loctables-spring.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.loctables/res/spring/loctables-spring.xml @@ -33,7 +33,7 @@ - + loctables diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.lsr/res/spring/lsr-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.lsr/res/spring/lsr-ingest.xml index 388c01b927..ca898cf275 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.lsr/res/spring/lsr-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.lsr/res/spring/lsr-ingest.xml @@ -31,13 +31,13 @@ lsr - + --> - + lsr diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-request.xml b/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-request.xml index 3018e3d30a..eab8b24d84 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-request.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-request.xml @@ -8,11 +8,11 @@ - + - + java.lang.Throwable diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-spring.xml b/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-spring.xml index 7c5c1010eb..5b7d9ec7a2 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-spring.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.manualIngest/res/spring/manualIngest-spring.xml @@ -16,7 +16,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml index fc04d39b07..23a5694be6 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml @@ -49,13 +49,13 @@ mesowest - + --> - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.npp.crimss/res/spring/crimss-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.npp.crimss/res/spring/crimss-ingest.xml index 311684aff5..7f2882bc9f 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.npp.crimss/res/spring/crimss-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.npp.crimss/res/spring/crimss-ingest.xml @@ -24,7 +24,7 @@ - + crimss diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.npp.nucaps/com.raytheon.uf.edex.plugin.npp.nucaps.ecl b/edexOsgi/com.raytheon.uf.edex.plugin.npp.nucaps/com.raytheon.uf.edex.plugin.npp.nucaps.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.npp.nucaps/res/spring/nucaps-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.npp.nucaps/res/spring/nucaps-ingest.xml index 29c2aa2faa..5cb9948a33 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.npp.nucaps/res/spring/nucaps-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.npp.nucaps/res/spring/nucaps-ingest.xml @@ -24,7 +24,7 @@ - + nucaps diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.npp.sounding/com.raytheon.uf.edex.plugin.npp.sounding.ecl b/edexOsgi/com.raytheon.uf.edex.plugin.npp.sounding/com.raytheon.uf.edex.plugin.npp.sounding.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.npp.viirs/res/spring/viirs-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.npp.viirs/res/spring/viirs-ingest.xml index d275f1f337..0833d2ef2f 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.npp.viirs/res/spring/viirs-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.npp.viirs/res/spring/viirs-ingest.xml @@ -8,14 +8,12 @@ - - - + - + @@ -42,7 +40,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.preciprate/res/spring/preciprate-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.preciprate/res/spring/preciprate-ingest.xml index 5751d3a9e6..eb49a866b7 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.preciprate/res/spring/preciprate-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.preciprate/res/spring/preciprate-ingest.xml @@ -12,7 +12,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.qpf/res/spring/qpf-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.qpf/res/spring/qpf-ingest.xml index faec13e4c2..2b90e0b133 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.qpf/res/spring/qpf-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.qpf/res/spring/qpf-ingest.xml @@ -12,7 +12,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.satellite.mcidas/res/spring/satellite-mcidas-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.satellite.mcidas/res/spring/satellite-mcidas-ingest.xml index f2a06df07d..43c3f88bdf 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.satellite.mcidas/res/spring/satellite-mcidas-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.satellite.mcidas/res/spring/satellite-mcidas-ingest.xml @@ -4,17 +4,16 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> - + - - + @@ -36,7 +35,7 @@ - + satellite-mcidas diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.scan/res/spring/scan-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.scan/res/spring/scan-ingest.xml index 719f851bf6..6c59176e41 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.scan/res/spring/scan-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.scan/res/spring/scan-ingest.xml @@ -28,7 +28,7 @@ xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler"> - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.svrwx/res/spring/svrwx-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.svrwx/res/spring/svrwx-ingest.xml index e5770ca7ba..09021bf61e 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.svrwx/res/spring/svrwx-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.svrwx/res/spring/svrwx-ingest.xml @@ -24,7 +24,7 @@ autoStartup="false"> - + svrwx diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.tcg/res/spring/tcg-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.tcg/res/spring/tcg-ingest.xml index ca50801379..113efae2fa 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.tcg/res/spring/tcg-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.tcg/res/spring/tcg-ingest.xml @@ -10,7 +10,7 @@ - + - + tcg diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.tcs/res/spring/tcs-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.tcs/res/spring/tcs-ingest.xml index f223e4bf0a..1583d2405b 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.tcs/res/spring/tcs-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.tcs/res/spring/tcs-ingest.xml @@ -24,7 +24,7 @@ autoStartup="false"> - + tcs diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.vaa/res/spring/vaa-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.vaa/res/spring/vaa-ingest.xml index 3a0c5dfe8a..76532eb545 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.vaa/res/spring/vaa-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.vaa/res/spring/vaa-ingest.xml @@ -10,7 +10,7 @@ - + vaa - + --> - + vaa diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.vil/res/spring/vil-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.vil/res/spring/vil-ingest.xml index 809da4ce6d..9044e2d523 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.vil/res/spring/vil-ingest.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.vil/res/spring/vil-ingest.xml @@ -12,7 +12,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.useradmin/res/spring/useradmin-request.xml b/edexOsgi/com.raytheon.uf.edex.useradmin/res/spring/useradmin-request.xml index cb98375d92..e5fe9d1102 100644 --- a/edexOsgi/com.raytheon.uf.edex.useradmin/res/spring/useradmin-request.xml +++ b/edexOsgi/com.raytheon.uf.edex.useradmin/res/spring/useradmin-request.xml @@ -8,7 +8,7 @@ + value="jms-generic:topic:user.authentication.changed?timeToLive=60000"/> diff --git a/edexOsgi/com.raytheon.uf.tools.cli/impl/capture b/edexOsgi/com.raytheon.uf.tools.cli/impl/capture index 90de8e49fe..9c6ef5af9b 100644 --- a/edexOsgi/com.raytheon.uf.tools.cli/impl/capture +++ b/edexOsgi/com.raytheon.uf.tools.cli/impl/capture @@ -15,6 +15,9 @@ if [ "$REMOTE_SERVERS_TO_CHECK" == "" ]; then REMOTE_SERVERS_TO_CHECK="dx1f dx2f dx3 dx4" fi +# the database host to grab current running queries for +DATABASE_HOST="dx1f" + # Flags to control what data capure grabs, to enable flag must be YES, anything else will be considered off. RUN_JSTACK="Y" JSTACK_ITERATIONS="15" @@ -25,7 +28,8 @@ MOVE_ALL_HS_ERR_PID="Y" GRAB_REMOTE_TOP="Y" GRAB_REMOTE_VMSTAT="Y" GRAB_CAVE_AND_ALERTVIZ_LOGS="Y" -GRAB_SCREENSHOT='Y' +GRAB_SCREENSHOT="Y" +GRAB_CURRENT_QUERIES="Y" EDEX_MODE="N" FORCE="N" TGZ_OUTPUT="Y" @@ -40,32 +44,44 @@ usage() { echo "Script for capturing information about cave/edex and general server health." echo echo "Following options allowed" - echo -e "-p {PID}\t\tdefault none" - echo " Run capture for a specific PID, crash information will not be captured. Defaults to none and runs against all pids found." - echo - echo -e "-g {grep string}\tdefault [$grepString]" - echo " The grep string used to find the processes" - echo - echo -e "-screen {y/n}\t\tdefault [$GRAB_SCREENSHOT]" - echo " Screen print the current workstation (local user must be running capture)" - echo - echo -e "-s {y/n}\t\tdefault [$RUN_JSTACK]" - echo " Run jstack to grab the thread stack information" + echo -e "-c \"{host names}\"\tdefault [$REMOTE_SERVERS_TO_CHECK]" + echo " The servers to grab top information from, make sure list is quoted and space delimited" echo echo -e "-d {y/n}\t\tdefault [$RUN_JMAP]" echo " Run jmap to grab the head dump information" echo + echo -e "-e {request/ingest/ingestGrib/ingestDat}" + echo " Run edex mode and grab information about the jvm passed. May be used multiple times to grab data about multiple jvms" + echo echo -e "-f {y/n}\t\tdefault [$FORCE]" echo " Force a jstack/jmap by default" echo - echo -e "-q {y/n}\t\tdefault [$RUN_QPID_STAT]" - echo " Force a qpid-stat by default" + echo -e "-g {grep string}\tdefault [$grepString]" + echo " The grep string used to find the processes" + echo + echo -e "-l {y/n}\t\tdefault [$GRAB_CAVE_AND_ALERTVIZ_LOGS]" + echo " Captures the cave and alertviz logs. If run for a specific pid the only cave log captured will be for that pid" echo echo -e "-m {y/n}\t\tdefault [$MOVE_ALL_HS_ERR_PID]" echo " Captures all hs_err_pid's found" echo - echo -e "-l {y/n}\t\tdefault [$GRAB_CAVE_AND_ALERTVIZ_LOGS]" - echo " Captures the cave and alertviz logs. If run for a specific pid the only cave log captured will be for that pid" + echo -e "-p {PID}\t\tdefault none" + echo " Run capture for a specific PID, crash information will not be captured. Defaults to none and runs against all pids found." + echo + echo -e "-q {y/n}\t\tdefault [$RUN_QPID_STAT]" + echo " Run qpid-stat" + echo + echo -e "-Q {y/n}\t\tdefault [$GRAB_CURRENT_QUERIES]" + echo " Grab current running database queries" + echo + echo -e "-r \"Reason for capture\"" + echo " The reason for capture, so popup will not be shown" + echo + echo -e "-s {y/n}\t\tdefault [$RUN_JSTACK]" + echo " Run jstack to grab the thread stack information" + echo + echo -e "-screen {y/n}\t\tdefault [$GRAB_SCREENSHOT]" + echo " Screen print the current workstation (local user must be running capture)" echo echo -e "-t {y/n}\t\tdefault [$GRAB_REMOTE_TOP]" echo " Captures top information from servers, auto login must be enabled" @@ -73,21 +89,12 @@ usage() { echo -e "-v {y/n}\t\tdefault [$GRAB_REMOTE_VMSTAT]" echo " Captures vmstat information from servers, auto login must be enabled" echo - echo -e "-c \"{host names}\"\tdefault [$REMOTE_SERVERS_TO_CHECK]" - echo " The servers to grab top information from, make sure list is quoted and space delimited" - echo - echo -e "-r \"Reason for capture\"" - echo " The reason for capture, so popup will not be shown" + echo -e "-V {y/n}\t\tdefault [$RUN_VERSIONS]" + echo " Grab version information" echo echo -e "-z {y/n}\t\tdefault [$TGZ_OUTPUT]" echo " Tar and gzip the captured data" echo - echo -e "-e {request/ingest/ingestGrib/ingestDat}" - echo " Run edex mode and grab information about the jvm passed. May be used multiple times to grab data about multiple jvms" - echo - echo -e "-v {y/n}\t\tdefault [$RUN_VERSIONS]" - echo " Grab version information" - echo echo -e "-h" echo " Display this usage statement" exit 0 @@ -128,12 +135,18 @@ checkYes() { # runs import to grab screen shot of users desktop grabScreenShot() { if [ "$GRAB_SCREENSHOT" == "y" ]; then - echo "Capturing screen shot of desktop" + echo "Capturing screen shot of desktop" t1=`date "+%Y%m%d %H:%M:%S"` echo "${t1}: Capturing screen shot of desktop" >> $processFile - import -window root -display :0.0 ${dataPath}/screenShot_0.png > ${dataPath}/screenShot_0.log 2>&1 & - import -window root -display :0.1 ${dataPath}/screenShot_1.png > ${dataPath}/screenShot_1.log 2>&1 & - import -window root -display :0.2 ${dataPath}/screenShot_2.png > ${dataPath}/screenShot_2.log 2>&1 & + possibleScreens=`w -hs $user | awk '{print $3}' | sort -u` + count=0 + for pScreen in $possibleScreens; + do + if [[ $pScreen =~ :[0-9]+\.[0-9]+ ]]; then + import -window root -display $pScreen ${dataPath}/screenShot_${count}.png > ${dataPath}/screenShot_${count}.log 2>&1 & + let "count+=1" + fi + done fi } @@ -165,6 +178,16 @@ grabRemoteVmstat() { fi } +grabCurrentDatabaseQueries() { + if [ "$GRAB_CURRENT_QUERIES" == "y" ]; then + echo "Capturing current database queries" + t1=`date "+%Y%m%d %H:%M:%S"` + echo "${t1}: Capturing current database queries" >> $processFile + out_file="${dataPath}/database_queries.log" + psql -d metadata -U awips -h ${DATABASE_HOST} -c "select datname, pid, client_addr, query, now()-xact_start as runningTime from pg_stat_activity where state != 'idle' order by runningTime desc;" >> $out_file 2>&1 & + fi +} + checkForProcsAsOtherUsers() { if [ ! -z "$procs" ]; then numMyProcs=`echo "$myProcs" | wc -l` @@ -374,21 +397,23 @@ while [ ! -z "$1" ]; do shift 1 case $arg in + -a) ACCUM="$1"; shift 1;; + -d) RUN_JMAP="$1"; shift 1;; + -e) EDEX_MODE="Y"; edexProcs[$edexProcCount]="$1"; shift 1; let "edexProcCount+=1";; + -f) FORCE="$1"; shift 1;; + -g) grepString="$1"; shift 1;; + -l) GRAB_CAVE_AND_ALERTVIZ_LOGS="$1"; shift 1;; + -m) MOVE_ALL_HS_ERR_PID="$1"; shift 1;; -p) cavePid="$1"; shift 1;; -q) RUN_QPID_STAT="$1"; shift 1;; - -g) grepString="$1"; shift 1;; + -Q) GRAB_CURRENT_QUERIES="$1"; shift 1;; -r) REMOTE_SERVERS_TO_CHECK="$1"; shift 1;; -s) RUN_JSTACK="$1"; shift 1;; - -d) RUN_JMAP="$1"; shift 1;; - -f) FORCE="$1"; shift 1;; - -m) MOVE_ALL_HS_ERR_PID="$1"; shift 1;; - -t) GRAB_REMOTE_TOP="$1"; shift 1;; - -l) GRAB_CAVE_AND_ALERTVIZ_LOGS="$1"; shift 1;; - -z) TGZ_OUTPUT="$1"; shift 1;; - -e) EDEX_MODE="Y"; edexProcs[$edexProcCount]="$1"; shift 1; let "edexProcCount+=1";; - -a) ACCUM="$1"; shift 1;; - -v) GRAB_REMOTE_VMSTAT="$1"; shift 1;; -screen) GRAB_SCREENSHOT="$1"; shift 1;; + -t) GRAB_REMOTE_TOP="$1"; shift 1;; + -v) GRAB_REMOTE_VMSTAT="$1"; shift 1;; + -V) RUN_VERSIONS="$1"; shift 1;; + -z) TGZ_OUTPUT="$1"; shift 1;; -h|*) usage;; esac done @@ -401,6 +426,7 @@ checkYes FORCE $FORCE checkYes MOVE_ALL_HS_ERR_PID $MOVE_ALL_HS_ERR_PID checkYes GRAB_REMOTE_TOP $GRAB_REMOTE_TOP checkYes GRAB_REMOTE_VMSTAT $GRAB_REMOTE_VMSTAT +checkYes GRAB_CURRENT_QUERIES $GRAB_CURRENT_QUERIES checkYes GRAB_CAVE_AND_ALERTVIZ_LOGS $GRAB_CAVE_AND_ALERTVIZ_LOGS checkYes EDEX_MODE $EDEX_MODE checkYes TGZ_OUTPUT $TGZ_OUTPUT @@ -519,29 +545,29 @@ if [ ! -z "${myProcs}" ]; then IFS=$PREV_IFS launchJstacks - launchJmaps - - runQpidStat - - grabRemoteTop - - grabRemoteVmstat - else t1=`date "+%Y%m%d %H:%M:%S"` echo "*** NO processes found for user $user, capturing limited data to $dataPath" echo "${t1}: NO processes found for $user" >> $processFile echo "" >> $processFile - - runQpidStat - grabRemoteTop - grabRemoteVmstat fi +# grab top for servers +grabRemoteTop + +# grab vm stat for servers +grabRemoteVmstat + +# grab current database queries +grabCurrentDatabaseQueries + # grab screen shot, spawns background process for each screen grabScreenShot +# grab qpid stat +runQpidStat + # ls users home directory to check nas performance /usr/bin/time -p ls -la ~ > ${dataPath}/nas_check_ls_home.txt 2>&1 & diff --git a/edexOsgi/com.raytheon.uf.tools.cli/impl/src/gpd/gpd.py b/edexOsgi/com.raytheon.uf.tools.cli/impl/src/gpd/gpd.py index e0bdc4e7e5..243e7ca477 100644 --- a/edexOsgi/com.raytheon.uf.tools.cli/impl/src/gpd/gpd.py +++ b/edexOsgi/com.raytheon.uf.tools.cli/impl/src/gpd/gpd.py @@ -37,6 +37,22 @@ USAGE_MESSAGE = \ gpd spx --f filePath gpd spg --f filePath --p prodName [--v versionNum] + + gpd qig --p prodName --f filePath + + gpd qigl --p prodName + + gpd qpg --p prodName --t referenceTime [--f filePath --v versionNum] + + gpd qpgl --p prodName --t referenceTime [--v versionNum] + + gpd qsg --p prodName --t referenceTime --id stationId [--f filePath --v versionNum] + + gpd qsgl --p prodName --t referenceTime --id stationId [--v versionNum] + + gpd qmg --p prodName --t referenceTime --slat latitude --slon longitude [--f filePath --v versionNum] + + gpd qmgl --p prodName --t referenceTime --slat latitude --slon longitude [--v versionNum] gpd pe @@ -62,27 +78,6 @@ SUBCOMMAND_MESSAGE = \ qmxl: To query and print a moving product spx: To store product XML file to EDEX server database spg: To store product GEMPAk table file to EDEX server database - pe: To purge expired products - pa: To purge all products - u: To print usage -""" -''' - gpd qig --p prodName --f filePath - - gpd qigl --p prodName - - gpd qpg --p prodName --t referenceTime [--f filePath --v versionNum] - - gpd qpgl --p prodName --t referenceTime [--v versionNum] - - gpd qsg --p prodName --t referenceTime --id stationId [--f filePath --v versionNum] - - gpd qsgl --p prodName --t referenceTime --id stationId [--v versionNum] - - gpd qmg --p prodName --t referenceTime --slat latitude --slon longitude [--f filePath --v versionNum] - - gpd qmgl --p prodName --t referenceTime --slat latitude --slon longitude [--v versionNum] - qig: To query product information, result saved at optional filePath qigl: To query and list product information qpg: To query a product (all stations), result saved at optional filePath @@ -91,7 +86,10 @@ SUBCOMMAND_MESSAGE = \ qsgl: To query and list a station product qmg: To query a moving product, result saved at optional filePath qmgl: To query and print a moving product -''' + pe: To purge expired products + pa: To purge all products + u: To print usage +""" def __initLogger(): global logger logger = logging.getLogger("gpd") @@ -154,7 +152,7 @@ def __parseCommandLine(): #parser_info_printXml.add_argument("--f", dest="filePath", action="store", # help=":target file path for return product") parser_info_printXml.set_defaults(func=__getPrintProdInfoXml) - ''' + parser_infoGempak = subparsers.add_parser('qig') parser_infoGempak.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") @@ -166,7 +164,7 @@ def __parseCommandLine(): parser_info_printGempak.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") parser_info_printGempak.set_defaults(func=__getPrintProdInfoGempak) - ''' + #To query a station product (single station) parser_stnProdXml = subparsers.add_parser('qsx') parser_stnProdXml.add_argument("--p", dest="prodName", action="store",required=True, @@ -192,7 +190,7 @@ def __parseCommandLine(): help=":product version") parser_stnProdXml_print.set_defaults(func=__getPrintStnProdXml) - ''' + parser_stnProdGempak = subparsers.add_parser('qsg') parser_stnProdGempak.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") @@ -216,7 +214,7 @@ def __parseCommandLine(): parser_stnProdGempak_print.add_argument("--v", dest="versionNum", action="store", help=":product version") parser_stnProdGempak_print.set_defaults(func=__getPrintStnProdGempak) - ''' + #To query a moving product parser_movingProdXml = subparsers.add_parser('qmx') parser_movingProdXml.add_argument("--p", dest="prodName", action="store",required=True, @@ -246,7 +244,7 @@ def __parseCommandLine(): help=":product version") parser_movingProdXml_print.set_defaults(func=__getPrintMovingProdXml) - ''' + parser_movingProdGempak = subparsers.add_parser('qmg') parser_movingProdGempak.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") @@ -274,7 +272,7 @@ def __parseCommandLine(): parser_movingProdGempak_print.add_argument("--v", dest="versionNum", action="store", help=":product version") parser_movingProdGempak_print.set_defaults(func=__getPrintMovingProdGempak) - ''' + #To query a product parser_prodXml = subparsers.add_parser('qpx') @@ -288,7 +286,7 @@ def __parseCommandLine(): help=":product version") parser_prodXml.set_defaults(func=__getProdXml) - ''' + parser_prodGempak = subparsers.add_parser('qpg') parser_prodGempak.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") @@ -299,7 +297,7 @@ def __parseCommandLine(): parser_prodGempak.add_argument("--v", dest="versionNum", action="store", help=":product version") parser_prodGempak.set_defaults(func=__getProdGempak) - ''' + parser_prodXml_print = subparsers.add_parser('qpxl') parser_prodXml_print.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") @@ -309,7 +307,7 @@ def __parseCommandLine(): help=":product version") parser_prodXml_print.set_defaults(func=__getPrintProdXml) - ''' + parser_prodGempak_print = subparsers.add_parser('qpgl') parser_prodGempak_print.add_argument("--p", dest="prodName", action="store",required=True, help=":name of a Generic Point Data product") @@ -319,7 +317,7 @@ def __parseCommandLine(): help=":product version") parser_prodGempak_print.set_defaults(func=__getPrintProdGempak) - ''' + ''' #parser_purge_prod = subparsers.add_parser('pp') diff --git a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/ifpnetcdf/ifpnetCDF.py b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/ifpnetcdf/ifpnetCDF.py old mode 100755 new mode 100644 diff --git a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/iscmosaic/iscMosaic.py b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/iscmosaic/iscMosaic.py old mode 100755 new mode 100644 diff --git a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/purgeallgrids/purgeAllGrids.py b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/purgeallgrids/purgeAllGrids.py old mode 100755 new mode 100644 diff --git a/javaUtilities/com.raytheon.wes2bridge.manager/src/com/raytheon/wes2bridge/manager/Wes2BridgeManager.java b/javaUtilities/com.raytheon.wes2bridge.manager/src/com/raytheon/wes2bridge/manager/Wes2BridgeManager.java index ff16a2cd89..e1662dc0f7 100644 --- a/javaUtilities/com.raytheon.wes2bridge.manager/src/com/raytheon/wes2bridge/manager/Wes2BridgeManager.java +++ b/javaUtilities/com.raytheon.wes2bridge.manager/src/com/raytheon/wes2bridge/manager/Wes2BridgeManager.java @@ -64,6 +64,7 @@ import com.raytheon.wes2bridge.common.configuration.Wes2BridgeConfiguration; * Jan 18, 2012 1490 bkowal Pypies is now added to each * edex-environment instance * Apr 18, 2013 1899 bkowal Updates qpid 0.18 configuration now. + * July 2, 2013 2133 bkowal Updates for yajsw-wrapped qpid * * * @@ -440,23 +441,11 @@ public class Wes2BridgeManager { BufferedWriter bw = this.getBufferedWriter(qpidd); final String line1 = "QPID_HOME="; - /* - * Need to update the 'ps' command that determines if qpid is running or - * not. - */ - final String line2 = "isRunning=`ps -ef | grep org.apache.qpid.server.Main | grep -c \"PNAME=QPBRKR \"`"; String line = StringUtils.EMPTY; while ((line = br.readLine()) != null) { if (line.startsWith(line1)) { line = line1 + qpidDirectory; - } else if (line.contains(line2)) { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder - .append("isRunning=`ps -ef | grep org.apache.qpid.server.Main | grep QPID_HOME="); - stringBuilder.append(qpidDirectory); - stringBuilder.append("| grep -c \"PNAME=QPBRKR \"`"); - line = stringBuilder.toString(); } bw.write(line + "\n"); diff --git a/javaUtilities/hydro/hydro.ecl b/javaUtilities/hydro/hydro.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasDataMgr.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasDynGroup.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasDynGroup.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasDynSet.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasDynSet.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasMessageCreator.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasMessageCreator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasMessageReader.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/BiasMessageReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/MemorySpanGroup.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/MemorySpanGroup.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/RadarBias.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/RadarBias.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/RfcBiasConstants.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/RfcBiasConstants.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/RfcBiasMessage.java b/javaUtilities/hydro/ohd.bias_trans/src/ohd/hseb/bias_trans/RfcBiasMessage.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/ContourGrid.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/ContourGrid.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/Interpolator.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/Interpolator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/RowColToLatLonTranslator.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/RowColToLatLonTranslator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/RowToLatLonContourer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/contour/RowToLatLonContourer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/DrawableShape.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/DrawableShape.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/ElevationMap.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/ElevationMap.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/HrapRowColToLatLonConverter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/HrapRowColToLatLonConverter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/LatLonBounds.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/LatLonBounds.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/LatLonPoint.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/LatLonPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/LatLonPolyline.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/LatLonPolyline.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/Polygon.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/Polygon.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/RowColumnPoint.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/model/RowColumnPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/BaseMapProjection.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/BaseMapProjection.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/FlatMapProjection.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/FlatMapProjection.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/MapProjection.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/MapProjection.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/PolarProjection.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/geomap/projection/PolarProjection.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/grid/XmrgGrid.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/grid/XmrgGrid.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/AbsTimeMeasurement.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/AbsTimeMeasurement.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/AbsTimeMeasurementPair.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/AbsTimeMeasurementPair.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/IrregularTimeSeries.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/IrregularTimeSeries.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/IrregularTimeSeriesHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/IrregularTimeSeriesHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/Measurement.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/Measurement.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementPoint.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementPointComparator.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementPointComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementPointSeries.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasurementPointSeries.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasuringUnit.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasuringUnit.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasuringUnitConversionException.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasuringUnitConversionException.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasuringUnitType.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/MeasuringUnitType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/RegularTimeSeries.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/RegularTimeSeries.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/RegularTimeSeriesHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/RegularTimeSeriesHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/RelTimeMeasurement.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/RelTimeMeasurement.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeIntervalMeasurement.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeIntervalMeasurement.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeSeriesEvent.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeSeriesEvent.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeSeriesListener.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeSeriesListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeSeriesTotaller.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/measurement/TimeSeriesTotaller.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/DurationCode.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/DurationCode.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastAdjuster.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastAdjuster.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastAdjusterParams.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastAdjusterParams.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastAdjustmentTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastAdjustmentTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastBlender.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastBlender.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastInterpolationMethod.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ForecastInterpolationMethod.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/LocationDescriptor.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/LocationDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/MonthlyValues.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/MonthlyValues.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ObservedForecastMeasurementPair.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ObservedForecastMeasurementPair.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ParamCode.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/ParamCode.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RainfallRunoffModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RainfallRunoffModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RainfallRunoffModelType.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RainfallRunoffModelType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RainfallToStageModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RainfallToStageModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RatingCurve.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RatingCurve.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RatingPoint.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RatingPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RatingShift.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/RatingShift.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/SigRiverLevels.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/SigRiverLevels.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/StageToFlowValueMapper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/StageToFlowValueMapper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrograph.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrograph.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographDescriptor.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographEntry.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographEntry.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/UnitHydrographTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/mkcapi/KcApiRainfallRunoffModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/mkcapi/KcApiRainfallRunoffModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/mkcapi/KcApiRainfallToStageModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/mkcapi/KcApiRainfallToStageModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacRainfallToStageModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacRainfallToStageModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaParameters.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaParameters.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaRainfallRunoffModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaRainfallRunoffModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaState.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaState.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/model/sacsma/SacSmaTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/AppsDefaults.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/AppsDefaults.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/BooleanHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/BooleanHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/CodeTimer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/CodeTimer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/CodeTracer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/CodeTracer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Cryptor.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Cryptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/DataPoint.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/DataPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/DoubleHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/DoubleHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/EndianConverter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/EndianConverter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/EnvHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/EnvHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/FileLogger.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/FileLogger.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Grid.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Grid.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/IntegerHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/IntegerHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Logger.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Logger.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/LongHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/LongHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/MathHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/MathHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/MaxMinData.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/MaxMinData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/MemoryLogger.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/MemoryLogger.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/NameValuePair.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/NameValuePair.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/PrecipUtils.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/PrecipUtils.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Range.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/Range.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/SessionLogger.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/SessionLogger.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StreamDrainer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StreamDrainer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StringDataConverter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StringDataConverter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StringHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StringHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StringParser.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/StringParser.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimeHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimeHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimeHolder.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimeHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimeSeriesFileManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimeSeriesFileManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimerHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/TimerHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/UnitValueMapper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/UnitValueMapper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/ValueMapper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/ValueMapper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/ComponentHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/ComponentHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DatePanel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DatePanel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTextField.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTextField.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeDialog.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeEvent.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeEvent.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeEventListener.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeEventListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeTextField.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DateTimeTextField.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DialogHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/DialogHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/ExtensionFileFilter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/ExtensionFileFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/FontHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/FontHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/FrameCloseWindowListener.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/FrameCloseWindowListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/ItemsSelectionDialog.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/ItemsSelectionDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/LabeledComboBox.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/LabeledComboBox.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/LabeledSlider.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/LabeledSlider.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/LabeledTextField.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/LabeledTextField.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/OptionSelectionDialog.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/OptionSelectionDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/PasswordDialog.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/PasswordDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/StandardImageIcons.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/StandardImageIcons.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TableColumnComparator.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TableColumnComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TableHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TableHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TableHelper2.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TableHelper2.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TimePanel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/TimePanel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/WindowResizingManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/WindowResizingManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/BufferedCanvas.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/BufferedCanvas.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/CanvasHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/CanvasHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/CanvasPainter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/CanvasPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataCurvePainter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataCurvePainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvas.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvas.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvasAdapter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvasAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvasBackgroundPainter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvasBackgroundPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvasPainter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/DataPointCanvasPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/PaintableCanvas.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/PaintableCanvas.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/ScalingHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/ScalingHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsCanvasEvent.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsCanvasEvent.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsCanvasEventListener.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsCanvasEventListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsCanvasPainter.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsCanvasPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsPaintableCanvas.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/TsPaintableCanvas.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/Viewport.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/drawing/Viewport.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/CheckTreeCellRenderer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/CheckTreeCellRenderer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/CheckTreeManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/CheckTreeManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/CheckTreeSelectionModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/CheckTreeSelectionModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/JCheckTreeManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jchecktree/JCheckTreeManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/AbstractJTableRowData.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/AbstractJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/BaseTableCell.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/BaseTableCell.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/CellType.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/CellType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/ComplexJTableManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/ComplexJTableManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableCellRenderer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableCellRenderer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnComparator.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnDescriptor.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnDescriptorManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnDescriptorManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnDisplaySettings.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableColumnDisplaySettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableHeaderRenderer.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableHeaderRenderer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableModel.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableRowData.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableSortHelper.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/JTableSortHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/ScrollableJTable.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/ScrollableJTable.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/TableCellInterface.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/TableCellInterface.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/ExampleData.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/ExampleData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/ExampleJTableRowData.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/ExampleJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/JTableExampleApp.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/JTableExampleApp.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/JTableExampleDataManager.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/gui/jtable/example/JTableExampleDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/io/RGBTextFileReader.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/io/RGBTextFileReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/EnvTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/EnvTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/JniTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/JniTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/TimeTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/TimeTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/TimingTest.java b/javaUtilities/hydro/ohd.common/src/ohd/hseb/util/test/TimingTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/menu/Launcher.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/menu/Launcher.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/DisplayGraphicsPanel.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/DisplayGraphicsPanel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/FldViewPanel.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/FldViewPanel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/ModelGUI.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/ModelGUI.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/ModelGUI.java_prev b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/ModelGUI.java_prev old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/OutputManager.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/OutputManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/OutputManager.java_prev b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/smpdbk/OutputManager.java_prev old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/AnalysisData.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/AnalysisData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/DamInputFileFilter.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/DamInputFileFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/DamMapper.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/DamMapper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/DownstreamPoint.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/DownstreamPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/EnumeratedTypes.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/EnumeratedTypes.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/FldXSOutputFileParser.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/FldXSOutputFileParser.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/MaxLengthDocument.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/MaxLengthDocument.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/ModelOutput.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/ModelOutput.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/ModelScenario.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/ModelScenario.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/NumFormat.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/NumFormat.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/NumbersOnlyDocument.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/NumbersOnlyDocument.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/PropertyReader.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/PropertyReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/SectionGeometry.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/SectionGeometry.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/StreamDirector.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/StreamDirector.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TabbedPrinter.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TabbedPrinter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TableMap.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TableMap.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TablePrinter.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TablePrinter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TableSorter.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/TableSorter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/UneditableJTableModel.java b/javaUtilities/hydro/ohd.damcrest/src/gov/dambreak/util/UneditableJTableModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/CrossSectionEntryInfo.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/CrossSectionEntryInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/DBAccess.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/DBAccess.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/DamInfo.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/DamInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/DownstreamEntryInfo.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/DownstreamEntryInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/EditDam.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/EditDam.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/InputEntryInfo.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/InputEntryInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/OutputEntryInfo.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/OutputEntryInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/Search.java b/javaUtilities/hydro/ohd.damcrest/src/gov/damcat/data/Search.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/AppsDefaults.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/AppsDefaults.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/Apps_defaults_test_user.txt b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/Apps_defaults_test_user.txt old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/CodeTimer.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/CodeTimer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/EnvHelper.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/EnvHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/Logger.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/Logger.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/NameValuePair.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/NameValuePair.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/TimeHelper.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/TimeHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/TimeHolder.java b/javaUtilities/hydro/ohd.damcrest/src/ohd/hseb/util/TimeHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/Database.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/Database.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbArrayColumn.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbArrayColumn.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbConnectionHelper.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbConnectionHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbRecord.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbRecord.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbTable.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbTable.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbTimeHelper.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbTimeHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbType.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/db/DbType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/CDbGen.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/CDbGen.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/CodeIndenter.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/CodeIndenter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/ColumnDescriptor.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/ColumnDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/JDbGen.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/JDbGen.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/SchemaDescriber.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/SchemaDescriber.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/TableDescriptor.java b/javaUtilities/hydro/ohd.db/src/ohd/hseb/dbgen/TableDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/Dimensions_File_Uploader.java b/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/Dimensions_File_Uploader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/LogViewer.java b/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/LogViewer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/NewDimensions_File_Uploader.java b/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/NewDimensions_File_Uploader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/PasswordDialog.java b/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/PasswordDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/StreamDrainer.java b/javaUtilities/hydro/ohd.dimensions_file_uploader/src/ohd/hseb/dimensions_file_uploader/StreamDrainer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/DataServicesGlobals.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/DataServicesGlobals.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataDetermWindow.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataDetermWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataEnsembleWindow.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataEnsembleWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataServiceWindow.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataServiceWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataWatSupWindow.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstDataWatSupWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstGenMethodJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstGenMethodJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstHorizonJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstHorizonJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtDetermJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtDetermJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtEnsembleJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtEnsembleJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtServiceJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtServiceJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtWatSupJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstPtWatSupJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstTypeJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FcstTypeJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FlowTypeJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FlowTypeJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FrequencyUpdateJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/FrequencyUpdateJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/HydrologicMethodJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/HydrologicMethodJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/IssueCriteriaJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/IssueCriteriaJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LhvmApplicationWindow.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LhvmApplicationWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LhvmDataManager.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LhvmDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LhvmLogger.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LhvmLogger.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LocationJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/LocationJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/Observer.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/Observer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/PostProcessingJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/PostProcessingJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ReferenceTablesWindow.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ReferenceTablesWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/RequiredPeriodJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/RequiredPeriodJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ReservoirModelJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ReservoirModelJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/RespAgencyJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/RespAgencyJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/RoutingMethodJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/RoutingMethodJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ServiceTableViewViewJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ServiceTableViewViewJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ServiceTypeJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ServiceTypeJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ServicesDbWindowAdapter.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/ServicesDbWindowAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/SnowMethodJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/SnowMethodJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/SpringUtilities.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/SpringUtilities.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/Subject.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/Subject.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/VerificationResponseTypeJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/VerificationResponseTypeJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/WatSupCoordAgencyJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/WatSupCoordAgencyJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/WatSupCriterionJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/WatSupCriterionJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/WatSupMethodJTableRowData.java b/javaUtilities/hydro/ohd.fcstservice/src/ohd/hseb/fcstservice/WatSupMethodJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/DrawingTools.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/DrawingTools.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/MapCanvas.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/MapCanvas.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/MapDataManager.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/MapDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/MapFrame.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/MapFrame.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/PrecipMonitorPointMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/PrecipMonitorPointMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/RiverFcstPointMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/RiverFcstPointMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/StationPoint.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/examples/StationPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/BCDFileReader.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/BCDFileReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/BinaryGeoDataFileReader.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/BinaryGeoDataFileReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/ElevationFileReader.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/ElevationFileReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/ElevationFileReaderSlow.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/io/ElevationFileReaderSlow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/BaseColorDeterminer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/BaseColorDeterminer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/BaseMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/BaseMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/CenterPointMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/CenterPointMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/ColorDeterminer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/ColorDeterminer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/ElevationMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/ElevationMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/GriddedMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/GriddedMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/MapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/MapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/PolyLineMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/PolyLineMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/PolygonMapLayer.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/PolygonMapLayer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/XmrgGridToGridAdapter.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/layer/XmrgGridToGridAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/test/ContouringTest.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/test/ContouringTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/test/MockRowColToLatLonTranslator.java b/javaUtilities/hydro/ohd.map/src/ohd/hseb/geomap/test/MockRowColToLatLonTranslator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorChooserDialog.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorChooserDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorChooserDialogDataMgr.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorChooserDialogDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorHolder.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorPickerDialog.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorPickerDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorScaleValueSet.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorScaleValueSet.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorSet.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorSet.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorValue.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ColorValue.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/NamedColor.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/NamedColor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/NamedColorMatcher.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/NamedColorMatcher.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ScaleValueSet.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/color_chooser/ScaleValueSet.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpCurPrevVtec.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpCurPrevVtec.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfo.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfoDataManager.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfoDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfoFileReader.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfoFileReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfoFrame.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/FpVtecInfoFrame.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/TimeLineAdjustmentListener.java b/javaUtilities/hydro/ohd.misc_dialogs/src/ohd/hseb/fp_vtec_info/TimeLineAdjustmentListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/util/MPEProductDescriptor.java b/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/util/MPEProductDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableCellEditor.java b/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableCellEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableDataManager.java b/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableFrame.java b/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableFrame.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableRowData.java b/javaUtilities/hydro/ohd.mpe/src/ohd/hseb/mpe/window/GageTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/DailyTimeSlotPolicy.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/DailyTimeSlotPolicy.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/HourlyTimeSlotPolicy.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/HourlyTimeSlotPolicy.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/IrregularObsTimeSeries.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/IrregularObsTimeSeries.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/Location.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/Location.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/NonPrecipObsTableManager.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/NonPrecipObsTableManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCFileReader.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCFileReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCFileReaderSlow.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCFileReaderSlow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCFileWriter.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCFileWriter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCPreprocessor.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCPreprocessor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCPreprocessorDataMgr.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PDCPreprocessorDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PdcMergeTest.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PdcMergeTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PdcReadTest.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PdcReadTest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PrecipListHolder.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/PrecipListHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeries.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeries.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeriesComparator.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeriesComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeriesComparator.java.new b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeriesComparator.java.new old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeriesDescriptor.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/RegularObsTimeSeriesDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/TimeSeriesListMgr.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/TimeSeriesListMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/TimeSlotPolicy.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/TimeSlotPolicy.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/TimeValuePair.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/TimeValuePair.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/sample_data_set/CreateSampleDataSet.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/sample_data_set/CreateSampleDataSet.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/sample_data_set/SampleDataSetCreatorDataMgr.java b/javaUtilities/hydro/ohd.pdc_pp/src/ohd/hseb/pdc_pp/sample_data_set/SampleDataSetCreatorDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/Converter.java b/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/Converter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/GeoData.java b/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/GeoData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/MPEClimo.java b/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/MPEClimo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/MPEConstants.java b/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/MPEConstants.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/Prism.java b/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/Prism.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/XMRG.java b/javaUtilities/hydro/ohd.prism/src/ohd/hseb/prism/XMRG.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/RaxBase.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/RaxBase.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/RaxBaseDataMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/RaxBaseDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/db/CustomRaxRatingTable.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/db/CustomRaxRatingTable.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/AdjustFactorEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/AdjustFactorEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/AgencyEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/AgencyEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/AverageEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/AverageEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/CountiesEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/CountiesEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/CountryEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/CountryEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/CrestEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/CrestEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/DataLimitsEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/DataLimitsEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc2Editor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc2Editor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc4Editor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc4Editor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc6Editor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc6Editor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc8Editor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/Huc8Editor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/IngestFilterEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/IngestFilterEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/LocationEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/LocationEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ModCtrlEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ModCtrlEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessAdjustFactorDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessAdjustFactorDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessCrestDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessCrestDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessDataLimitsDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessDataLimitsDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessIngestFilterDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessIngestFilterDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessLocDataLimitsDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessLocDataLimitsDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessLocationDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessLocationDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessRatingDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessRatingDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessReservoirDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessReservoirDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessRiverCritDifferencesDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProcessRiverCritDifferencesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProdEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ProdEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/RatingCurveEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/RatingCurveEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ReservoirEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ReservoirEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/RfcEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/RfcEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/RiverCritEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/RiverCritEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/SensOKEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/SensOKEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefDurationEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefDurationEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefExtremumEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefExtremumEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefPE1Editor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefPE1Editor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefPEEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefPEEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefPETransEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefPETransEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefProbEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefProbEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefQCEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefQCEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefTSEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/ShefTSEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/SlopeProfileEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/SlopeProfileEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/StateEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/StateEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/StatusBar.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/StatusBar.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/WfoHsaEditor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/gui/WfoHsaEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Agency.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Agency.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Average.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Average.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Counties.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Counties.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Country.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Country.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc2.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc2.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc4.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc4.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc6.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc6.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc8.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Huc8.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ModCtrl.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ModCtrl.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Prod.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Prod.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxAdjustFactor.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxAdjustFactor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxCrest.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxCrest.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxDataLimits.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxDataLimits.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxIngestFilter.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxIngestFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxLocDataLimits.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxLocDataLimits.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxLocation.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxLocation.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRating.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRating.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRatingOffset.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRatingOffset.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRatingPoint.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRatingPoint.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRatingShift.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRatingShift.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxReservoir.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxReservoir.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRiverCrit.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/RaxRiverCrit.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Rfc.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Rfc.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Sensok.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/Sensok.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefDuration.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefDuration.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefExtremum.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefExtremum.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefPE.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefPE.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefPE1.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefPE1.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefPETrans.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefPETrans.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefProb.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefProb.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefQC.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefQC.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefTS.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/ShefTS.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/SlopeProfile.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/SlopeProfile.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/State.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/State.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/WfoHsa.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/model/WfoHsa.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseAdjustFactorJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseAdjustFactorJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseAgencyJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseAgencyJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseCountiesJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseCountiesJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseCountryJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseCountryJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseCrestJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseCrestJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseDataLimitsJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseDataLimitsJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc2JTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc2JTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc4JTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc4JTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc6JTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc6JTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc8JTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseHuc8JTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseIngestFilterJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseIngestFilterJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseLocationJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseLocationJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseModCtrlJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseModCtrlJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseProdJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseProdJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseRatingJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseRatingJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseRatingOffsetsJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseRatingOffsetsJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseRfcJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseRfcJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefDurationJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefDurationJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefExtremumJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefExtremumJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefPE1JTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefPE1JTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefPEJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefPEJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefPETransJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefPETransJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefProbJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefProbJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefQCJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefQCJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefTSJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseShefTSJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseStateJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseStateJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseWfoHsaJTableRowData.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/table/ArcBaseWfoHsaJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/CursorController.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/CursorController.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/DateManager.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/DateManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/HDateSuperChooser.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/HDateSuperChooser.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/JListPanelSuperCellRenderer.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/JListPanelSuperCellRenderer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/ModalDialogRunner.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/ModalDialogRunner.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/PEDTSEPManager.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/PEDTSEPManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/PEManager.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/PEManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/RaxRatingShiftCalculator.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/RaxRatingShiftCalculator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/ShiftedStage.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/ShiftedStage.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/StatusDialog.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/StatusDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/StringPadder.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/StringPadder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/TSManager.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxbase/util/TSManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/AdjustFactorDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/AdjustFactorDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/BaseDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/BaseDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/CrestDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/CrestDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/DataLimitsDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/DataLimitsDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/DiffSet.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/DiffSet.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/FieldDifference.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/FieldDifference.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/IDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/IDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/IngestFilterDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/IngestFilterDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/LocDataLimitsDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/LocDataLimitsDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/LocationDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/LocationDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RatingCurveHolder.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RatingCurveHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RatingDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RatingDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RatingShiftDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RatingShiftDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxDbSync.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxDbSync.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxDbSyncBatch.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxDbSyncBatch.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxSyncDataMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxSyncDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxSyncFileMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RaxSyncFileMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RecordDifference.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RecordDifference.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RecordDifferenceOriginType.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RecordDifferenceOriginType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/ReservoirDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/ReservoirDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RiverCritDifferenceMgr.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RiverCritDifferenceMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RiverCritHolder.java b/javaUtilities/hydro/ohd.rax_apps/src/ohd/hseb/raxdb_sync/RiverCritHolder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/alertalarm/AlertAlarmJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/DataFilter.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/DataFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/LocationDataFilter.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/LocationDataFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/LocationInfoColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/LocationInfoColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/Monitor.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/Monitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorCell.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorCell.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorFrame.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorFrame.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorMessage.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorMessage.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorSplitPane.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorSplitPane.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorTimeSeriesLiteManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorTimeSeriesLiteManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorToolBarManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/MonitorToolBarManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/ThreatLevel.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/ThreatLevel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/TreeDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/TreeDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/TreeFilterManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/TreeFilterManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/derivedcolumns/DerivedColumn.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/derivedcolumns/DerivedColumn.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/derivedcolumns/DerivedColumnsFileManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/derivedcolumns/DerivedColumnsFileManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/BaseManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/BaseManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/Manager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/Manager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/MonitorMenuManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/MonitorMenuManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/MonitorRefreshManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/MonitorRefreshManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/Receiver.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/manager/Receiver.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/messaging/Message.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/messaging/Message.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/messaging/MessageSystemManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/messaging/MessageSystemManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/messaging/MessageType.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/messaging/MessageType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipLocationDataFilter.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipLocationDataFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipMonitorDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipMonitorDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipMonitorJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipMonitorJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipThresholdDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/PrecipThresholdDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorAppManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorAppManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorFilterManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorFilterManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorMenuManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorMenuManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorRefreshManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorRefreshManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorSettingsManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorSettingsManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorViewManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/manager/PrecipMonitorViewManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/settings/PrecipColumnDataSettings.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/settings/PrecipColumnDataSettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/settings/PrecipMonitorMenuSettings.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/settings/PrecipMonitorMenuSettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/settings/PrecipMonitorSettingsFileManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/precip/settings/PrecipMonitorSettingsFileManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/LookBackTimeDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/LookBackTimeDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverLocationDataFilter.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverLocationDataFilter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverMonitorDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverMonitorDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverMonitorJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverMonitorJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverMonitorVtecEventDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/RiverMonitorVtecEventDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorAppManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorAppManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorFilterManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorFilterManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorMenuManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorMenuManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorRefreshManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorRefreshManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorSettingsManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorSettingsManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorViewManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/manager/RiverMonitorViewManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/settings/RiverColumnDataSettings.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/settings/RiverColumnDataSettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/settings/RiverMonitorMenuSettings.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/settings/RiverMonitorMenuSettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/settings/RiverMonitorSettingsFileManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/river/settings/RiverMonitorSettingsFileManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/settings/FilterSettings.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/settings/FilterSettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/settings/MonitorSettingsFileManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/settings/MonitorSettingsFileManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/settings/ViewSettings.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/settings/ViewSettings.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/treefilter/MonitorCheckTreeCellRenderer.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/treefilter/MonitorCheckTreeCellRenderer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/treefilter/MonitorCheckTreeManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/treefilter/MonitorCheckTreeManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/treefilter/MonitorCheckTreeSelectionModel.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/monitor/treefilter/MonitorCheckTreeSelectionModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/officenotes/OfficeNotesJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonGroupColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonGroupColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonGroupDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonGroupDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonGroupJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonGroupJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocGroupDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocGroupDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocationColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocationColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocationDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocationDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocationJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/rivermonlocgroup/RiverMonLocationJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecEventColumns.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecEventColumns.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecEventDataManager.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecEventDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecEventDialog.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecEventDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecJTableRowData.java b/javaUtilities/hydro/ohd.rivermonitor/src/ohd/hseb/vtecevent/VtecJTableRowData.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/AboutInfo.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/AboutInfo.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/AppController.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/AppController.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/DataMgr.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/DataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/FFHDescriptor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/FFHDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/FcstTsDescriptor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/FcstTsDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/IngestFilterTsDescriptor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/IngestFilterTsDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/ModelManager.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/ModelManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/ProcTsDescriptor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/ProcTsDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SSHP.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SSHP.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SSHPConfig.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SSHPConfig.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SSHPSource.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SSHPSource.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SacSmaStateDescriptor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SacSmaStateDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SacStateUpdater.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/SacStateUpdater.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/StreamModel.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/StreamModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/GuiHelper.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/GuiHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/PositionedText.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/PositionedText.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/PrecipPainter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/PrecipPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/PrecipTotalTextPainter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/PrecipTotalTextPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/SettingPanel.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/SettingPanel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/SigStageLinePainter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/SigStageLinePainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/StagePainter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/StagePainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/TableAdapter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/TableAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/TimeLinePainter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/TimeLinePainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/TsBackgroundPainter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/gui/TsBackgroundPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/DecoderDataMgr.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/DecoderDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/OfsFileParserException.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/OfsFileParserException.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SacXMLDecoder.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SacXMLDecoder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SacXMLEncoder.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SacXMLEncoder.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SacXMLTester.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SacXMLTester.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SshpDataTransferMgr.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/messaging/SshpDataTransferMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/ArealPrecipPreprocessor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/ArealPrecipPreprocessor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/BaseArealPrecipPreprocessor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/BaseArealPrecipPreprocessor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/BasinHrapHelper.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/BasinHrapHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/HPNPreprocessor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/HPNPreprocessor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/MAPPreprocessor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/MAPPreprocessor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/MPEPreprocessor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/MPEPreprocessor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/XmrgReader.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/precip/XmrgReader.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/AnalysisWindow.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/AnalysisWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ControlWindow.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ControlWindow.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ControlWindowTableAdapter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ControlWindowTableAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ControlWindowTableColumnComparator.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ControlWindowTableColumnComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/FileChooserHelper.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/FileChooserHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ForecastTsSaveDialog.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/ForecastTsSaveDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/LiveSacStateEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/LiveSacStateEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/MonthlyValueEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/MonthlyValueEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingCurveDataPointCanvasAdapter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingCurveDataPointCanvasAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingCurveEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingCurveEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingPointComparator.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingPointComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingShiftComparator.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RatingShiftComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RegularTimeSeriesEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RegularTimeSeriesEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RegularTimeSeriesEditorDescriptor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/RegularTimeSeriesEditorDescriptor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SSHPConfigDialog.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SSHPConfigDialog.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SacParamsEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SacParamsEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SacStateEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SacStateEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SshpTableModel.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/SshpTableModel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographCanvasPanel.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographCanvasPanel.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographDataPointCanvasAdapter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographDataPointCanvasAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographDescriptorComparator.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographDescriptorComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographDescriptorTableAdapter.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographDescriptorTableAdapter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographEditor.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographEditor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographEntryComparator.java b/javaUtilities/hydro/ohd.sshp/src/ohd/hseb/sshp/window/UnitHydrographEntryComparator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/mail/MailHelper.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/mail/MailHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/AgeFileMonitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/AgeFileMonitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/ChangeFileMonitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/ChangeFileMonitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/CommandRunner.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/CommandRunner.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/CountFileMonitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/CountFileMonitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/EmailReporter.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/EmailReporter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/ExistenceFileMonitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/ExistenceFileMonitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/FileDiff.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/FileDiff.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/FileMonitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/FileMonitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/Monitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/Monitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorFactory.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorFactory.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorManager.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorOperator.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorOperator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorType.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/MonitorType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/Reporter.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/Reporter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/SizeFileMonitor.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/SizeFileMonitor.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/Status.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/Status.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/TextStatus.java b/javaUtilities/hydro/ohd.sys_monitor/src/ohd/hseb/monitor/TextStatus.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/gui/util/ScreenCaptureActionListener.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/gui/util/ScreenCaptureActionListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/model/FlowToStageValueMapper.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/model/FlowToStageValueMapper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/model/PrecipPPAndPCValueMapper.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/model/PrecipPPAndPCValueMapper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/Location.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/Location.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/PDCDataType.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/PDCDataType.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/ParamCode.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/ParamCode.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/TSLDrawingMgr.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/TSLDrawingMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/TSLFrame.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/TSLFrame.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/TimeSeriesLite.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/TimeSeriesLite.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/SignificantLinePainter.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/SignificantLinePainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TsBarPainter.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TsBarPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TsCanvasToolTipListener.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TsCanvasToolTipListener.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TsDataPointPainter.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TsDataPointPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TslBackgroundPainter.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TslBackgroundPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TslCanvasPainter.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TslCanvasPainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TslTimeLinePainter.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/gui/drawing/TslTimeLinePainter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/pdc/PDCDrawingMgr.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/pdc/PDCDrawingMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/pdc/PdcTslDataManager.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/pdc/PdcTslDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/rivermon/RiverMonDrawingMgr.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/rivermon/RiverMonDrawingMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/rivermon/RiverMonTslDataManager.java b/javaUtilities/hydro/ohd.tsl/src/ohd/hseb/timeserieslite/rivermon/RiverMonTslDataManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/DataAbsentException.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/DataAbsentException.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/FortranScriptRunningException.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/FortranScriptRunningException.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/InputFilesGenerator.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/InputFilesGenerator.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/OutputFileManager.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/OutputFileManager.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/OutputFileTester.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/OutputFileTester.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/StreamDrainer.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/StreamDrainer.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarAssimilationProgramExecuter.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarAssimilationProgramExecuter.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarController.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarController.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarDataMgr.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarDataMgr.java old mode 100755 new mode 100644 diff --git a/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarHelper.java b/javaUtilities/hydro/ohd.var/src/ohd/hseb/sshp/var/VarHelper.java old mode 100755 new mode 100644 diff --git a/javaUtilities/yajsw/deploy.xml b/javaUtilities/yajsw/deploy.xml new file mode 100644 index 0000000000..9b013eaf74 --- /dev/null +++ b/javaUtilities/yajsw/deploy.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/javaUtilities/yajsw/yajsw.ecl b/javaUtilities/yajsw/yajsw.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/localization/localization.OAX/utility/common_static/site/OAX/warngen/config.xml b/localization/localization.OAX/utility/common_static/site/OAX/warngen/config.xml deleted file mode 100644 index 608df36aa5..0000000000 --- a/localization/localization.OAX/utility/common_static/site/OAX/warngen/config.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - OMAHA/VALLEY NE - OMAHA - EAX/KANSAS CITY,DMX/DES MOINES,BOX/BOSTON,LBF/NORTH PLATTE,PQR/PORTLAND - OMA - severethunderstorm - Flash Flood/ffw,Severe Thunderstorm/severethunderstorm,Tornado/tornado - Severe Weather Statement/SVS,Flash Flood Statement/ffs,non-convective FFW (Dam Break)/dambreak,non-convective Flash Flood Statement/dambreakffs,Areal Flood Warning/flw,Areal Flood Warning Followup/fls,Areal Flood Advisory/fla,Areal Flood Advisory Followup/flas,Special Marine Warning/smw,Marine Weather Statement (SMW Follow)/smws,Marine Weather Statement standalone/marinestatement,Short Term Forecast/shortterm,Special Weather Statement (zones)/sws - 5000 - \ No newline at end of file diff --git a/msi/VizLauncher/VizLauncher.suo b/msi/VizLauncher/VizLauncher.suo index 610c195a0e..9b44de8eee 100644 Binary files a/msi/VizLauncher/VizLauncher.suo and b/msi/VizLauncher/VizLauncher.suo differ diff --git a/msi/VizLauncher/VizLauncher/com/raytheon/viz/launcher/process/AbstractProcessLauncher.cs b/msi/VizLauncher/VizLauncher/com/raytheon/viz/launcher/process/AbstractProcessLauncher.cs index db02974126..31a4bf9a90 100644 --- a/msi/VizLauncher/VizLauncher/com/raytheon/viz/launcher/process/AbstractProcessLauncher.cs +++ b/msi/VizLauncher/VizLauncher/com/raytheon/viz/launcher/process/AbstractProcessLauncher.cs @@ -56,11 +56,10 @@ namespace VizLauncher.com.raytheon.viz.launcher.process { ProcessStartInfo processStartInfo = new ProcessStartInfo(this.constructProcessName(vizEnvironment.getLocation())); - processStartInfo.EnvironmentVariables.Remove(EnvironmentProperties.ENVIRONMENT_VARIABLE_PATH); - processStartInfo.EnvironmentVariables.Add( - EnvironmentProperties.ENVIRONMENT_VARIABLE_PATH, vizEnvironment.getPath()); - processStartInfo.EnvironmentVariables.Add( - EnvironmentProperties.ENVIRONMENT_VARIABLE_PYTHON_PATH, vizEnvironment.getPythonPath()); + processStartInfo.EnvironmentVariables[EnvironmentProperties.ENVIRONMENT_VARIABLE_PATH] = + vizEnvironment.getPath(); + processStartInfo.EnvironmentVariables[EnvironmentProperties.ENVIRONMENT_VARIABLE_PYTHON_PATH] = + vizEnvironment.getPythonPath(); processStartInfo.UseShellExecute = false; processStartInfo.Arguments = this.getCommandLineArguments(); processStartInfo.RedirectStandardOutput = true; diff --git a/msi/build/A2Staging/VisualStudio/VizLauncher.exe b/msi/build/A2Staging/VisualStudio/VizLauncher.exe index 7b199ed61c..af03282d6f 100644 Binary files a/msi/build/A2Staging/VisualStudio/VizLauncher.exe and b/msi/build/A2Staging/VisualStudio/VizLauncher.exe differ diff --git a/nativeLib/build.native/build-notification.sh b/nativeLib/build.native/build-notification.sh index d31e41a6ac..4906b84f73 100644 --- a/nativeLib/build.native/build-notification.sh +++ b/nativeLib/build.native/build-notification.sh @@ -1,7 +1,5 @@ #!/bin/bash -set -x - # Constants: __ECLIPSE_="eclipse" __NO_SPLASH_="-nosplash" diff --git a/nativeLib/build.native/tools/compile.sh b/nativeLib/build.native/tools/compile.sh old mode 100755 new mode 100644 diff --git a/nativeLib/decrypt_file/decrypt_file.ecl b/nativeLib/decrypt_file/decrypt_file.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/nativeLib/edex_com/src/EdexNotification.h b/nativeLib/edex_com/src/EdexNotification.h index 1118fdcf22..9c02d955d4 100644 --- a/nativeLib/edex_com/src/EdexNotification.h +++ b/nativeLib/edex_com/src/EdexNotification.h @@ -56,7 +56,6 @@ typedef void CEdexNotification; #include "NotificationProtocol.h" using namespace qpid::messaging; -using namespace qpid::framing; using namespace std; using apache::thrift::transport::TMemoryBuffer; using boost::shared_ptr; diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder b/nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder b/nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/build_f6 b/nativeLib/files.native/adapt/climate/bin/Linux/build_f6 deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/build_f6 +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/build_f6 b/nativeLib/files.native/adapt/climate/bin/Linux/build_f6 new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/build_f6 @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/create_climate b/nativeLib/files.native/adapt/climate/bin/Linux/create_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/create_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/create_climate b/nativeLib/files.native/adapt/climate/bin/Linux/create_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/create_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/display_climate b/nativeLib/files.native/adapt/climate/bin/Linux/display_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/display_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/display_climate b/nativeLib/files.native/adapt/climate/bin/Linux/display_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/display_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate b/nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate b/nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/format_climate b/nativeLib/files.native/adapt/climate/bin/Linux/format_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/format_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/format_climate b/nativeLib/files.native/adapt/climate/bin/Linux/format_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/format_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/init_climate b/nativeLib/files.native/adapt/climate/bin/Linux/init_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/init_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/init_climate b/nativeLib/files.native/adapt/climate/bin/Linux/init_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/init_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/qc_climate b/nativeLib/files.native/adapt/climate/bin/Linux/qc_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/qc_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/qc_climate b/nativeLib/files.native/adapt/climate/bin/Linux/qc_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/qc_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/recordClimate b/nativeLib/files.native/adapt/climate/bin/Linux/recordClimate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/recordClimate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/recordClimate b/nativeLib/files.native/adapt/climate/bin/Linux/recordClimate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/recordClimate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate b/nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate deleted file mode 120000 index eee890d3dd..0000000000 --- a/nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate +++ /dev/null @@ -1 +0,0 @@ -_main.sh \ No newline at end of file diff --git a/nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate b/nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate new file mode 100755 index 0000000000..74b28ae27a --- /dev/null +++ b/nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate @@ -0,0 +1,18 @@ +#!/bin/bash + +# calls into the main routines in the adappt.climate.ui library +# create links to this script with the appropriate name for each +# main routine + +program_name=$(basename $0) + +script_dir=$(cd $(dirname $0);pwd) + +# set the appropriate environment variables +. $script_dir/set_climate_env.sh + +# the climate apps assume the cwd is the data dir +cd $CLIMATE_DATA_DIR + +# call into the library to launch the program +runso rary.adappt.climate.ui ${program_name}_main $@ diff --git a/nativeLib/files.native/awipsShare/hydroapps/bin/runso b/nativeLib/files.native/awipsShare/hydroapps/bin/runso old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg.so.6 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg.so.6 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg.so.6.0 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg.so.6.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg_compat.so.3 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg_compat.so.3 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg_compat.so.3.0 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libecpg_compat.so.3.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libjasper.so.1 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libjasper.so.1 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libjvm.so b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libjvm.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libpgtypes.so.3 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libpgtypes.so.3 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libpgtypes.so.3.0 b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/libpgtypes.so.3.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.empty.motif.so b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.empty.motif.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.ohd.util.so b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.ohd.util.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.ohd.whfs.so b/nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.ohd.whfs.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/nrldb.ksh b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/nrldb.ksh new file mode 100644 index 0000000000..5ffcc8009c --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/nrldb.ksh @@ -0,0 +1,38 @@ +#!/usr/bin/ksh + +#setenv FXA_HOME /awips/fxa +#setenv LOG_DIR /data/logs/fxa +#source $FXA_HOME/readenv.csh + +RUN_FROM_DIR=`dirname $0` +echo "RFD: $RUN_FROM_DIR" +# set up SOME environment variables for WHFS applications +. $RUN_FROM_DIR/../../set_hydro_env +. $RUN_FROM_DIR/../../check_app_context + +#set NRLDB_DATA=`/awips/hydroapps/public/bin/get_apps_defaults.LX nrldb_data` +#set NRLDB_LOG=`/awips/hydroapps/public/bin/get_apps_defaults.LX nrldb_log` +#set NRLDB_CONFIG=`/awips/hydroapps/public/bin/get_apps_defaults.LX nrldb_config` +#set WHFS_BIN=`/awips/hydroapps/public/bin/get_apps_defaults.LX whfs_bin_dir` +#cd /awips/hydroapps/whfs/local/data/backup_db/nrldb + +export NRLDB_DATA=$(get_apps_defaults nrldb_data) +echo "NRLDB data: $NRLDB_DATA" + +export NRLDB_LOG=$(get_apps_defaults nrldb_log) +echo "NRLDB log: $NRLDB_LOG" + +export NRLDB_CONFIG=$(get_apps_defaults nrldb_config) +echo "NRLDB config: $NRLDB_CONFIG" + +export WHFS_BIN=$(get_apps_defaults whfs_bin_dir) +echo "WHFS_BIN: $WHFS_BIN" + +export NRLDBLOGFILE=${NRLDB_LOG}/nrldb.log +export NRLDBTMPFILE=${NRLDB_LOG}/nrldb.tmp +tail -5000 $NRLDBLOGFILE > $NRLDBTMPFILE +mv $NRLDBTMPFILE $NRLDBLOGFILE + +${WHFS_BIN}/nrldb.pl -t wfo -u + +# diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/nrldb.pl b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/nrldb.pl new file mode 100644 index 0000000000..409152e903 --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/nrldb.pl @@ -0,0 +1,1415 @@ +#!/usr/bin/perl + +use strict; +use DBI; +use AppConfig qw(:expand :argcount); + + +#Set/define command line args +my %cfg = ( DEBUG => 0); # debug mode on or off +my $config = AppConfig->new(\%cfg); # create config object +$config->define('type',{ARGCOUNT => ARGCOUNT_ONE, VALIDATE => '(WFO|RFC|HQ|wfo|rfc|hq)', ALIAS => 'T'}); +$config->define('local-control-file',{ARGCOUNT => ARGCOUNT_ONE, ALIAS => 'L',DEFAULT => 0}); +$config->define('upload',{ARGCOUNT => ARGCOUNT_NONE, ALIAS => 'U', DEFAULT => 0}); +$config->define('wfo-id',{ARGCOUNT => ARGCOUNT_ONE, ALIAS => 'W', DEFAULT => 0}); +$config->define('rfc-id',{ARGCOUNT => ARGCOUNT_ONE, ALIAS => 'R', DEFAULT => 0}); +$config->define('out-xmlfile',{ARGCOUNT => ARGCOUNT_ONE, ALIAS => 'O', DEFAULT => 0}); +$config->define('input-xmlfile',{ARGCOUNT => ARGCOUNT_ONE, ALIAS => 'I', DEFAULT => 0}); +$config->define('check',{ARGCOUNT => ARGCOUNT_NONE, ALIAS => 'C', DEFAULT => 0}); +$config->define('verbose',{ARGCOUNT => ARGCOUNT_NONE, ALIAS => 'V', DEFAULT => 0}); +$config->define('dbname',{ARGCOUNT => ARGCOUNT_ONE, ALIAS => 'D', DEFAULT => 0}); +$config->define('extract',{ARGCOUNT => ARGCOUNT_NONE, ALIAS => 'E', DEFAULT => 0}); +$config->define('delete',{ARGCOUNT => ARGCOUNT_NONE, ALIAS => 'A', DEFAULT => 0}); +$config->getopt(\@ARGV); + +our $type = uc($config->get('type')); +our $localControlFile = $config->get('local-control-file'); +our $Upload = $config->get('upload'); +our $wfoID = uc($config->get('wfo-id')); +our $rfcID = uc($config->get('rfc-id')); +our $outFile = $config->get('out-xmlfile'); +our $inFile = $config->get('input-xmlfile'); +our $check = $config->get('check'); +our $verbose = $config->get('verbose'); +our $dbname_flag = $config->get('dbname'); +our $extract = $config->get('extract'); +our $delete = $config->get('delete'); +our $office; +our $update_count = 0; +our $insert_count = 0; +our $error_count = 0; +our $total_count = 0; +our $file_name; +our $conf_dir; +my ($dbname, $host, $user, $pass, $nrldb_host, $backup_host); +my @delete_list; +my $delete_listRef; +print "db name flag: $dbname_flag\n"; +if($check) { + warn "-----Starting NRLDB installation check-----\nInstallation Complete.\n"; + print "Installation Complete.\n"; + exit 0; +} + + +#Get config file info +($dbname, $host, $user, $pass, $nrldb_host, $office, $backup_host) = read_config_file(); + +if(!$dbname_flag) +{ + if( -e "/awips/hydroapps/public/bin/get_apps_defaults") + { + $dbname = `/awips/hydroapps/public/bin/get_apps_defaults.LX db_name`; + } +} +else{ + $dbname = $dbname_flag; +} +# Do parameter checks +if($type eq "") +{ + print "No office type specified.\nusage: --type WFO|RFC|HQ\n\n"; + exit 1; +} +if($type eq "HQ") +{ + if($inFile eq 0) + { + print "No xml input file specified.\nusage: --type HQ --input-xmlfile 'file'\n\n"; + exit 1; + } + if($rfcID eq 0 && $wfoID eq 0) + { + print "You must specify a WFO/RFC office identifier with the HQ type.\n"; + exit 1; + } + + unless($rfcID eq 0) { + $office = $rfcID; + } + unless($wfoID eq 0) { + $office = $wfoID; + } + +} + +if($type eq "RFC") +{ + if($rfcID eq 0) + { + print "You must specify an RFC office identifier with the rfc option.\nusage: --type RFC --rfc-id IDRFC\n\n"; + exit 1; + } +} + + +#Connect to database +our $db = db_connect($dbname, $host, $user, $pass); + +my $date = getdate(); +print "---Starting NRLDB process at $office\, running as $type\---\n---$date\n\n" if($verbose); +warn "---Starting NRLDB process at $office\, running as $type\---\n---$date\n\n"; +print "Connected to database: $dbname\n" if($verbose); +warn "Connected to database: $dbname\n"; +#Determine what type of office is running nrldb software +if(($type eq "WFO") | ($type eq "RFC")) +{ + if($localControlFile eq 0) + { + download_control_file($type); + } + create_xml(); + if($Upload) + { + upload_xml($nrldb_host); + upload_xml($backup_host); + } +} +elsif($type eq "HQ") +{ + if($delete) + { + $delete_listRef = get_delete_list(); + @delete_list = @$delete_listRef; + foreach my $delete_table (@delete_list) + { + deleteValues($delete_table); + } + } + xml_parse(); +} + +print "\n-----------------------------\n\n" if($verbose); +warn "\n-----------------------------\n\n"; +exit 0; + + +# sub 'create_xml' is responsible for querying the database and putting the info into xml format. +sub create_xml +{ + +my $table_name; +my ($select_string, $field_string); +my $xml_string; +my $record_count; +my ($st, $at); +my $table_query; +my $query_error_flag; +my $numrows; +my $lid_flag; +my $pkey; +my ($pk_name, $field_name); +my $row; +my $extract_detail; +my %infohash; +my @tables; +my @fields; +my @fields_all; +my @select_array; +my @PK; +my @keys; +my (@pk_output, @fields_output); + +#read control file and put specified fields into array +my ($tables_ref, $fields_all_ref) = read_control_file(); +@tables = @$tables_ref; +@fields_all = @$fields_all_ref; + + $extract_detail = ''; +# print "EXTRACT: $extract\n"; + unless($extract eq 0) + { + $extract_detail = extract_detail(); + } + +# Start creating xml +$xml_string = "\n\n"; +foreach $table_name (@tables) +{ + + print "TABLE: $table_name\n" if($verbose); + warn "TABLE: $table_name\n"; + $select_string = ""; + $lid_flag = 1; + # Get primary key list for specified tables + @keys = $db->primary_key(undef, undef, $table_name); + + foreach $pkey (@keys) + { + # The following 6 lines were by mark Armstrong (HSD) on 2/26/09 + # to remove the quotes from primary keys. + # When primary keys occurred with quotes, the update queries + # were not successful. + if ($pkey =~ /"/){ + my $length_pkey = length $pkey; + $length_pkey -= 2; + my $new_pkey = substr($pkey,1,$length_pkey); + $pkey=$new_pkey; + } + push(@PK, "$table_name.$pkey"); + } + + @pk_output = grep(/$table_name\.\w*/, @PK); + print "\tPK: @pk_output\n" if($verbose); + warn "\tPK: @pk_output\n"; + @fields_output = grep(/$table_name\.\w*/, @fields_all); + print "\tFIELDS: @fields_output\n" if($verbose); + warn "\tFIELDS: @fields_output\n"; + + my $pk_count = @pk_output; + if($pk_count == 0) + { + print "No Primary Keys found for Table: $table_name\nContinuing\n\n" if($verbose); + warn "No Primary Keys found for Table: $table_name\nContinuing\n\n"; + next; + } + + #loop through arrays and put together a select string for specified table + foreach my $pk (@pk_output) + { + if($pk =~ /$table_name\.\w*/) + { + if($select_string eq "") + { + $select_string = "$pk"; + } + else + { + $select_string .= ",$pk"; + } + } + } + + + foreach my $fields (@fields_output) + { + if($select_string =~ /.*$fields.*/) + { + if($field_string eq "") + { + $field_string = "$fields"; + } + else + { + $field_string .= ",$fields"; + } + next; + } + elsif($fields =~ /.*ALL.*/) + { + $select_string = "*"; + last; + } + else + { + if($field_string eq "") + { + $field_string = "$fields"; + } + else + { + $field_string .= ",$fields"; + } + $select_string .= ",$fields"; + } + } + + + #print select string to be used + print "\n" if($verbose); + warn "\n"; + $query_error_flag = 0; + #if select string equal 'ALL' get a list of all fields in specified table by querying database info tables. + if($select_string eq "*") + { + + my $query_column1 = "SELECT c.oid + FROM pg_catalog.pg_class c + LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE pg_catalog.pg_table_is_visible(c.oid) + AND c.relname ~ '^$table_name\$'"; + + my $attribute_query = "SELECT a.attname + FROM pg_catalog.pg_attribute a + WHERE a.attnum > 0 AND NOT a.attisdropped + AND a.attrelid = ($query_column1) + ORDER BY a.attnum;"; + + eval + { + $at = $db->prepare($attribute_query); + $at->execute() or die "Cannot execute: ".$at->errstr(); + }; + if($@) + {print "$@\n" if($verbose); warn "$@\n";} + + my $att_count = 0; + while ( defined ( my $attribues = $at->fetchrow_arrayref() ) ) + { + if($att_count > 0) + { + $select_string .= ",$table_name.@$attribues[0]"; + } + else + { + $select_string = "$table_name.@$attribues[0]"; + } + $att_count++; + } + $field_string = $select_string; + } + + #Check for lid in table + if($select_string !~ /$table_name\.lid/) + { + $lid_flag = lid_check($table_name); + } + + # Determine query depending on office type and other parameters + ## Revised query to properly select only counties from primary HSA or identified WFO - Ernie Wells February 09 ## + if($type eq "WFO") + { + if($wfoID eq 0) { + if($table_name =~ /location/) + { + $table_query = "SELECT $select_string FROM location, admin WHERE location.hsa = admin.hsa $extract_detail ORDER BY lid;"; + } elsif($table_name =~ /counties/) { + $table_query = "SELECT $select_string FROM counties, admin WHERE counties.wfo = admin.hsa;"; + } elsif($table_name =~ /rpffcstgroup/) { + $table_query = "SELECT distinct $select_string from rpffcstgroup join rpffcstpoint rp on rp.group_id = rpffcstgroup.group_id join location l on l.lid = rp.lid join admin on l.hsa = admin.hsa;"; + } elsif($table_name =~ /vtecevent/) { + $table_query = "SELECT $select_string FROM vtecevent WHERE vtecevent.geoid in (select location.lid from location, admin where location.hsa = admin.hsa) $extract_detail;"; + } elsif($table_name eq "height" || $table_name =~ /temperature/ || $table_name =~ /curpp/ || $table_name =~ /curpc/ || $table_name eq "discharge"){ + my $cutoff_dtime = getcutoffdate(); + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location, admin WHERE location.lid = $table_name.lid AND location.hsa = admin.hsa) and obstime > '$cutoff_dtime' $extract_detail ORDER BY lid;"; + } elsif($table_name =~ /fcstheight/ || $table_name =~ /fcstdischarge/) { + my $cutoff_dtime = getcutoffdate(); + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location, admin WHERE location.lid = $table_name.lid AND location.hsa = admin.hsa) and basistime > '$cutoff_dtime' $extract_detail ORDER BY lid;"; + } elsif($lid_flag == 1){ + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location, admin WHERE location.lid = $table_name.lid AND location.hsa = admin.hsa) $extract_detail ORDER BY lid;"; + } + else { + $table_query = "SELECT $select_string FROM $table_name\;"; + } + } + else { + if($table_name =~ /location/) + { + if($extract eq 0) { + $table_query = "SELECT $select_string FROM location WHERE location.hsa = '$wfoID' $extract_detail ORDER BY lid;"; + } else { + $table_query = "SELECT $select_string FROM location WHERE location.hsa like '%' $extract_detail ORDER BY lid;"; + } + } elsif($table_name =~ /counties/) { + if($extract eq 0) { + $table_query = "SELECT $select_string FROM counties WHERE counties.wfo = '$wfoID';"; + } else { + $table_query = "SELECT $select_string FROM counties WHERE counties.wfo in (select hsa from location where hsa is not null $extract_detail) ;"; + } + } elsif($table_name =~ /rpffcstgroup/) { + if($extract eq 0) { + $table_query = "SELECT distinct $select_string from rpffcstgroup join rpffcstpoint rp on rp.group_id = rpffcstgroup.group_id join location l on l.lid = rp.lid where l.hsa = '$wfoID';"; + } else { + my $rpgroup_extract_detail = $extract_detail; + $rpgroup_extract_detail =~ s/lid/l.lid/g; + $table_query = "SELECT distinct $select_string from rpffcstgroup join rpffcstpoint rp on rp.group_id = rpffcstgroup.group_id join location l on l.lid = rp.lid where l.hsa is not null $rpgroup_extract_detail;"; + } + } elsif($table_name =~ /vtecevent/) { + if($extract eq 0) { + $table_query = "SELECT $select_string FROM vtecevent WHERE vtecevent.geoid in (select location.lid from location where location.hsa = '$wfoID') ;"; + } else { + my $vtec_extract_detail = $extract_detail; + $vtec_extract_detail =~ s/lid/geoid/g; + print "vtec_extract_detail: $vtec_extract_detail\n"; + $table_query = "SELECT $select_string FROM vtecevent WHERE vtecevent.geoid in (select location.lid from location where location.hsa is not null) $vtec_extract_detail;"; + } + } elsif($table_name eq "height" || $table_name =~ /temperature/ || $table_name =~ /curpp/ || $table_name =~ /curpc/ || $table_name eq "discharge"){ + my $cutoff_dtime = getcutoffdate(); + if($extract eq 0) { + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location WHERE location.lid = $table_name.lid AND location.hsa = '$wfoID') and obstime > '$cutoff_dtime' ORDER BY lid;"; + } else { + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location WHERE location.lid = $table_name.lid ) and obstime > '$cutoff_dtime' $extract_detail ORDER BY lid;"; + } + } elsif($table_name =~ /fcstheight/ || $table_name =~ /fcstdischarge/) { + my $cutoff_dtime = getcutoffdate(); + if($extract eq 0) { + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location WHERE location.lid = $table_name.lid AND location.hsa = '$wfoID') and basistime > '$cutoff_dtime' ORDER BY lid;"; + } else { + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location WHERE location.lid = $table_name.lid) and basistime > '$cutoff_dtime' $extract_detail ORDER BY lid;"; + } + } elsif($lid_flag == 1) { + if($extract eq 0) { + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location WHERE location.lid = $table_name.lid AND location.hsa = '$wfoID') $extract_detail ORDER BY lid;"; + } else { + $table_query = "SELECT $select_string FROM $table_name WHERE exists (SELECT lid FROM location WHERE location.lid = $table_name.lid) $extract_detail ORDER BY lid;"; + } + } else { + $table_query = "SELECT $select_string FROM $table_name\;"; + } + } + } elsif($type eq "RFC") { + if($table_name =~ /location/) { + $table_query = "SELECT $select_string FROM location WHERE location.rfc='$rfcID' $extract_detail ORDER BY lid;"; + } elsif($lid_flag == 1) { + $table_query = "SELECT $select_string from $table_name where exists (select lid from location where +location.lid = $table_name.lid and location.rfc='$rfcID') $extract_detail ORDER BY lid;"; + # $table_query = "SELECT $select_string from $table_name where exists (select lid from location where +#location.lid=rating.lid and location.rfc='$rfcID') $extract_detail ORDER BY lid;"; + } else { + $table_query = "SELECT $select_string FROM $table_name\;"; + } + } + + # print the query for log purpose and execute the query + print "$table_query\n\n" if($verbose); + warn "$table_query\n\n"; + $record_count = 0; + eval + { + $st = $db->prepare($table_query); + $row = $db->selectall_arrayref($st,{Slice => {}}); + #$st->execute() or die "Cannot execute: ".$st->errstr(); + }; + if ($@) + { + print "$@\n" if($verbose); + warn "$@\n"; + $xml_string .= " \n"; + $query_error_flag = 1; + } + + # if no db error continue adding info to xml file for the table. + if($query_error_flag == 0) + { + $numrows = $st->rows; + print "Number of records obtained: $numrows\n" if($verbose); + warn "Number of records obtained: $numrows\n"; + if ($numrows == 0) + { + $xml_string .= "
\n"; + } + else + { + $xml_string .= "
\n"; + } + + foreach my $sref (@$row) + { + %infohash=%{$sref}; + #print record number to xml file + $xml_string .= " \n \n"; + + #print primary key to xml file + my $pk_count = 0; + foreach my $pk (@pk_output) + { + if($pk =~ /$table_name\.(.*)/) + { + $pk_name=$1; + #$infohash{$pk_name}=~ s/\r|\n//g; + $xml_string .= " <$pk>$infohash{$pk_name}\n"; + $pk_count++; + } + } + $xml_string .= " \n \n"; + @select_array = split(/,/, $field_string); + #start printing fields to xml file + my $field_count = 0; + foreach my $select (@select_array) + { + if($select =~ /.*$table_name\.(.*)/) + { + $field_name = $1; + if($infohash{$field_name} !~/^\s*$/) + { + #$infohash{$field_name} =~ s/\r|\n//g; + $xml_string .= " <$select>$infohash{$field_name}\n"; + } + else + { + $xml_string .= " <$select/>\n"; + } + $field_count++; + } + } + $xml_string .=" \n"; + $xml_string .=" \n"; + $record_count++; + } + + } + if($numrows != 0 && $query_error_flag == 0) + { + $xml_string .="
\n"; + } + @select_array = (); + $field_string = ""; + + print "\n---------------\n" if($verbose); + warn "\n---------------\n"; + +} +$xml_string .="
\n"; + +if ($type eq "WFO" && $wfoID eq 0) +{ + my $hsa_admin_query = "SELECT admin.hsa FROM admin;"; + my $st_admin; + eval + { + $st_admin = $db->prepare($hsa_admin_query); + $st_admin->execute() or die "Cannot execute: ".$st_admin->errstr(); + }; + if ($@) + { + print "$@\n" if($verbose); + warn "$@\n"; + } + while ( defined ( my $row = $st_admin->fetchrow_arrayref() ) ) + { + $wfoID = @$row[0]; + } + +} + +if($type eq "WFO") +{ + $file_name = "$wfoID\_from-$office\_nrldb.xml"; +} +elsif($type eq "RFC") +{ + $file_name = "$rfcID\_from-$office\_nrldb.xml"; +} + + +#determine output file +if($outFile eq 0) +{ + $outFile = $file_name; +} + +my $outDir; + +if( -e "/awips/hydroapps/public/bin/get_apps_defaults"){ + $outDir = `/awips/hydroapps/public/bin/get_apps_defaults.LX nrldb_data`; + + chomp($outDir); +} else { + print "Could not access /awips/hydroapps/public/bin/get_apps_defaults.LX. Exiting"; + exit -1; +} + +$outFile = $outDir . "/" . $outFile; +open(XMLFILE, ">$outFile") || die "Could not open $outFile for writing.\n$!\nExiting\n"; +printf XMLFILE "$xml_string"; +close(XMLFILE); + +my $end = $db->disconnect; +zip_xml($outFile); +} + +sub zip_xml +{ +my $filename = shift; +my $zip_string; + + $zip_string = "zip $filename.zip $filename"; + print "$zip_string\n" if($verbose); + warn "$zip_string\n"; + my $zip_exe = `$zip_string`; + print "$zip_exe\n" if($verbose); + warn "$zip_exe\n"; + print "Failed: \"$zip_string\"\n" if ($? && $verbose); + warn "Failed: \"$zip_string\"\n" if $?; +} + + +sub read_control_file +{ +my @fields_all; +my @tables; +my @fields; +my $table_name; +my $control_file; + +if($localControlFile eq 0) +{ + if($type eq "WFO") + { + $control_file = "${conf_dir}/nrldb_control_wfo"; + } + elsif($type eq "RFC") + { + $control_file = "${conf_dir}/nrldb_control_rfc"; + } +} +else +{ + $control_file = $localControlFile; +} +open(FILE, "$control_file") || die "Could not open control file: $control_file\n$!\nExiting\n"; +my @infile = ; +close(FILE); + +foreach my $line (@infile) +{ +chomp($line); + if($line =~ /^#.*$/) + { + next; + } + elsif($line =~ /\[(.*)\]/) + { + $table_name = $1; + push (@tables, $table_name); + } + elsif($line =~ /^(fields)/) + { + $line =~ /fields = (.*)/; + @fields = split(/,/, $1); + + foreach my $tmp_field (@fields) + { + $tmp_field =~ s/\s*//; + push(@fields_all, "$table_name.$tmp_field"); + } + } +} + + +return (\@tables, \@fields_all); +} + +sub extract_detail() +{ + +my $wfo = $office; +my $wfo_fh_pointer = 0; +my $info_found = 0; +my ($ex_type, $ex_list); +my @extract_lid; +my $uclid; +my $compare_symbol; +my $extract_query = ''; + +open(FILE, "nrldb_extract") || die "Could not open detail extract file nrldb_extract:\n$!\nExiting\n"; +my @infile = ; +close(FILE); + + foreach my $line (@infile) + { + chomp($line); + if($line =~ m/type:\s*(\w*)/) + {$ex_type= $1;} + if($line =~ m/list:\s*(.*)/) + { + $ex_list= $1; + if(defined($ex_type) && defined($ex_list)) + {$info_found = 1;} + } + + if($info_found eq 1) + {last;} + } + if($info_found eq 1) + { + print "EXTRACT: $ex_type, [$ex_list]\n" if($verbose); + warn "EXTRACT: $ex_type, [$ex_list]\n"; + @extract_lid = split(/,/,$ex_list); + + if(lc($ex_type) eq 'only') + {$compare_symbol = '=';} + elsif(lc($ex_type) eq 'except') + {$compare_symbol = '!=';} + else + { + print "Undefined extraction type '$ex_type', should be only|except\n" if($verbose); + warn "Undefined extraction type '$ex_type', should be only|except\n"; + return($extract_query); + } + # The following has been modified by Mark Armstrong HSD + # Originally, the query for multiple lids using the "only" extract + # was incorrect. It used the AND condition for each lid which + # would never be true. I added another if condition and a new + # for loop to handle this case. + if(lc($ex_type) eq 'only'){ + my $count = 0; + $extract_query=" AND ("; + foreach my $lid (@extract_lid) + { + if($lid eq '') + {next;} + + $uclid=uc($lid); + $uclid =~ s/\s*//g; + if ( $count eq 0) + { + $extract_query .= " lid $compare_symbol '$uclid'"; + } + else + { + $extract_query .= " OR lid $compare_symbol '$uclid'"; + } + $count = $count + 1; + } + $extract_query .= ") "; + } + else{ + foreach my $lid (@extract_lid) + { + if($lid eq '') + {next;} + + $uclid=uc($lid); + $uclid =~ s/\s*//g; + $extract_query .= " AND lid $compare_symbol '$uclid'"; + + } + } + } + return($extract_query); +} + +sub read_config_file() +{ + +my $dbname; +my $host; +my $pass; +my $user; +my $nrldb_host; +my $site_conf; +my $backup_host; +my $conf_file; + +if( -e "/awips/hydroapps/public/bin/get_apps_defaults") +{ + $conf_dir = `/awips/hydroapps/public/bin/get_apps_defaults.LX nrldb_config`; + chomp($conf_dir); + $conf_file = "${conf_dir}/nrldb.conf"; +} +else +{ + print "nrldb_conf token not specified. Exiting"; + exit -1; +} +open(FILE, "${conf_file}") || die "Could not open configuration ${conf_file}:\n$!\nExiting\n"; +my @infile = ; +close(FILE); + + foreach my $line (@infile) + { + chomp($line); + if($line =~ /(^\s*dbname\s*=\s*"(.*)")/) + { + $dbname = "$2"; + } + elsif($line =~ /(^\s*dbhost\s*=\s*"(.*)")/) + { + $host = "$2"; + } + elsif($line =~ /(^\s*dbpass\s*=\s*"(.*)")/) + { + $pass = "$2"; + } + elsif($line =~ /(^\s*dbuser\s*=\s*"(.*)")/) + { + $user = "$2"; + } + elsif($line =~ /(^\s*nrldb_host\s*=\s*"(.*)")/) + { + $nrldb_host = "$2"; + } + elsif($line =~ /(^\s*site\s*=\s*"(.*)")/) + { + $site_conf = "$2"; + } + elsif($line =~ /(^\s*backup_host\s*=\s*"(.*)")/) + { + $backup_host = "$2"; + } + + } + return($dbname, $host, $user, $pass, $nrldb_host, $site_conf, $backup_host); +} + + +sub xml_parse +{ +my $xmlfile = $inFile; # the file to parse +my $lineCount = 0; +my @rawLine; +my $last_f; +my $record_num; +my $table; +my ($i, $j, $k); +my ($PK_name, $PK_value, $Field_name, $Field_value); +sub insertValues($table, $record_num, $PK_name, $PK_value, $Field_name, $Field_value); + +print "Parsing and Inserting Values from $xmlfile into database\n\n" if($verbose); +warn "Parsing and Inserting Values from $xmlfile into database\n\n"; + +open(XML_FH, "$xmlfile") or die("Cant open file $xmlfile for reading: $!\nExiting\n"); +while () +{ + # $_ is the line that has set. + $rawLine[$lineCount] = "$_"; + $lineCount++; +} + + + +close(XML_FH); + +$i=0; + + while (!$last_f) + { + if ($rawLine[$i] =~ m//) + { + print "Current Table: $1\n" if($verbose); + warn "Current Table: $1\n"; + $table = $1; + while($rawLine[$i] !~ m/<\/Table>/) + { + if($rawLine[$i] =~ //) + { + $record_num = $1; + while ($rawLine[$i] !~ m/<\/Record>/) + { + if($rawLine[$i] =~ //) + { $i++; + $j = 0; + while($rawLine[$i] !~ m/<\/PK>/) + { + if($rawLine[$i] =~ m/<$table\.(.*?)>(.*)<\/$table\..*>/) + { + $$PK_name[$j] = $1; + $$PK_value[$j] = $2; + $j++; + } + elsif($rawLine[$i] =~ m/<$table\.(.*)\/>/) + { + $$PK_name[$j] = $1; + $$PK_value[$j] = "NULL"; + $j++; + } + elsif($rawLine[$i] =~ m/<$table\.(.*?)>.*/) + { + + {$$PK_name[$k] = $1;} + $$PK_value[$j] = ''; + do + { + $$PK_value[$j] .= $rawLine[$i]; + $i++; + } until ($rawLine[$i] =~ m/<\/$table\..*>$/); + $$PK_value[$j] .= $rawLine[$i]; + $$PK_value[$j] =~ s/^\s*<$table\.(.*)>//g; + $$PK_value[$j] =~ s/<\/$table\..*>$//g; #/ + $j++; + } + $i++; + } + } + if($rawLine[$i] =~ //) + { $i++; + $k = 0; + while($rawLine[$i] !~ m/<\/Fields>/) + { + if($rawLine[$i] =~ m/<$table\.(.*?)>(.*)<\/$table\..*>/) + { + $$Field_name[$k] = $1; + $$Field_value[$k] = $2; + $k++; + } + elsif($rawLine[$i] =~ m/<$table\.(.*)\/>/) + { + $$Field_name[$k] = $1; + $$Field_value[$k] = "NULL"; + $k++; + } + elsif($rawLine[$i] =~ m/<$table\.(.*?)>.*/) + { + + {$$Field_name[$k] = $1;} + $$Field_value[$k] = ''; + do + { + $$Field_value[$k] .= $rawLine[$i]; + $i++; + } until ($rawLine[$i] =~ m/<\/$table\..*>$/); + $$Field_value[$k] .= $rawLine[$i]; + $$Field_value[$k] =~ s/^\s*<$table\.(.*)>//g; + $$Field_value[$k] =~ s/<\/$table\..*>$//g; #/ + $k++; + } + $i++; + } + } + $i++; + } + &insertValues($table, $record_num, $PK_name, $PK_value, $Field_name, $Field_value); + $#$PK_name = -1; $#$PK_value = -1; $#$Field_name = -1; $#$Field_value = -1; + $total_count++; + } + $i++; + } + print "\tTotal Inserts: $insert_count\n" if($verbose); + warn "\tTotal Inserts: $insert_count\n"; + print "\tTotal Updates: $update_count\n" if($verbose); + warn "\tTotal Updates: $update_count\n"; + print "\tTotal Errors: $error_count\n" if($verbose); + warn "\tTotal Errors: $error_count\n"; + print "\tTOTAL: $total_count\n\n" if($verbose); + warn "\tTOTAL: $total_count\n\n"; + $insert_count = 0; + $update_count = 0; + $error_count = 0; + $total_count = 0; + } + elsif ($rawLine[$i] =~ /<\/NRLDB>/) + {$last_f = 1;} + else + {$i++;} + } + +} + +sub get_delete_list +{ + my @list; + my $table; + + open(FILE, "${conf_dir}/nrldb_control_delete") || die "Could not open detail extract file ${conf_dir}/nrldb_control_delete:\n$!\nExiting\n"; + my @infile = ; + close(FILE); + + foreach my $line (@infile) + { + chomp($line); + if($line =~ m/^\s*#/) + {next;} + + if($line =~ m/^\s*\w+\s*$/) + { + $line =~ s/\s*//g; + $table=lc($line); + push(@list, $table); + } + } + + return(\@list); +} + +sub deleteValues +{ + my $deleteTable = shift; + my $deleteWFO = $office; + my $lid_flag = lid_check($deleteTable); + my ($delete_query, $st); + + my ($delete_detail, $total); + + if($lid_flag == 1) + { + ($delete_detail, $total)=getDeleteLid($deleteTable); + if($total !=0) + { + $delete_query = "DELETE FROM $deleteTable $delete_detail\;"; + print "DELETE: $delete_query\n"; + } + } + else + { + $delete_query = "DELETE FROM $deleteTable\;"; + } + + eval + { + $st = $db->prepare($delete_query); + $st->execute() or die "Cannot execute: ".$st->errstr(); + }; + if($@) + {print "$@\n" if($verbose); warn "$@\n";} + +} + + +sub getDeleteLid +{ + +my $xmlfile = $inFile; # the file to parse +my $lineCount = 0; +my @rawLine; +my $last_f; +my $record_num; +my $table; +my ($i, $j, $k); +my $lid_name; + +my $deleteTable = shift; +my $total_count = 0; + +open(XML_FH, "$xmlfile") or die("Cant open file $xmlfile for reading: $!\nExiting\n"); +while () +{ + # $_ is the line that has set. + $rawLine[$lineCount] = "$_"; + $lineCount++; +} + +close(XML_FH); + +$i=0; +my $delete_str = ""; +my $last_lid = -1; + while (!$last_f) + { + if ($rawLine[$i] =~ m/
/) + { + print "Delete Table: $1\n" if($verbose); + warn "Delete Table: $1\n"; + $table = $1; + while($rawLine[$i] !~ m/<\/Table>/) + { + if($rawLine[$i] =~ //) + { + $record_num = $1; + while ($rawLine[$i] !~ m/<\/Record>/) + { + if($rawLine[$i] =~ //) + { $i++; + while($rawLine[$i] !~ m/<\/PK>/) + { + if($rawLine[$i] =~ m/<$table\.lid>(.*)<\/$table\.lid>/) + { + if(($last_lid != -1) && ($last_lid eq $1)) + {$i++; next;} + #print "$1\n"; + if ($total_count == 0) + { + $delete_str .= "WHERE $table.lid = '$1'"; + } + else + { + $delete_str .= " OR $table.lid = '$1'"; + } + + $last_lid = $1; + + } + $i++; + } + } + $i++; + } + $total_count++; + } + $i++; + } + print "\tTotal Delete LIDs: $total_count\n" if($verbose); + warn "\tTotal Delete LIDs: $total_count\n"; + $last_f = 1; + } + elsif ($rawLine[$i] =~ /<\/NRLDB>/) + {$last_f = 1;} + else + {$i++;} + } + #print "$delete_str, $total_count\n"; + return ($delete_str, $total_count); + +} + + +sub insertValues($table, $record_num, $PK_name, $PK_value, $Field_name, $Field_value) +{ + my $num; + my ($fields, $values); + my ($update_set, $update_where); + my $Field_value_quoted; + my $table = shift; + my $record_num = shift; + my $PK_name = shift; + my $PK_value = shift; + my $Field_name = shift; + my $Field_value = shift; + my $update_flag = 0; + my $st_handle; + my $insertrows; + + for($num = 0; $num <= $#$Field_value; $num++) + { + if($num == 0) + { + $fields = "($$Field_name[$num]"; + if($$Field_value[$num] ne "NULL") + { + $$Field_value[$num] = $db->quote($$Field_value[$num]); + $values = "($$Field_value[$num]"; + $update_set = "$$Field_name[$num]=$$Field_value[$num]"; + } + else + { + $values = "($$Field_value[$num]"; + $update_set = "$$Field_name[$num]=$$Field_value[$num]"; + } + } + else + { + $fields .= ", $$Field_name[$num]"; + if($$Field_value[$num] ne "NULL") + { + $$Field_value[$num] =~ s/\n//g; + $$Field_value[$num] =~ s/\r//g; + $$Field_value[$num] = $db->quote($$Field_value[$num]); + $values .= ", $$Field_value[$num]"; + $update_set .= ", $$Field_name[$num]=$$Field_value[$num]"; + } + else + { + $values .= ", $$Field_value[$num]"; + $update_set .= ", $$Field_name[$num]=$$Field_value[$num]"; + } + } + } + for($num = 0; $num <= $#$PK_name; $num++) + { + if($num == 0) + { + $$PK_value[$num] = $db->quote($$PK_value[$num]); + $update_where = "$$PK_name[$num]=$$PK_value[$num] "; + } + else + { + $$PK_value[$num] = $db->quote($$PK_value[$num]); + $update_where .= "AND $$PK_name[$num]=$$PK_value[$num]"; + } + } + + $fields .= ")"; + $values .= ")"; + my $insert_cmd = "INSERT INTO $table $fields VALUES $values\;"; + my $update_cmd = "UPDATE $table SET $update_set WHERE $update_where\;"; + + eval { + $insert_count++; + $st_handle = $db->prepare($insert_cmd); + $st_handle->execute() or die "Cannot execute: ".$st_handle->errstr(); + $insertrows = $st_handle->rows(); + if($insertrows == 0) + { + $insert_count--; + $error_count++; + print "ZERO ROWS FOR QUERY: $insert_cmd\n\n" if($verbose); + warn "ZERO ROWS FOR QUERY: $insert_cmd\n\n"; + } + }; + + if ($@) { + if($@ =~ /duplicate key/) + { + $update_flag = 1; + $insert_count--; + } + else + { + print "$@\n" if($verbose); + warn "$@\n"; + $insert_count--; + $error_count++; + print "INSERT ERROR ON QUERY: $insert_cmd\n\n" if($verbose); + warn "INSERT ERROR ON QUERY: $insert_cmd\n\n"; + + } + } + + if($update_flag == 1) + { + eval { + $update_count++; + $st_handle = $db->prepare($update_cmd); + $st_handle->execute() or die "Cannot execute: ".$st_handle->errstr(); + $insertrows = $st_handle->rows(); + if($insertrows == 0) + { + $update_count--; + $error_count++; + print "ZERO ROWS FOR QUERY: $update_cmd\n\n" if($verbose); + warn "ZERO ROWS FOR QUERY: $update_cmd\n\n"; + } + }; + + if ($@) { + print "$@\n" if($verbose); + warn "$@\n"; + $update_count--; + $error_count++; + print "UPDATE ERROR ON QUERY: $update_cmd\n\n" if($verbose); + warn "UPDATE ERROR ON QUERY: $update_cmd\n\n"; + } + } + +} + + +sub db_connect +{ +my $dbname = shift; +my $host = shift; +my $user = shift; +my $pass = shift; + +my %db_attr = ( + PrintError => 0, + RaiseError => 0, +); + +my $dsn = "DBI:Pg:dbname=$dbname;host=$host"; +my $db = DBI->connect($dsn, $user, $pass, \%db_attr) or die "Can't connect() to database $dbname: $DBI::errstr"; +return ($db); +} + +sub upload_xml +{ + print "---UPLOAD XML FILE----\n" if($verbose); + warn "---UPLOAD XML FILE----\n"; + my $upload_string = "rsync -av --chmod=ugo+rw $outFile.zip $nrldb_host\::nrldb_xml/"; + print "$upload_string\n" if($verbose); + warn "$upload_string\n"; + my $upload_exe = `$upload_string`; + print "$upload_exe\n" if($verbose); + warn "$upload_exe\n"; + print "Failed: \"$upload_string\"\n" if ($? && $verbose); + warn "Failed: \"$upload_string\"\n" if $?; + return; +} +sub download_control_file +{ + my $office_type = shift; + my $download_string; + print "---DOWNLOAD $office_type CONTROL FILE----\n" if($verbose); + warn "---DOWNLOAD $office_type CONTROL FILE----\n"; + + if ($office_type eq "WFO") + { + $download_string = "rsync -av $nrldb_host\::nrldb_control/nrldb_control_wfo ${conf_dir}/"; + } + elsif ($office_type eq "RFC") + { + $download_string = "rsync -av $nrldb_host\::nrldb_control/nrldb_control_rfc ${conf_dir}/"; + } + print "$download_string\n" if($verbose); + warn "$download_string\n"; + my $download_exe = `$download_string`; + print "$download_exe\n" if($verbose); + warn "$download_exe\n"; + print "Failed: \"$download_string\"\n" if ($? && $verbose); + warn "Failed: \"$download_string\"\n" if $?; + return; +} + +sub getdate() +{ +my ($Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime(time) ; +my $RealMonth = $Month + 1 ; # Months of the year are not zero-based +my $FixedYear; + +if ($Hour < 10) +{ + $Hour = "0" . $Hour +} + +if ($Minute < 10) +{ + $Minute = "0" . $Minute +} + +if ($Second < 10) +{ + $Second = "0" . $Second +} + +if ($RealMonth < 10) +{ + $RealMonth = "0" . $RealMonth; +} + +if ($Day < 10) +{ + $Day = "0" . $Day; +} + +if ($Year >= 100) +{ + $FixedYear = $Year - 100; +} +else +{ + $FixedYear = $Year; +} + +if ($FixedYear < 10) +{ + $FixedYear = "0" . $FixedYear; +} + +my $clean_date = "$Hour:$Minute:$Second $RealMonth/$Day/$FixedYear"; + +return($clean_date); +} + +sub lid_check { + my $table_name = shift; + my $at; + my $lid_flag = 0; + + my $query_column1 = "SELECT c.oid + FROM pg_catalog.pg_class c + LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE pg_catalog.pg_table_is_visible(c.oid) + AND c.relname ~ '^$table_name\$'"; + + my $attribute_query = "SELECT a.attname + FROM pg_catalog.pg_attribute a + WHERE a.attnum > 0 AND NOT a.attisdropped + AND a.attrelid = ($query_column1) + ORDER BY a.attnum;"; + + eval { + $at = $db->prepare($attribute_query); + $at->execute() or die "Cannot execute: ".$at->errstr(); + }; + if($@) { + print "$@\n"; + } + + while ( defined ( my $attribues = $at->fetchrow_arrayref() ) ) { + if(@$attribues[0] =~ /^lid$/) { + $lid_flag = 1; + } + } + +return ($lid_flag); +} + +BEGIN { + use CGI::Carp qw(carpout); + my $logDir; + if( -e "/awips/hydroapps/public/bin/get_apps_defaults"){ + $logDir = `/awips/hydroapps/public/bin/get_apps_defaults.LX nrldb_log`; + chomp($logDir); + } else { + print "Could not access /awips/hydroapps/public/bin/get_apps_defaults.LX. Exiting\n"; + exit -1; + } + print "log dirlogDir\n"; + my $log = "${logDir}/nrldb.log"; + open(LOG, ">>$log") or die "Unable to open $log. $! "; + carpout(*LOG); +} + +END { + my $date = `date`; + print LOG "End $0 at $date\tElapsed time: " . (time - $^T) . " seconds\n\n"; + close LOG; +} + +sub getcutoffdate() +{ +my ($Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = gmtime(time-172800) ; +my $RealMonth = $Month + 1 ; # Months of the year are not zero-based +my $FixedYear; + +if ($Hour < 10) +{ + $Hour = "0" . $Hour +} + +if ($Minute < 10) +{ + $Minute = "0" . $Minute +} + +if ($Second < 10) +{ + $Second = "0" . $Second +} + +if ($RealMonth < 10) +{ + $RealMonth = "0" . $RealMonth; +} + +if ($Day < 10) +{ + $Day = "0" . $Day; +} + + $FixedYear = $Year + 1900; + +my $clean_date = "$FixedYear-$RealMonth-$Day $Hour:$Minute"; + +return($clean_date); +} diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/send_nrldb_update.sh b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/send_nrldb_update.sh new file mode 100644 index 0000000000..4710156c93 --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/send_nrldb_update.sh @@ -0,0 +1,173 @@ +#!/bin/sh +############################################################################### +# This script is run at the field office to send ad-hoc updates to the NRLDB +# server, then on to the AHPS CMS. It can be run at any time. It is designed +# to send small, time-sensitive updates to the CMS. It takes two argument +# lists:-table table names (comma-separated) and -lid lid names +# (comma-separated). It parses the arguments, selects the updated data from +# the database and builds an SQL formatted text file for use on the nrldb and +# CMS databases. The SQL file contains a delete staement that deletes the +# pre-existing data for the lid/table combinations, before running the inserts +# +# Usage: send_nrldb_update.sh -table ,,... -lid ,,... +# Example: send_nrldb_update.sh -table rating,floodstmt -lid BRKM2,CBEM2 +# +if [ $# -ne 4 ] +then + echo "Incorrect number of arguments entered: $#" + echo "Correct Arguments are:" + echo "send_nrldb_update.sh -table table1,table2 -lid lid1,lid2" + echo "Any number of tables and lids may be specified, but they need to be in a comma separated list with no spaces between commas and table/lid names" + exit 0 +fi +# set up SOME environment variables for NRLDB applications +export apps_dir=/awips2/edex/data/share/hydroapps +export EDEX_HOME=/awips2/edex +export NRLDB_DATA=`get_apps_defaults nrldb_data` +export NRLDB_LOG=$(get_apps_defaults nrldb_log) +export NRLDB_CONFIG=$(get_apps_defaults nrldb_config) +export db_name=$(get_apps_defaults db_name) +export NRLDB_TMP=$(get_apps_defaults nrldb_tmp) +export PGUSER=awips + +# get the nrldb host and wfo from the nrldb.conf file/database +nrldb_host=`grep nrldb_host $NRLDB_CONFIG/nrldb.conf | cut -d= -f2 | sed 's/"//g' | sed 's/ //g'` +wfo=`psql -d $db_name -c "select hsa from admin;" | tail -3 | head -1 | sed -e 's/ //g'` +echo `date` + +# create the final SQL file that will be sent to the NRLDB host +timestamp=`date +%Y%m%d%H%N` +sql_file="${wfo}_update_${timestamp}.sql" +if [ -f $sql_file ] +then + rm $sql_file +fi + +# build the list of tables/lids to send +lid_list="XXXXX" +table_list="XXXXX" +while [ $# -gt 0 ] +do + case "$1" in + -lid) lid_list="$2,";shift;; + -table) table_list="$2,";shift;; + *) break;; + esac + shift +done + +# set the last update information for update_nrldb.pl to use +echo `date` > ${NRLDB_LOG}/last_nrldb_update.txt +up_lid_list=`echo $lid_list | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` +echo "lid list: $up_lid_list" >> ${NRLDB_LOG}/last_nrldb_update.txt +echo "table_list: $table_list" >> ${NRLDB_LOG}/last_nrldb_update.txt + +#loop through the tables/lids +if [ $table_list != "XXXXX" ] +then + pos=1 + table="XXXXX" + ltable=`echo $table | wc -m` + while [ $ltable -gt 4 ] + do + table=`echo $table_list | cut -d"," -f$pos` + pos=`expr $pos + 1` + ltable=`echo $table | wc -m` + if [ $ltable -gt 4 ] + then + lid="XXXXX" + lpos=1 + llid=`echo $lid | wc -m` + while [ $llid -gt 3 ] + do + lid=`echo $up_lid_list | cut -d"," -f$lpos` + lpos=`expr $lpos + 1` + llid=`echo $lid | wc -m` + if [ $llid -gt 3 ] + then + # fetch the values from the DB and edit them + export PGUSER=awips + touch $NRLDB_TMP/update.txt + chmod ugo+rw $NRLDB_TMP/update.txt + ls -l $NRLDB_TMP/update.txt + psql -d $db_name -c "copy (select * from $table where lid = '$lid') to '$NRLDB_TMP/update.txt' with delimiter '|';" + cp $NRLDB_TMP/update.txt ${NRLDB_DATA}/update.txt + sed -f ${NRLDB_CONFIG}/sed_script.txt ${NRLDB_TMP}/update.txt > ${NRLDB_DATA}/update11.txt + sed -e "s/|/'|'/g" ${NRLDB_DATA}/update11.txt > ${NRLDB_DATA}/update1.txt + sed -e "s/^/insert into $table values('/g" ${NRLDB_DATA}/update1.txt > ${NRLDB_DATA}/update2.txt + sed -e "s/$/');/g" ${NRLDB_DATA}/update2.txt > ${NRLDB_DATA}/update3.txt + sed -e "s/|/,/g" ${NRLDB_DATA}/update3.txt > ${NRLDB_DATA}/update4.txt + if [ -f "${NRLDB_DATA}/update.txt" ] + then + update_lines=`wc -l "${NRLDB_DATA}/update.txt" | cut -d" " -f1` + else + echo "No update file found". + update_lines=0 + fi + if [ $update_lines -gt 0 ] + then + if [ $table != "location" -a $table != "riverstat" ] + then + echo "delete from $table where lid = '$lid';" >> ${NRLDB_DATA}/$sql_file + fi + cat ${NRLDB_DATA}/update4.txt >> ${NRLDB_DATA}/$sql_file + fi + # location and riverstat require a special forecast since they have dependent tables via foreign keys + if [ $table = "location" ] + then + sql_stmt="update location set lid = '$lid'" + for col in county coe cpm detail elev hdatum hsa hu lat lon lremark lrevise name network rb rfc sbd sn state waro wfo wsfo type des det post stntype tzone + do + psql -d $db_name -c "select $col from location where lid = '$lid' and $col is not null;" > ${NRLDB_DATA}/update.txt + ct_zero=`grep -c "0 row" ${NRLDB_DATA}/update.txt` + if [ $ct_zero -eq 0 ] + then + export val=`cat ${NRLDB_DATA}/update.txt | head -3 | tail -1 | cut -c2-80` + new_val=`echo "$val" | sed -f ${NRLDB_CONFIG}/sed_script.txt` + sql_stmt="$sql_stmt, $col = '$new_val'" + fi + done + sql_stmt="$sql_stmt where lid = '$lid';" + echo $sql_stmt >> ${NRLDB_DATA}/$sql_file + + elif [ $table = "riverstat" ] + then + sql_stmt="update riverstat set lid = '$lid'" + for col in primary_pe bf cb da response_time threshold_runoff fq fs gsno level mile pool por rated lat lon remark rrevise rsource stream tide backwater vdatum action_flow wstg zd ratedat usgs_ratenum uhgdur use_latest_fcst + do + psql -d $db_name -c "select $col from riverstat where lid = '$lid' and $col is not null;" > ${NRLDB_DATA}/update.txt + ct_zero=`grep -c "0 row" ${NRLDB_DATA}/update.txt` + if [ $ct_zero -eq 0 ] + then + export val=`cat ${NRLDB_DATA}/update.txt | head -3 | tail -1 | cut -c2-80` + new_val=`echo "$val" | sed -f ${NRLDB_CONFIG}/sed_script.txt` + sql_stmt="$sql_stmt, $col = '$new_val'" + fi + done + sql_stmt="$sql_stmt where lid = '$lid';" + echo $sql_stmt >> ${NRLDB_DATA}/$sql_file + fi + fi + done + fi + + done + + # send the SQL file to the NRLDB server + if [ -f ${NRLDB_DATA}/$sql_file ] + then + rsync -av ${NRLDB_DATA}/$sql_file ${nrldb_host}\::nrldb_update/ + echo "SQL file: $sql_file created for lids: $up_lid_list and tables: $table_list" + else + echo "No SQL file created. Database contained no entries for lids: $up_lid_list and tables: $table_list" + fi +fi + +# remove the temp files to keep the directory clean +for temp_file in ${NRLDB_DATA}/update.txt ${NRLDB_DATA}/update11.txt ${NRLDB_DATA}/update1.txt ${NRLDB_DATA}/update2.txt ${NRLDB_DATA}/update3.txt ${NRLDB_DATA}/update4.txt +do + if [ -f $temp_file ] + then + rm $temp_file + fi +done diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/update_nrldb.pl b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/update_nrldb.pl new file mode 100644 index 0000000000..0a0a08728c --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/bin/update_nrldb.pl @@ -0,0 +1,274 @@ +#!/usr/bin/perl +################################################################################ +# update_nrldb.pl is the GUI for the Ad-Hoc update process. ## This process was put in place so that WFOs could update information # +# between daily runs of the NRLDB update process. The information is # +# collected at the WFO, sent to the NRLDB central server and then forwarded to # +# CMS servers outside of the AWIPS firewall. # +# # +# Developer: Mark Armstrong (OCWWS/HSD) # +# Developed 2011 - Modified for AWIPS2 2013 # +################################################################################ + +use Tk; +use strict; +use warnings; +use AppConfig qw(:expand :argcount); +use DBI; + +$ENV{EDEX_HOME}="/awips2/edex"; +$ENV{apps_dir}="/awips2/edex/data/share/hydroapps"; +our $BIN_DIR = `get_apps_defaults.LX whfs_bin_dir`; +chomp($BIN_DIR); +our $LOG_DIR = `get_apps_defaults.LX nrldb_log`; +chomp($LOG_DIR); +my $lids; +my $tables; + +# Set up some inial configuration. Most of this comes from the hydroGen input file: hg.cfg +$ENV{HYDROGENHOME} = "/awips/hydroapps/HydroGen" if ! defined $ENV{HYDROGENHOME}; +my %cfg = ( DEBUG => 0, # debug mode on or off + PEDANTIC => 0, # be patient with warnings/errors + CREATE => 1, # create variables, defining not required... + GLOBAL => { # for all config options unless overridden... + EXPAND => EXPAND_ALL, # expand ~, $ENV{*}, and $(var) + ARGCOUNT => ARGCOUNT_ONE, # each config expects an arg unless overriden... + ARGS => '=s' # each arg is a string unless overriden + } + ); + +my $config = AppConfig->new(\%cfg); # create config object + +$config->define('version',{ ALIAS => 'V',ARGCOUNT => ARGCOUNT_NONE, ARGS => '!',DEFAULT => 0}); +$config->define('help',{ ALIAS => 'h',ARGCOUNT => ARGCOUNT_NONE, ARGS => '!',DEFAULT => 0}); +$config->define('man',{ ALIAS => 'm',ARGCOUNT => ARGCOUNT_NONE, ARGS => '!',DEFAULT => 0}); +$config->define('DBengine',{ VALIDATE => '[\w]+',DEFAULT => "Pg"}); +$config->define('DBname',{ VALIDATE => '[\w]+',DEFAULT => "hd_ob8xxx"}); +$config->define('DBhost',{ VALIDATE => '[-\w]+',DEFAULT => "dx1f"}); +$config->define('DBport',{ ARGS => '=i',DEFAULT => 5432}); +$config->define('master',{ VALIDATE => '[.\w]+',DEFAULT => "HGstation"}); +$config->define('basedir',{ VALIDATE => '[- /.\w]+',DEFAULT => $ENV{HYDROGENHOME} . "/bin"}); + +$config->file($ENV{HYDROGENHOME} . "/input/hg.cfg"); # look in user's $HYDROGENHOME to find configured settings +$config->args(\@ARGV); # get config settings from the command-line, overwriting any settings from the file... + +my $master = $config->get('master'); # name of DB table or view which holds master list of IDs for which MXD files are to be generated... +my $DBengine = $config->get('DBengine'); +my $DBname = $config->get('DBname'); +my $DBhost = $config->get('DBhost'); +my $DBport = $config->get('DBport'); +my $baseDir = `pwd`; +chomp $baseDir; +my $DBstr; +my $wildcard; + +#Open a database connection and get the list of LIDs from the IHFS DB +if($DBengine eq "Pg") { + $DBstr = "dbi:$DBengine:dbname=$DBname;host=$DBhost;port=$DBport"; + $wildcard = '%'; +} else { + $DBstr = "dbi:$DBengine:$DBname"; + $wildcard = '*'; +} + +my $dbh = DBI->connect("$DBstr",undef,undef,{ChopBlanks => 1}) or warn $DBI::errstr; +# creates the list of WFOs based on the HydroGen .xxx_backup files +# and builds the query to create the list of LIDs +my $wfo=`ls -a /awips/hydroapps/HydroGen/ | grep _backup | cut -c2-4`; +my $list_len=length $wfo; +my $num_wfos=$list_len/4; +my $index=1; +my $off=0; +my $wfoid=substr($wfo,$off,3); +my $wfoID=uc $wfoid; +my $wfo_query = "(location.hsa = \'$wfoID\'"; +while ($index < $num_wfos){ + $off+=4; + $wfoid=substr($wfo,$off,3); + $wfoID=uc $wfoid; + $wfo_query .= " or location.hsa = \'$wfoID\'"; + $index++; +} +$wfo_query .= ")"; + +#my $list_type="river"; +our $mw = MainWindow->new; +$mw->title('Ad-Hoc NRLDB Update'); + +my $lst_lab= $mw->Label(-text => 'Add any Unlisted Locations (comma-separated): '); +my $sql = "select distinct hgstation.lid,location.name,location.hsa from hgstation,location where hgstation.lid = location.lid and $wfo_query order by 3,1;"; + +# get the list of LIDs +my $qhw = $dbh->prepare("$sql") or warn $DBI::errstr; + +our @lid_list; # = ($wildcard); + +#get the data from the DB +get_results($qhw,\@lid_list); +#print "ct: " . @lid_list; + +#set up a static array with the tables that are allowed for ad-hoc updates +#table_list is the actual name of the DB tables, while tabledesc is a friendlier description that is displayed to the user +our @table_list = ('location','riverstat','crest','floodstmt','hgstation','floodcat','lowwater'); +my @tabledesc = ('Location','Riverstat','Crest History','Impacts','HGstation','Flood Categories','Low Water'); + +$dbh->disconnect(); + +#manipulate the results of the lid/hsa/name query for better display +my @liddeschsa; +our @lidsend; +$index=0; +my $num_lids=scalar(@lid_list); +while ($index < $num_lids){ + my $line = $lid_list[$index]; +# print "line: $line\n"; + my @results = split('\|',$line); + #my $lid = $lid_list[$index]; + my $lid_lid = $results[0]; + my $lid_name = $results[1]; + my $lid_hsa = $results[2]; +# print "lid: $lid_lid name: $lid_name hsa: $lid_hsa\n"; + push(@liddeschsa,"$lid_hsa | $lid_lid | $lid_name"); + push(@lidsend,$lid_lid); + $index++; +} + +# Create the GUI object +#my $mw = MainWindow->new; +#$mw->title('Ad-Hoc NRLDB Update'); + +#my $lst_lab= $mw->Label(-text => 'Locations List: '); +#my $lst_rad_riv = $mw-> Radiobutton(-text=>'AHPS River Points', +# -value=>'river', -variable=>\$list_type); +#my $lst_rad_precip = $mw-> Radiobutton(-text=>'Precip Points', +# -value=>'precip', -variable=>\$list_type); +# Labels for the LID and table scroll boxes +my $misc_ent = $mw->Entry(); +my $label1 = $mw->Label(-text => 'HSA|LID|Location Name'); +my $label2 = $mw->Label(-text => 'Tables'); + +# Create the scroll boxes for the LIDs and tables +my $lb1 = $mw->Scrolled('Listbox', + -scrollbars => 'osoe',-width=>50, + -selectmode => 'multiple', -exportselection=>0); +my $lb2 = $mw->Scrolled('Listbox', + -scrollbars => 'osow',-width=>20, + -selectmode => 'multiple',-exportselection=>0); + +# Add the arrays that we want to display in the list boxes +$lb1->insert('end', @liddeschsa); +$lb2->insert('end', @tabledesc); + +# Create the buttons +my $exit = $mw->Button(-text => 'Exit', + -command => [$mw => 'destroy']); +my $send = $mw->Button(-text => 'Send', + -command => \&send_button); +my $show_log = $mw->Button(-text => 'Show Log', + -command => \&show_log); +my $update_list = $mw->Button(-text => 'Update List', -command => \&upd_list); +# create the label and text box for the last pdate window +my $status_box = $mw->Text(-width=>20, -height=>3); +my $lb_status = $mw->Label(-width=>20, -height=>3,-text=>"Last Ad-Hoc Update:"); +my $last_update = `cat $LOG_DIR/last_nrldb_update.txt`; + +$status_box->insert('end',"$last_update"); + +# Crate the GUI using grid to specify the physical locations of the objects +#$lst_rad_riv->grid(-row=>1, -column=>2, -columnspan=>1); +#$lst_rad_precip->grid(-row=>1, -column=>3, -columnspan=>1); +$label1->grid(-row=>1, -column=>1, -columnspan=>3) ; +$label2->grid(-row=>1, -column=>4) ; +$lb1->grid(-row=>2, -column=>1, -columnspan=>3, -sticky=>"ew") ;#pack; +$lb2->grid(-row=>2, -column=>4, -columnspan=>1, -sticky=>"w") ;#pack; +$lst_lab->grid(-row=>3, -column=>1, -columnspan=>1); +$misc_ent->grid(-row=>3, -column=>2); +$lb_status->grid(-row=>4, -column=>1); +$status_box->grid(-row=>4, -column=>2, -columnspan=>3, -sticky=>"ew"); +$send->grid(-row=>5, -column=>1) ;#pack; +$show_log->grid(-row=>5,-column=>2); +$exit->grid(-row=>5, -column=>4) ;#pack; + +MainLoop; + +# End of main +# +#sub upd_list { +# $mw => 'destroy'; +# my $cmd = "${DIR}/update_nrldb.pl.exp $list_type\n"; +# print "cmd: $cmd\n"; +# system($cmd); +#} + +# The Send button functionality function +sub send_button { + # Get the indices of the selected array items + my @LIDindex = $lb1->curselection; + my @Tableindex = $lb2->curselection; + my $index=1; + my $misc_lid = $misc_ent-> get(); + # build the lists of LIDs and tables + $tables = $table_list[$Tableindex[0]]; + my $numLIDs=@LIDindex; + print "numLIDs: $numLIDs\n"; + my $numTables=@Tableindex; + if ($numLIDs > 0){ + $lids = $lidsend[$LIDindex[0]]; + while ($index < $numLIDs){ + $lids .= "," . $lidsend[$LIDindex[$index]]; + $index++; + } + $lids .= "," . $misc_lid; + } else { + $lids=$misc_lid; + } + $index=1; + while ($index < $numTables){ + $tables .= "," . $table_list[$Tableindex[$index]]; + $index++; + } +# print "l0: ${lid_list[$LIDindex[0]]} t0: ${table_list[$Tableindex[0]]} lids: $lids tables: $tables\n"; + + # Create the call to the script and execute it using system() + my $cmd = "${BIN_DIR}/send_nrldb_update.sh -table $tables -lid $lids > ${LOG_DIR}/send_nrldb_update.log\n"; +# print "cmd: $cmd\n"; + system($cmd); + + # Create a dialog box to inform the user that their data has been sent + my $dsend=$mw->Dialog(-title=>'Sent NRLDB Update',-buttons=>['OK']); + my $text_field="NRLDB Update Sent for LIDs: $lids \n and tables: $tables\n"; +# my $addbox=$dsend->('Label',-text=>"$text_field")->pack(-side => 'left',-fill => 'both',-expand => 1); + my $box=$dsend->add('Label',-text=>"$text_field")->pack(-side => 'left',-fill => 'both',-expand => 1); + my $button = $dsend->Show; +} +# This subroutine, copied from Mark Fenbers bless program, takes a db query and returns an array of results +sub get_results +{ + my $qh = shift; + my $array = shift; + my $record; + +#print "qh: $qh\n"; + if(defined $qh) { + if($qh->execute(@_)) { + while($record = $qh->fetchrow_arrayref) { + foreach (@$record) { $_ = "" if ! defined $_; } + push @$array,(join '|',@$record); + } + } else { + warn $DBI::errstr; +# print $qh->errstr; + } + } else { warn "unable to prepare query \"$sql\"\n"; } +} + +#This subroutine displays the log from the send script in the form of a dialog box +sub show_log +{ + use Tk::Dialog; + my $text_field=`cat ${LOG_DIR}/send_nrldb_update.log`; + my $d = $mw->Dialog(-title=>'Show Log',-buttons => ['OK']); + my $box=$d->add('Label',-text=>"$text_field")->pack(-side => 'left',-fill => 'both',-expand => 1); + my $button = $d->Show; +# exit; +} + diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/nrldb.conf b/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/nrldb.conf new file mode 100644 index 0000000000..4a3ce4eb68 --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/nrldb.conf @@ -0,0 +1,6 @@ +dbhost = "dx1f" +dbuser = "awips" +dbpass = "" +nrldb_host = "165.92.28.1" +site = "CCC" +dbname = "hd_ob92ccc" diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/nrldb_control_wfo b/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/nrldb_control_wfo new file mode 100644 index 0000000000..f76ac5221e --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/nrldb_control_wfo @@ -0,0 +1,174 @@ +#NRLDB national configuration file +# +# +[hsa] +fields = ALL + +[wfo] +fields = ALL + +[state] +fields = ALL + +[counties] +fields = ALL + +[network] +fields = ALL + +[rfc] +fields = ALL + +[timezone] +fields = ALL + +#[admin] +#fields = ALL + +[coopcomms] +fields = ALL + +[cooprecip] +fields = ALL + +[coopspons] +fields = ALL + +[dcpowner] +fields = ALL + +#[eligzon] +#fields = ALL + +[gagemaint] +fields = ALL + +[gageowner] +fields = ALL + +[gagetype] +fields = ALL + +[proximity] +fields = ALL + +[telmtype] +fields = ALL + +[telmowner] +fields = ALL + +[telmpayor] +fields = ALL + +[resowner] +fields = ALL + +[damtypes] +fields = ALL + +[location] +fields = ALL + +[riverstat] +fields = ALL + +[benchmark] +fields = lid, bnum, elev, remark + +[observer] +fields = ALL + +#[zonenum] +#fields = lid, state, zonenum + +[reservoir] +fields = ALL + +[crest] +fields = ALL + +[datum] +fields = ALL + +#[dcp] +#fields = ALL +[dcp] +fields = lid, criteria, owner, goes, rptfreq, rptime, notify, obsvfreq, randrept + +[descrip] +fields = ALL + +[flood] +fields = ALL + +[floodcat] +fields = ALL + +[floodstmt] +fields = ALL + +[gage] +fields = ALL + +[lowwater] +fields = ALL + +[pub] +fields = ALL + +[refer] +fields = ALL + +#[telem] +#fields = ALL +[telem] +fields = lid, type, payor, cost, criteria, owner, phone, sensorid, rptfreq, notify, obsvfreq + +[rating] +fields = ALL + +[ratingshift] +fields = ALL + +[contacts] +fields = ALL + +[countynum] +fields = ALL + +[unitgraph] +fields = ALL + +[hgstation] +fields = ALL + +#[floodts] +#fields = ALL + +[lwstmt] +fields = ALL + +[rpffcstgroup] +fields = ALL + +[rpffcstpoint] +fields = ALL + +[locdatalimits] +fields = lid,pe,dur,monthdaystart,monthdayend,gross_range_min,gross_range_max,reason_range_min,reason_range_max,roc_max + +[sshpconfig] +fields = ALL + +[shefpe] +fields = ALL + +[shefdur] +fields = ALL + +#[ingestfilter] +#fields = ALL + +[locarea] +fields = ALL diff --git a/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/sed_script.txt b/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/sed_script.txt new file mode 100644 index 0000000000..99f27bad14 --- /dev/null +++ b/nativeLib/files.native/awipsShare/hydroapps/whfs/local/data/app/nrldb/sed_script.txt @@ -0,0 +1 @@ +s/'/\\'/g diff --git a/nativeLib/files.native/edex/bin/runso b/nativeLib/files.native/edex/bin/runso old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/libXm.so b/nativeLib/files.native/edex/lib/native/linux32/libXm.so deleted file mode 120000 index 3dbebb4cbf..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libXm.so +++ /dev/null @@ -1 +0,0 @@ -libXm.so.2.0.1 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libXm.so b/nativeLib/files.native/edex/lib/native/linux32/libXm.so new file mode 100755 index 0000000000..7a74015dbc Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libXm.so differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libXm.so.2 b/nativeLib/files.native/edex/lib/native/linux32/libXm.so.2 deleted file mode 120000 index 3dbebb4cbf..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libXm.so.2 +++ /dev/null @@ -1 +0,0 @@ -libXm.so.2.0.1 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libXm.so.2 b/nativeLib/files.native/edex/lib/native/linux32/libXm.so.2 new file mode 100755 index 0000000000..7a74015dbc Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libXm.so.2 differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so deleted file mode 120000 index 2b523808e8..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so +++ /dev/null @@ -1 +0,0 @@ -libecpg.so.6.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so new file mode 100644 index 0000000000..25f7c7205e Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6 b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6 deleted file mode 120000 index 2b523808e8..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6 +++ /dev/null @@ -1 +0,0 @@ -libecpg.so.6.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6 b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6 new file mode 100644 index 0000000000..25f7c7205e Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6 differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6.0 b/nativeLib/files.native/edex/lib/native/linux32/libecpg.so.6.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so deleted file mode 120000 index ef1aab9b6b..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so +++ /dev/null @@ -1 +0,0 @@ -libecpg_compat.so.3.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so new file mode 100644 index 0000000000..528ffbacb8 Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3 b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3 deleted file mode 120000 index ef1aab9b6b..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3 +++ /dev/null @@ -1 +0,0 @@ -libecpg_compat.so.3.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3 b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3 new file mode 100644 index 0000000000..528ffbacb8 Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3 differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3.0 b/nativeLib/files.native/edex/lib/native/linux32/libecpg_compat.so.3.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so deleted file mode 120000 index 9802e72fb8..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so +++ /dev/null @@ -1 +0,0 @@ -libjasper.so.1.0.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so new file mode 100644 index 0000000000..7f23227c4d Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1 b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1 deleted file mode 120000 index 9802e72fb8..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1 +++ /dev/null @@ -1 +0,0 @@ -libjasper.so.1.0.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1 b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1 new file mode 100644 index 0000000000..7f23227c4d Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1 differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1.0.0 b/nativeLib/files.native/edex/lib/native/linux32/libjasper.so.1.0.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so deleted file mode 120000 index 00a965dc26..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so +++ /dev/null @@ -1 +0,0 @@ -libpgtypes.so.3.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so new file mode 100644 index 0000000000..c7319c7b3e Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3 b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3 deleted file mode 120000 index 00a965dc26..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3 +++ /dev/null @@ -1 +0,0 @@ -libpgtypes.so.3.0 \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3 b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3 new file mode 100644 index 0000000000..c7319c7b3e Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3 differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3.0 b/nativeLib/files.native/edex/lib/native/linux32/libpgtypes.so.3.0 old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/library.empty.motif.so b/nativeLib/files.native/edex/lib/native/linux32/library.empty.motif.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/library.ohd.util.so b/nativeLib/files.native/edex/lib/native/linux32/library.ohd.util.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/library.ohd.whfs.so b/nativeLib/files.native/edex/lib/native/linux32/library.ohd.whfs.so old mode 100755 new mode 100644 diff --git a/nativeLib/files.native/edex/lib/native/linux32/libtcl.so b/nativeLib/files.native/edex/lib/native/linux32/libtcl.so deleted file mode 120000 index c54e1a7b97..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libtcl.so +++ /dev/null @@ -1 +0,0 @@ -libtcl8.5.so \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libtcl.so b/nativeLib/files.native/edex/lib/native/linux32/libtcl.so new file mode 100755 index 0000000000..af6cd8c81b Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libtcl.so differ diff --git a/nativeLib/files.native/edex/lib/native/linux32/libtk.so b/nativeLib/files.native/edex/lib/native/linux32/libtk.so deleted file mode 120000 index 191103dc66..0000000000 --- a/nativeLib/files.native/edex/lib/native/linux32/libtk.so +++ /dev/null @@ -1 +0,0 @@ -libtk8.5.so \ No newline at end of file diff --git a/nativeLib/files.native/edex/lib/native/linux32/libtk.so b/nativeLib/files.native/edex/lib/native/linux32/libtk.so new file mode 100755 index 0000000000..9c307e4ab6 Binary files /dev/null and b/nativeLib/files.native/edex/lib/native/linux32/libtk.so differ diff --git a/nativeLib/files.native/files.native.ecl b/nativeLib/files.native/files.native.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/nativeLib/ncep_grib2module/dependencies/src/g2clib-1.1.8/g2_getfld.c b/nativeLib/ncep_grib2module/dependencies/src/g2clib-1.1.8/g2_getfld.c old mode 100755 new mode 100644 diff --git a/nativeLib/ncep_grib2module/dependencies/src/g2clib-1.1.8/g2_unpack3.c b/nativeLib/ncep_grib2module/dependencies/src/g2clib-1.1.8/g2_unpack3.c old mode 100755 new mode 100644 diff --git a/nativeLib/rary.meteorological/src/dcapeFunc.c b/nativeLib/rary.meteorological/src/dcapeFunc.c old mode 100755 new mode 100644 diff --git a/nativeLib/rary.ohd.pproc/src/MPEFieldGen/TEXT/main_mpe_fieldgen.c b/nativeLib/rary.ohd.pproc/src/MPEFieldGen/TEXT/main_mpe_fieldgen.c index 109d64e57b..cbaa91f41d 100644 --- a/nativeLib/rary.ohd.pproc/src/MPEFieldGen/TEXT/main_mpe_fieldgen.c +++ b/nativeLib/rary.ohd.pproc/src/MPEFieldGen/TEXT/main_mpe_fieldgen.c @@ -174,7 +174,7 @@ void main_mpe_fieldgen_for_calls_from_editor(int num_args, char ** args) sprintf ( message , "\t\tMPE Precip Processing -- %s\n", strTempTime) ; printMessage( message, logFile ); - sprintf ( message , "\t\tLast Modification: August 1, 2013 \n") ; + sprintf ( message , "\t\tLast Modification: September 19, 2013 \n") ; printMessage( message, logFile ); sprintf ( message , "\t\t \n") ; printMessage( message, logFile ); diff --git a/nativeLib/rary.ohd.pproc/src/MPEGui/TEXT/read_field_data_RFCW.c b/nativeLib/rary.ohd.pproc/src/MPEGui/TEXT/read_field_data_RFCW.c index 068d0d46c0..55dc06d34b 100644 --- a/nativeLib/rary.ohd.pproc/src/MPEGui/TEXT/read_field_data_RFCW.c +++ b/nativeLib/rary.ohd.pproc/src/MPEGui/TEXT/read_field_data_RFCW.c @@ -201,21 +201,6 @@ void display_field_data_RFCW ( enum DisplayFieldData display_data , idate = date.month*1000000 + date.day*10000 + date.year; sprintf(fname,"%s/%s%08d%02dz",dirname,cv_use_tmp,idate,date.hour); } - else if ( display_data == display_satPrecip ) - { - iyr = date.year ; - imo = date.month ; - ida = date.day ; - ihr = date.hour ; - im = 0 ; - is = 0 ; - tdiff = -1 ; - tunit = 2 ; - TADJ ( & iyr , & imo , & ida , & ihr , & im , & is , & tdiff , & tunit ) ; - sprintf ( fname , "%s/%4d%02d%02d_%02d00.multi" , dirname , iyr , imo , - ida , ihr ) ; - - } else if ( display_data == display_rfcMosaic ) { sprintf(fname,"%s/%s01%sz",dirname,cv_use_tmp,date.cdate); @@ -225,16 +210,10 @@ void display_field_data_RFCW ( enum DisplayFieldData display_data , sprintf(fname,"%s/%s%sz",dirname,cv_use_tmp,date.cdate); } - if ( display_data != display_satPrecip ) - { - len_fname = strlen ( fname ) ; - display_field_read_xmrg ( data_array_tmp , fname, addition_flag , rowSize, colSize ); - } - else - { - /* Special logic to process the satellite image. */ - display_field_read_spe ( data_array_tmp , fname, addition_flag ) ; - } + len_fname = strlen ( fname ) ; + display_field_read_xmrg ( data_array_tmp , fname, addition_flag , rowSize, colSize ); + + } diff --git a/nativeLib/rary.ohd.pproc/src/nc2grib/TEXT/main_nc2grib.c b/nativeLib/rary.ohd.pproc/src/nc2grib/TEXT/main_nc2grib.c index 3f1999801e..65d485b2c0 100644 --- a/nativeLib/rary.ohd.pproc/src/nc2grib/TEXT/main_nc2grib.c +++ b/nativeLib/rary.ohd.pproc/src/nc2grib/TEXT/main_nc2grib.c @@ -65,6 +65,14 @@ * * This is still a work in progress and code can always be improved to increase efficiency. * +* Oct 2011 - PTilles - added read of new token for defining number of days of data to process +* +* Sep 2012 -Dan Stein - The original nc2grib program assumed the first variable in the +* NetCDF file (variable[0]) would be the data variable to be converted to grib format. The +* nc2grib tool was hard-coded to only look at variable[0]. In AWIPS-II, GFE began putting +* the history variable first and the data variable last, so nc2grib never found the data +* variable. The fix I implemented searches through all the variables in the NetCDF file +* to see wheter the data variable in question is present. **********************************************************************************************/ #include #include @@ -111,7 +119,7 @@ */ typedef struct { - char process[11]; + char GFEParameterName[11]; char gfename[20]; int processid; int gribnum; @@ -204,9 +212,9 @@ int nc2grib_main (int argc, char *argv[]) /* for reading the NetCDF file */ - int cdfid; /* Netcdf id */ + int NetCDF_ID; /* Netcdf id */ int ndims; /* number of dimensions */ - int nvars; /* number of variables */ + int numVars; /* number of variables */ int ngatts; /* number of attributes */ int recdim; long start[] = {0, 0, 0}; /* start at first value */ @@ -254,13 +262,13 @@ int nc2grib_main (int argc, char *argv[]) int *gridPointLL, *gridPointUR; double x1, y1, x2, y2, lat1, lon1, lat2, lon2; nc_type vt_type, dn_type, ll_type, d_type, g_type; - nc_type cdfvar_type; + nc_type varDataType; int vt_len, ll_len, d_len, g_len; - int cdfvar_id, *gridSize; - int cdfvar_ndims; - int cdfvar_dims[MAX_VAR_DIMS]; - int cdfvar_natts; - char varname[MAX_NC_NAME]={'\0'}; + int variableID, *gridSize; + int numberOfVariableDimensions; + int dimensionIDVector[MAX_VAR_DIMS]; + int numAttributes; + char variableName[MAX_NC_NAME]={'\0'}; char dimname[MAX_NC_NAME]={'\0'}; char siteID[MAX_NC_NAME]={'\0'}; char cdfunits[MAX_NC_NAME]={'\0'}; @@ -353,6 +361,8 @@ int nc2grib_main (int argc, char *argv[]) output_buffer = (size_t *) malloc (sizeof(size_t)*odim); /* output buffer used when writing GRIB message */ + int variableFound = FALSE; /* Is the variable present in the NetCDF file? Stein Sep 2012 */ + /* output_buffer = (int *) malloc (sizeof(int)*odim); /* output buffer used when writing GRIB message */ if(output_buffer==NULL) @@ -727,9 +737,6 @@ int nc2grib_main (int argc, char *argv[]) case '?': printf("Unrecognized program command line option: -%c\n", optopt); errflag++; - - - } } @@ -810,16 +817,16 @@ int nc2grib_main (int argc, char *argv[]) if(fileline[0] != '#') /* check for comments */ { - sscanf(fileline,"%s%s%d%d%d%d%d",gfe2grib.process, gfe2grib.gfename, &gfe2grib.processid, + sscanf(fileline,"%s%s%d%d%d%d%d",gfe2grib.GFEParameterName, gfe2grib.gfename, &gfe2grib.processid, &gfe2grib.gribnum,&gfe2grib.decscale, &gfe2grib.timerange, &gfe2grib.timeunit); if(debugflag>0) - printf(" DEBUG: Read in from gfe2grib.txt %s %s %d %d %d %d %d \n",gfe2grib.process, gfe2grib.gfename, gfe2grib.processid, + printf(" DEBUG: Read in from gfe2grib.txt %s %s %d %d %d %d %d \n",gfe2grib.GFEParameterName, gfe2grib.gfename, gfe2grib.processid, gfe2grib.gribnum,gfe2grib.decscale, gfe2grib.timerange, gfe2grib.timeunit); -/* if (strstr(gfe2grib.process, process)!=NULL) */ /* found a problem using this. try next if instead */ +/* if (strstr(gfe2grib.GFEParameterName, process)!=NULL) */ /* found a problem using this. try next if instead */ - if (!(strcmp(gfe2grib.process, process))) + if (!(strcmp(gfe2grib.GFEParameterName, process))) { found = 1; @@ -884,9 +891,9 @@ int nc2grib_main (int argc, char *argv[]) sprintf(fn,"%s/%s",inpath,infn); - cdfid=ncopen(fn,NC_NOWRITE); + NetCDF_ID=ncopen(fn,NC_NOWRITE); - if (cdfid==-1) + if (NetCDF_ID==-1) { printf("\n ERROR: Could not open the netcdf file: %s\n", fn); return CDFERR; @@ -899,7 +906,7 @@ int nc2grib_main (int argc, char *argv[]) /* Inquire about the Netcdf file: No.of dimensions, No.of variables, No. of global attributes etc.*/ - ncinquire (cdfid, &ndims, &nvars, &ngatts, &recdim); + ncinquire (NetCDF_ID, &ndims, &numVars, &ngatts, &recdim); /*************************************************************************/ /* debug */ @@ -907,40 +914,92 @@ if (debugflag >0) { printf("\n Debug option on. Debug info from reading the netcdf file follows:\n\n"); printf (" Number of dimensions for this netcdf file is: %d\n",ndims); - printf (" Number of variables for this netcdf file is: %d\n",nvars); + printf (" Number of variables for this netcdf file is: %d\n",numVars); printf (" Number of global attributes for this netcdf file is: %d\n",ngatts); } /*************************************************************************/ + /************************************************************************** + * Sep 2012 - Stein The utility that takes GFE data and converts it to + * NetCDF format is ifpNetCDF. To the best of my knowledge, this utility + * always puts exactly one variable and exactly one history variable into + * each NetCDF file. The section of code below originally assumed that the + * germane variable (i.e. the non-history variable) was always the first one + * in the file. It was hard-coded to look at variableID 0. + * + * For whatever reason, this order was changed in AWIPS-II so that the + * history variable showed up first and the program wouldn't work. I was + * tasked with correcting this program to make it order independent. My + * solution was to loop through all the variables to see whether the + * variable we're looking for is in the NetCDF file. If it is, variableID + * is set to it's value. If not found, the program will exit as it did + * before. + * + * In addition to inserting the section of code below, I also + * changed a few variable names to make the code more understandable. + *************************************************************************/ - cdfvar_id = 0; /* this should not change for this application as the first variable will be the one - that contains the QPF, Temp, etc. */ + /* Below, I loop through all the variables, checking the name of each one + * against gfe2grib.gfename. + */ - ncvarinq (cdfid, cdfvar_id, varname, &cdfvar_type, &cdfvar_ndims, cdfvar_dims, &cdfvar_natts); + variableID = 0; /* Start with the 1st variable in the NetCDF file */ + variableFound = FALSE; /* We haven't found it yet */ - - printf ("\n NetCDF variable name = %s\n",varname); -/***********************************************************************/ -if (debugflag>0) -{ - printf (" Number of %s dimensions - %d\n",varname, cdfvar_ndims); - printf (" Number of %s attributes - %d\n\n",varname, cdfvar_natts); -} -/**********************************************************************/ - if (strstr(varname,gfe2grib.gfename)==NULL) + while ( (variableID < numVars) && (!variableFound) ) { - printf("ERROR: The parameter name in the GFE NetCDF file, %s, doe not match the one\n" \ + /* Get Information about each variable from its ID (NetCDF variable + * inquiry). + */ + ncvarinq (NetCDF_ID, variableID, variableName, &varDataType, &numberOfVariableDimensions, + dimensionIDVector, &numAttributes); + + /***********************************************************************/ + if (debugflag) + { + printf ("\nNetCDF variable name = %s\n",variableName); + printf (" Number of %s dimensions - %d\n", variableName, numberOfVariableDimensions); + printf (" Number of %s attributes - %d\n\n", variableName, numAttributes); + } + /**********************************************************************/ + + if (strcmp(variableName, gfe2grib.gfename) == 0) /* Found it! */ + { + variableFound = TRUE; + } + else /* Didn't find it - try the next variable */ + { + ++variableID; /* Increment variableID, look at the next variable */ + } + + } /* while ( (variableID < numVars) && (!variableFound) ) */ + + + if (!variableFound) /* If the variable wasn't in the NetCDF file */ + { + printf("ERROR: The parameter name in the GFE NetCDF file, %s, does not match the one\n" \ "associated with the process id in the gfe2grib.txt file.\n" \ - "In gfe2grib.txt process ID %s is associated with GFE parameter name %s.\n" \ - "Please specify the correct process ID and try again\n\n",varname,gfe2grib.process,gfe2grib.gfename); + "In gfe2grib.txt process ID %s is associated with GFE parameter name %s.\n" \ + "Please specify the correct process ID and try again\n\n", + variableName,gfe2grib.GFEParameterName,gfe2grib.gfename); return CDFERR; } - if(cdfvar_ndims==3) /* in some cases, this may not be true if file is produced from MPE/DQC */ + + /* Sep 2012 - Stein Aside from changing some variable names, this is the + * end of the section of code that I changed. + */ + + + + + + + if(numberOfVariableDimensions==3) /* in some cases, this may not be true if file is produced from MPE/DQC */ { - for (i=0; i0) { printf("\n Number of dimensions is %d, which is too many dimensions for variable %s.\n" \ " Please ensure the NetCDF file is created properly for at most three dimensions, where\n" \ - " the first dimension allows the NetCDF file to contain multiple records.\n",cdfvar_ndims,varname); + " the first dimension allows the NetCDF file to contain multiple records.\n",numberOfVariableDimensions,variableName); return CDFERR; } @@ -963,14 +1022,14 @@ if (debugflag >0) } } - else if (cdfvar_ndims==2) + else if (numberOfVariableDimensions==2) { - for (i=0; i0) printf("\n nc2grib is not coded to handle %d number of dimensions for variable %s.\n" \ " Please ensure the NetCDF file is created properly for two or three dimensions, where\n" \ " two dimensions indicates only 1 record of the variable and three dimensions allow\n" \ - " the NetCDF file to contain multiple records.\n",cdfvar_ndims,varname); + " the NetCDF file to contain multiple records.\n",numberOfVariableDimensions,variableName); return CDFERR; } @@ -1004,59 +1063,59 @@ if (debugflag >0) long count[]={1,y,x}; long count1r[]={y,x}; - ncattinq(cdfid,cdfvar_id,"validTimes",&vt_type,&vt_len); + ncattinq(NetCDF_ID,variableID,"validTimes",&vt_type,&vt_len); validTimes = (long *) malloc(vt_len * nctypelen(vt_type)); - ncattget(cdfid, cdfvar_id, "validTimes", validTimes); + ncattget(NetCDF_ID, variableID, "validTimes", validTimes); - ncattget(cdfid, cdfvar_id, "descriptiveName", descriptName); + ncattget(NetCDF_ID, variableID, "descriptiveName", descriptName); - ncattget(cdfid, cdfvar_id, "siteID", siteID); + ncattget(NetCDF_ID, variableID, "siteID", siteID); - ncattget(cdfid, cdfvar_id, "units", cdfunits); + ncattget(NetCDF_ID, variableID, "units", cdfunits); - ncattget(cdfid, cdfvar_id, "projectionType", projection); + ncattget(NetCDF_ID, variableID, "projectionType", projection); - ncattinq(cdfid,cdfvar_id,"latLonLL",&ll_type,&ll_len); + ncattinq(NetCDF_ID,variableID,"latLonLL",&ll_type,&ll_len); latlonLL = (double *) malloc(ll_len * nctypelen(ll_type)); - ncattget(cdfid, cdfvar_id, "latLonLL", (void *) latlonLL); + ncattget(NetCDF_ID, variableID, "latLonLL", (void *) latlonLL); latlonUR = (double *) malloc(ll_len * nctypelen(ll_type)); - ncattget(cdfid, cdfvar_id, "latLonUR", (void *) latlonUR); + ncattget(NetCDF_ID, variableID, "latLonUR", (void *) latlonUR); - ncattinq(cdfid,cdfvar_id,"domainOrigin",&d_type,&d_len); + ncattinq(NetCDF_ID,variableID,"domainOrigin",&d_type,&d_len); domainOrigin = (double *) malloc(d_len * nctypelen(d_type)); - ncattget(cdfid, cdfvar_id, "domainOrigin", (void *) domainOrigin); + ncattget(NetCDF_ID, variableID, "domainOrigin", (void *) domainOrigin); - ncattinq(cdfid,cdfvar_id,"domainExtent",&d_type,&d_len); + ncattinq(NetCDF_ID,variableID,"domainExtent",&d_type,&d_len); domainExtent = (double *) malloc(d_len * nctypelen(d_type)); - ncattget(cdfid, cdfvar_id, "domainExtent", (void *) domainExtent); + ncattget(NetCDF_ID, variableID, "domainExtent", (void *) domainExtent); - ncattinq(cdfid,cdfvar_id,"gridSize",&g_type,&g_len); + ncattinq(NetCDF_ID,variableID,"gridSize",&g_type,&g_len); gridSize = (int *) malloc(g_len * nctypelen(g_type)); - ncattget(cdfid, cdfvar_id, "gridSize", (void *) gridSize); + ncattget(NetCDF_ID, variableID, "gridSize", (void *) gridSize); - ncattinq(cdfid,cdfvar_id,"gridPointLL",&g_type,&g_len); + ncattinq(NetCDF_ID,variableID,"gridPointLL",&g_type,&g_len); gridPointLL = (int *) malloc(g_len * nctypelen(g_type)); - ncattget(cdfid, cdfvar_id, "gridPointLL", (void *) gridPointLL); + ncattget(NetCDF_ID, variableID, "gridPointLL", (void *) gridPointLL); - ncattinq(cdfid,cdfvar_id,"gridPointUR",&g_type,&g_len); + ncattinq(NetCDF_ID,variableID,"gridPointUR",&g_type,&g_len); gridPointUR = (int *) malloc(g_len * nctypelen(g_type)); - ncattget(cdfid, cdfvar_id, "gridPointUR", (void *) gridPointUR); + ncattget(NetCDF_ID, variableID, "gridPointUR", (void *) gridPointUR); /* initialize the array to missing value */ @@ -1246,7 +1305,7 @@ if (debugflag >0) grib_lbl[41]=0; grib_lbl[42]=0; - ncattget(cdfid, cdfvar_id, "lonOrigin", &lonOrigin); + ncattget(NetCDF_ID, variableID, "lonOrigin", &lonOrigin); grib_lbl[34]=lonOrigin*1000.; /* longitude of grid point orientation */ @@ -1263,16 +1322,16 @@ if (debugflag >0) grib_lbl[29]=(int) x; grib_lbl[30]=(int) y; - ncattinq(cdfid,cdfvar_id,"latLonOrigin",&ll_type,&ll_len); + ncattinq(NetCDF_ID,variableID,"latLonOrigin",&ll_type,&ll_len); latLonOrigin = (double *) malloc(ll_len * nctypelen(ll_type)); - ncattget(cdfid, cdfvar_id, "latLonOrigin", latLonOrigin); + ncattget(NetCDF_ID, variableID, "latLonOrigin", latLonOrigin); grib_lbl[34]=(*latLonOrigin)*1000.; - ncattget(cdfid, cdfvar_id, "stdParallelOne", &stdParallelOne); - ncattget(cdfid, cdfvar_id, "stdParallelTwo", &stdParallelTwo); + ncattget(NetCDF_ID, variableID, "stdParallelOne", &stdParallelOne); + ncattget(NetCDF_ID, variableID, "stdParallelTwo", &stdParallelTwo); grib_lbl[39]=stdParallelOne*1000; @@ -1778,18 +1837,18 @@ if (debugflag >0) /* Get data for this time record */ - if(cdfvar_ndims==3) + if(numberOfVariableDimensions==3) { start[0]=(long) (m/2); - status = ncvarget(cdfid,cdfvar_id,start,count,cdfvargrid); + status = ncvarget(NetCDF_ID,variableID,start,count,cdfvargrid); } - else if (cdfvar_ndims==2) + else if (numberOfVariableDimensions==2) { start1r[0]=(long) (m/2); - status = ncvarget(cdfid,cdfvar_id,start1r,count1r,cdfvargrid); + status = ncvarget(NetCDF_ID,variableID,start1r,count1r,cdfvargrid); } if (status != NC_NOERR) @@ -1935,7 +1994,7 @@ if (debugflag >0) } else { - if(cdfvar_ndims==3) + if(numberOfVariableDimensions==3) printf("\n Gribbing of data successful for record %ld\n",start[0]+1); else printf("\n Gribbing of data successful for record %ld\n",start1r[0]+1); @@ -2625,7 +2684,7 @@ if (debugflag >0) } - ncclose(cdfid); + ncclose(NetCDF_ID); /* if user desires only 1 GRIB file, must combine all into one */ diff --git a/ncep/com.raytheon.uf.edex.ncep.feature/feature.xml b/ncep/com.raytheon.uf.edex.ncep.feature/feature.xml index c290defa19..8bc9a66b85 100644 --- a/ncep/com.raytheon.uf.edex.ncep.feature/feature.xml +++ b/ncep/com.raytheon.uf.edex.ncep.feature/feature.xml @@ -500,5 +500,18 @@ version="0.0.0" unpack="false"/> + + + diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.classpath b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.classpath new file mode 100644 index 0000000000..ad32c83a78 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.project b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.project new file mode 100644 index 0000000000..1737fb2fde --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.project @@ -0,0 +1,28 @@ + + + gov.noaa.nws.ncep.common.dataplugin.gempak + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.settings/org.eclipse.jdt.core.prefs b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..e962b2ab45 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Wed Jun 05 10:12:54 EDT 2013 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/META-INF/MANIFEST.MF b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..1b015935fe --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Gempak +Bundle-SymbolicName: gov.noaa.nws.ncep.common.dataplugin.gempak +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: com.raytheon.edex.common;bundle-version="1.12.1174", + com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174" +Export-Package: gov.noaa.nws.ncep.common.dataplugin.gempak.request diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/build.properties b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/build.properties new file mode 100644 index 0000000000..34d2e4d2da --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/gov.noaa.nws.ncep.common.dataplugin.gempak.ecl b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/gov.noaa.nws.ncep.common.dataplugin.gempak.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridDataRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridDataRequest.java new file mode 100644 index 0000000000..eb9c92c143 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridDataRequest.java @@ -0,0 +1,101 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +@DynamicSerialize +public class GetGridDataRequest implements IServerRequest { + + @DynamicSerializeElement + private String pluginName; + + @DynamicSerializeElement + private String modelId; + + @DynamicSerializeElement + private String reftime; + + @DynamicSerializeElement + private String fcstsec; + + @DynamicSerializeElement + private String level1; + + @DynamicSerializeElement + private String level2; + + @DynamicSerializeElement + private String vcoord; + + @DynamicSerializeElement + private String parm; + + public GetGridDataRequest() { + } + + public String getPluginName() { + return pluginName; + } + + public void setPluginName(String pluginName) { + this.pluginName = pluginName; + } + + public String getModelId() { + return modelId; + } + + public void setModelId(String modelId) { + this.modelId = modelId; + } + + public String getReftime() { + return reftime; + } + + public void setReftime(String reftime) { + this.reftime = reftime; + } + + public String getFcstsec() { + return fcstsec; + } + + public void setFcstsec(String fcstsec) { + this.fcstsec = fcstsec; + } + + public String getLevel1() { + return level1; + } + + public void setLevel1(String level1) { + this.level1 = level1; + } + + public String getLevel2() { + return level2; + } + + public void setLevel2(String level2) { + this.level2 = level2; + } + + public String getVcoord() { + return vcoord; + } + + public void setVcoord(String vcoord) { + this.vcoord = vcoord; + } + + public String getParm() { + return parm; + } + + public void setParm(String parm) { + this.parm = parm; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridInfoRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridInfoRequest.java new file mode 100644 index 0000000000..a339b0a690 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridInfoRequest.java @@ -0,0 +1,35 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +@DynamicSerialize +public class GetGridInfoRequest implements IServerRequest { + + @DynamicSerializeElement + private String pluginName; + + @DynamicSerializeElement + private String modelId; + + public GetGridInfoRequest() { + } + + public String getPluginName() { + return pluginName; + } + + public void setPluginName(String pluginName) { + this.pluginName = pluginName; + } + + public String getModelId() { + return modelId; + } + + public void setModelId(String modelId) { + this.modelId = modelId; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridNavRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridNavRequest.java new file mode 100644 index 0000000000..3c8f8b62da --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetGridNavRequest.java @@ -0,0 +1,35 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +@DynamicSerialize +public class GetGridNavRequest implements IServerRequest { + + @DynamicSerializeElement + private String pluginName; + + @DynamicSerializeElement + private String modelId; + + public GetGridNavRequest() { + } + + public String getPluginName() { + return pluginName; + } + + public void setPluginName(String pluginName) { + this.pluginName = pluginName; + } + + public String getModelId() { + return modelId; + } + + public void setModelId(String modelId) { + this.modelId = modelId; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetStationsRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetStationsRequest.java new file mode 100644 index 0000000000..fed3c300c2 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetStationsRequest.java @@ -0,0 +1,24 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +@DynamicSerialize +public class GetStationsRequest implements IServerRequest { + + @DynamicSerializeElement + private String pluginName; + + public GetStationsRequest() { + } + + public String getPluginName() { + return pluginName; + } + + public void setPluginName(String pluginName) { + this.pluginName = pluginName; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetTimesRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetTimesRequest.java new file mode 100644 index 0000000000..1b833e93b7 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetTimesRequest.java @@ -0,0 +1,35 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +@DynamicSerialize +public class GetTimesRequest implements IServerRequest { + + @DynamicSerializeElement + private String pluginName; + + @DynamicSerializeElement + private String timeField; + + public GetTimesRequest() { + } + + public String getPluginName() { + return pluginName; + } + + public void setPluginName(String pluginName) { + this.pluginName = pluginName; + } + + public String getTimeField() { + return timeField; + } + + public void setTimeField(String timeField) { + this.timeField = timeField; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetTimesResponse.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetTimesResponse.java new file mode 100644 index 0000000000..88dcf0f319 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/GetTimesResponse.java @@ -0,0 +1,25 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import java.util.List; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; + +@DynamicSerialize +public class GetTimesResponse { + + @DynamicSerializeElement + private List times; + + public GetTimesResponse() { + } + + public List getTimes() { + return times; + } + + public void setTimes(List times) { + this.times = times; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/Station.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/Station.java new file mode 100644 index 0000000000..353bc18e4a --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/Station.java @@ -0,0 +1,85 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; + +@DynamicSerialize +public class Station { + @DynamicSerializeElement + private String stationId; + + @DynamicSerializeElement + private int wmoIndex; + + @DynamicSerializeElement + private int elevation; + + @DynamicSerializeElement + private String country; + + @DynamicSerializeElement + private String state; + + @DynamicSerializeElement + private double latitude; + + @DynamicSerializeElement + private double longitude; + + public String getStationId() { + return stationId; + } + + public void setStationId(String stationId) { + this.stationId = stationId; + } + + public int getWmoIndex() { + return wmoIndex; + } + + public void setWmoIndex(int wmoIndex) { + this.wmoIndex = wmoIndex; + } + + public int getElevation() { + return elevation; + } + + public void setElevation(int elevation) { + this.elevation = elevation; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public double getLatitude() { + return latitude; + } + + public void setLatitude(double latitude) { + this.latitude = latitude; + } + + public double getLongitude() { + return longitude; + } + + public void setLongitude(double longitude) { + this.longitude = longitude; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/StationDataRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/StationDataRequest.java new file mode 100644 index 0000000000..ceed7db9d9 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gempak/src/gov/noaa/nws/ncep/common/dataplugin/gempak/request/StationDataRequest.java @@ -0,0 +1,69 @@ +package gov.noaa.nws.ncep.common.dataplugin.gempak.request; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; +import com.raytheon.uf.common.time.DataTime; + +@DynamicSerialize +public class StationDataRequest implements IServerRequest { + + @DynamicSerializeElement + private String pluginName; + + @DynamicSerializeElement + private String stationId; + + @DynamicSerializeElement + private DataTime refTime; + + @DynamicSerializeElement + private String parmList; + + @DynamicSerializeElement + private String partNumber; + + public StationDataRequest() { + } + + public String getPluginName() { + return pluginName; + } + + public void setPluginName(String pluginName) { + this.pluginName = pluginName; + } + + public String getStationId() { + return stationId; + } + + public void setStationId(String stationId) { + this.stationId = stationId; + } + + public DataTime getRefTime() { + return refTime; + } + + public void setRefTime(DataTime refTime) { + this.refTime = refTime; + } + + public String getParmList() { + return parmList; + } + + public void setParmList(String parmList) { + this.parmList = parmList; + } + + public String getPartNumber() { + return partNumber; + } + + public void setPartNumber(String partNumber) { + this.partNumber = partNumber; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF index 85a64c6f26..cf8ca1880d 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF @@ -5,14 +5,14 @@ Bundle-SymbolicName: gov.noaa.nws.ncep.common.dataplugin.geomag Bundle-Version: 1.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Require-Bundle: com.raytheon.edex.common;bundle-version="1.12.1174", - javax.persistence;bundle-version="1.0.0", - org.junit;bundle-version="1.0.0" + javax.persistence;bundle-version="1.0.0" Export-Package: gov.noaa.nws.ncep.common.dataplugin.geomag, gov.noaa.nws.ncep.common.dataplugin.geomag.dao, gov.noaa.nws.ncep.common.dataplugin.geomag.exception, gov.noaa.nws.ncep.common.dataplugin.geomag.table, gov.noaa.nws.ncep.common.dataplugin.geomag.util Import-Package: com.raytheon.uf.common.localization, + gov.noaa.nws.ncep.common.dataplugin.geomag, org.apache.commons.logging diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java index ee02e937f6..b30cb712ff 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java @@ -84,6 +84,7 @@ public class GeoMagAvg extends PersistableDataObject { * H data Hour Average */ @Column(length=16) + @XmlAttribute @DynamicSerializeElement private float hHrAvg; @@ -91,6 +92,7 @@ public class GeoMagAvg extends PersistableDataObject { * D data Hour Average */ @Column(length=16) + @XmlAttribute @DynamicSerializeElement private float dHrAvg; @@ -169,5 +171,3 @@ public class GeoMagAvg extends PersistableDataObject { this.stationCode = stationCode; } } - - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java index 7cb7e1b6ce..56882d023f 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java @@ -4,7 +4,10 @@ import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; @@ -13,6 +16,7 @@ import javax.xml.bind.annotation.XmlAttribute; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; +import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @@ -32,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; */ @Entity +@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "geomagseq") @Table(name = "geomag_k1min") @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @XmlAccessorType(XmlAccessType.NONE) @@ -42,11 +47,11 @@ public class GeoMagK1min extends PersistableDataObject { * */ private static final long serialVersionUID = 1L; - + public static final String ID_GEN = "idgen"; /** The id */ @Id - @DynamicSerializeElement + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = ID_GEN) private Integer id; /** @@ -361,5 +366,3 @@ public class GeoMagK1min extends PersistableDataObject { this.stationCode = stationCode; } } - - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK3hr.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK3hr.java index d11bde7cee..38cb67d5cf 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK3hr.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK3hr.java @@ -4,7 +4,10 @@ import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; @@ -13,6 +16,7 @@ import javax.xml.bind.annotation.XmlAttribute; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; +import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @@ -32,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; */ @Entity +@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "geomagseq") @Table(name = "geomag_k3hr") @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @XmlAccessorType(XmlAccessType.NONE) @@ -43,11 +48,11 @@ public class GeoMagK3hr extends PersistableDataObject { * */ private static final long serialVersionUID = 1L; - +public static final String ID_GEN = "idgen"; /** The id */ @Id - @DynamicSerializeElement + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = ID_GEN) private Integer id; /** @@ -67,7 +72,7 @@ public class GeoMagK3hr extends PersistableDataObject { private Date refTime; /** - * insert time tag + * insert time */ @Column @XmlAttribute @@ -75,32 +80,67 @@ public class GeoMagK3hr extends PersistableDataObject { private Date lastUpdate; /** - * H data Hour Average + * k_index */ @Column(length=16) @DynamicSerializeElement private int kIndex; /** - * D data Hour Average + * k_real */ @Column(length=16) @DynamicSerializeElement private float kReal; /** - * D data Hour Average + * Gamma */ @Column(length=16) @DynamicSerializeElement private float kGamma; /** - * D data Hour Average + * est k_index */ @Column(length=16) @DynamicSerializeElement - private float aFinalRunning; + private int kestIndex; + + /** + * est k_real + */ + @Column(length=16) + @DynamicSerializeElement + private float kestReal; + + /** + * est gamma + */ + @Column(length=16) + @DynamicSerializeElement + private float kestGamma; + + /** + * A Final Running + */ + @Column(length=16) + @DynamicSerializeElement + private int aFinalRunning; + + /** + * A Running + */ + @Column(length=16) + @DynamicSerializeElement + private int aRunning; + + /** + * forecaster manual editing + */ + @Column(length=16) + @DynamicSerializeElement + private int isManual; @@ -145,17 +185,72 @@ public class GeoMagK3hr extends PersistableDataObject { this.kGamma = kGamma; } + /** + * @return the hHrAvg + */ + public int getKestIndex() { + return kestIndex; + } + + public void setKestIndex(int kestIndex) { + this.kestIndex = kestIndex; + } + /** * @return the dHrAvg */ - public float getAFinalRunning() { + public float getKestReal() { + return kestReal; + } + + public void setKestReal(float kestReal) { + this.kestReal = kestReal; + } + + /** + * @return the hHrAvg + */ + public float getKestGamma() { + return kestGamma; + } + + public void setKestGamma(float kestGamma) { + this.kestGamma = kestGamma; + } + + /** + * @return the dHrAvg + */ + public int getARunning() { + return aRunning; + } + + public void setARunning(int aRunning) { + this.aRunning = aRunning; + } + + /** + * @return the dHrAvg + */ + public int getAFinalRunning() { return aFinalRunning; } - public void setAFinalRunning(float aFinalRunning) { + public void setAFinalRunning(int aFinalRunning) { this.aFinalRunning = aFinalRunning; } + /** + * @return the dHrAvg + */ + public int getIsManual() { + return isManual; + } + + public void setIsManual(int isManual) { + this.isManual = isManual; + } + /** * @return The id */ @@ -200,4 +295,3 @@ public class GeoMagK3hr extends PersistableDataObject { this.stationCode = stationCode; } } - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java index b850dc8cb3..e46fdaeb7a 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java @@ -1,5 +1,6 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag; + import javax.persistence.Access; import javax.persistence.AccessType; import javax.persistence.Column; @@ -130,7 +131,7 @@ public class GeoMagRecord extends PersistablePluginDataObject { @Column @DynamicSerializeElement @XmlAttribute - private String badDataPoint; + private int badDataPoint; /** * H or X values @@ -164,6 +165,30 @@ public class GeoMagRecord extends PersistablePluginDataObject { @XmlAttribute private float component_4; + /** + * F values + */ + @Column + @DynamicSerializeElement + @XmlAttribute + private int distributionId; + + /** + * F values + */ + @Column + @DynamicSerializeElement + @XmlAttribute + private int instrumentOrientationId; + + /** + * F values + */ + @Column + @DynamicSerializeElement + @XmlAttribute + private int cadenceId; + /** * Observation Date and Time for the minute values */ @@ -194,76 +219,76 @@ public class GeoMagRecord extends PersistablePluginDataObject { @Transient private float[] comp4_data; - /** - * Following for HrAvg values - */ - @Transient - private float[] hrAvgH; - - @Transient - private float[] hrAvgD; - - @Transient - private long[] comp_InsertTime; - - /** - * Following for K values - */ - // 3hr - @Transient - private int[] kK_Index; - @Transient - private float[] kK_Real; - @Transient - private float[] kK_Gamma; - @Transient - private int[] kest_Index; - @Transient - private float[] kest_Real; - @Transient - private float[] kest_Gamma; - @Transient - private float[] hK_Real; - @Transient - private float[] hK_Gamma; - @Transient - private float[] dK_Real; - @Transient - private float[] dK_Gamma; - - // 1 min - @Transient - private int[] h_Count; - @Transient - private int[] d_Count; - @Transient - private int[] kest_Index_1m; - @Transient - private float[] kest_Real_1m; - @Transient - private float[] kest_Gamma_1m; - @Transient - private float[] hK_Real_1m; - @Transient - private float[] hK_Gamma_1m; - @Transient - private float[] dK_Real_1m; - @Transient - private float[] dK_Gamma_1m; - @Transient - private int[] hK_Index_1m; - @Transient - private int[] dK_Index_1m; - @Transient - private float[] h_Dev; - @Transient - private float[] d_Dev; - @Transient - private float[] Ks; - @Transient - private int[] a_est; - @Transient - private float[] update_1m; +// /** +// * Following for HrAvg values +// */ +// @Transient +// private float[] hrAvgH; +// +// @Transient +// private float[] hrAvgD; +// +// @Transient +// private long[] comp_InsertTime; +// +// /** +// * Following for K values +// */ +// // 3hr +// @Transient +// private int[] kK_Index; +// @Transient +// private float[] kK_Real; +// @Transient +// private float[] kK_Gamma; +// @Transient +// private int[] kest_Index; +// @Transient +// private float[] kest_Real; +// @Transient +// private float[] kest_Gamma; +// @Transient +// private float[] hK_Real; +// @Transient +// private float[] hK_Gamma; +// @Transient +// private float[] dK_Real; +// @Transient +// private float[] dK_Gamma; +// +// // 1 min +// @Transient +// private int[] h_Count; +// @Transient +// private int[] d_Count; +// @Transient +// private int[] kest_Index_1m; +// @Transient +// private float[] kest_Real_1m; +// @Transient +// private float[] kest_Gamma_1m; +// @Transient +// private float[] hK_Real_1m; +// @Transient +// private float[] hK_Gamma_1m; +// @Transient +// private float[] dK_Real_1m; +// @Transient +// private float[] dK_Gamma_1m; +// @Transient +// private int[] hK_Index_1m; +// @Transient +// private int[] dK_Index_1m; +// @Transient +// private float[] h_Dev; +// @Transient +// private float[] d_Dev; +// @Transient +// private float[] Ks; +// @Transient +// private int[] a_est; +// @Transient +// private float[] update_1m; /** * No-arg Constructor @@ -315,14 +340,14 @@ public class GeoMagRecord extends PersistablePluginDataObject { /** * @return the badDataPoint */ - public String getBadDataPoint() { + public int getBadDataPoint() { return badDataPoint; } /** * @param the badDataPoint to set */ - public void setBadDataPoint(String badDataPoint) { + public void setBadDataPoint(int badDataPoint) { this.badDataPoint = badDataPoint; } @@ -442,252 +467,252 @@ public class GeoMagRecord extends PersistablePluginDataObject { /** * @return the h_HrAvg */ - public float[] getHrAvgH() { - return hrAvgH; + public int getDistributionId() { + return distributionId; } /** * @param h_HrAvg */ - public void setHrAvgH(float[] hrAvgH) { - this.hrAvgH = hrAvgH; + public void setDistributionId(int distributionId) { + this.distributionId = distributionId; } /** * @return the d_HrAvg */ - public float[] getHrAvgD() { - return hrAvgD; + public int getInstrumentOrientationId() { + return instrumentOrientationId; } /** * @param d_HrAvg */ - public void setHrAvgD(float[] hrAvgD) { - this.hrAvgD = hrAvgD; + public void setInstrumentOrientationId(int instrumentOrientationId) { + this.instrumentOrientationId = instrumentOrientationId; + } + + public int getCadenceId() { + return cadenceId; } - public long[] getCompInsertTime() { - return comp_InsertTime; + public void setCadenceId(int cadenceId) { + this.cadenceId = cadenceId; } - public void setCompInsertTime(long[] comp_InsertTime) { - this.comp_InsertTime = comp_InsertTime; - } - - /* - * @param k index related - */ - // 3hr - public int[] getKKIndex() { - return kK_Index; - } - - public void setKKIndex(int[] kK_Index) { - this.kK_Index = kK_Index; - } - - public float[] getKKReal() { - return kK_Real; - } - - public void setKKReal(float[] kK_Real) { - this.kK_Real = kK_Real; - } - - public float[] getKKGamma() { - return kK_Gamma; - } - - public void setKKGamma(float[] kK_Gamma) { - this.kK_Gamma = kK_Gamma; - } - - - public float[] getHKReal() { - return hK_Real; - } - - public void setHKReal(float[] hK_Real) { - this.hK_Real = hK_Real; - } - - public float[] getDKReal() { - return dK_Real; - } - - public void setDKReal(float[] dK_Real) { - this.dK_Real = dK_Real; - } - - public int[] getKestIndex() { - return kest_Index; - } - - public void setKestIndex(int[] kest_Index) { - this.kest_Index = kest_Index; - } - - public float[] getKestReal() { - return kest_Real; - } - - public void setKestReal(float[] kest_Real) { - this.kest_Real = kest_Real; - } - - public float[] getKestGamma() { - return kest_Gamma; - } - - public void setKestGamma(float[] kest_Gamma) { - this.kest_Gamma = kest_Gamma; - } - - public float[] getHKGamma() { - return hK_Gamma; - } - - public void setHKGamma(float[] hK_Gamma) { - this.hK_Gamma = hK_Gamma; - } - - public float[] getDKGamma() { - return dK_Gamma; - } - - public void setDKGamma(float[] dK_Gamma) { - this.dK_Gamma = dK_Gamma; - } - - // 1min - public float[] getHKReal1m() { - return hK_Real_1m; - } - - public void setHKReal1m(float[] hK_Real_1m) { - this.hK_Real_1m = hK_Real_1m; - } - - public float[] getDKReal1m() { - return dK_Real_1m; - } - - public void setDKReal1m(float[] dK_Real_1m) { - this.dK_Real_1m = dK_Real_1m; - } - - public int[] getKestIndex1m() { - return kest_Index_1m; - } - - public void setKestIndex1m(int[] kest_Index_1m) { - this.kest_Index_1m = kest_Index_1m; - } - - public float[] getKestReal1m() { - return kest_Real_1m; - } - - public void setKestReal1m(float[] kest_Real_1m) { - this.kest_Real_1m = kest_Real_1m; - } - - public float[] getKestGamma1m() { - return kest_Gamma_1m; - } - - public void setKestGamma1m(float[] kest_Gamma_1m) { - this.kest_Gamma_1m = kest_Gamma_1m; - } - - public float[] getHKGamma1m() { - return hK_Gamma_1m; - } - - public void setHKGamma1m(float[] hK_Gamma_1m) { - this.hK_Gamma_1m = hK_Gamma_1m; - } - - public float[] getDKGamma1m() { - return dK_Gamma_1m; - } - - public void setDKGamma1m(float[] dK_Gamma_1m) { - this.dK_Gamma_1m = dK_Gamma_1m; - } - - public int[] getHKIndex1m() { - return hK_Index_1m; - } - - public void setHKIndex1m(int[] hK_Index_1m) { - this.hK_Index_1m = hK_Index_1m; - } - - public int[] getDKIndex1m() { - return dK_Index_1m; - } - - public void setDKIndex1m(int[] dK_Index_1m) { - this.dK_Index_1m = dK_Index_1m; - } - - public int[] getHCount() { - return h_Count; - } - - public void setHCount(int[] h_Count) { - this.h_Count = h_Count; - } - - public int[] getDCount() { - return d_Count; - } - - public void setDCount(int[] d_Count) { - this.d_Count = d_Count; - } - - public float[] getHDev() { - return h_Dev; - } - - public void setHDev(float[] h_Dev) { - this.h_Dev = h_Dev; - } - - public float[] getDDev() { - return d_Dev; - } - - public void setDDev(float[] d_Dev) { - this.d_Dev = d_Dev; - } - - public float[] getKs() { - return Ks; - } - - public void setKs(float[] Ks) { - this.Ks = Ks; - } - - public int[] getAest() { - return a_est; - } - - public void setAest(int[] a_est) { - this.a_est = a_est; - } - - public float[] getLastUpdate() { - return update_1m; - } - - public void setLastUpdate(float[] update_1m) { - this.update_1m = update_1m; - } +// /* +// * @param k index related +// */ +// // 3hr +// public int[] getKKIndex() { +// return kK_Index; +// } +// +// public void setKKIndex(int[] kK_Index) { +// this.kK_Index = kK_Index; +// } +// +// public float[] getKKReal() { +// return kK_Real; +// } +// +// public void setKKReal(float[] kK_Real) { +// this.kK_Real = kK_Real; +// } +// +// public float[] getKKGamma() { +// return kK_Gamma; +// } +// +// public void setKKGamma(float[] kK_Gamma) { +// this.kK_Gamma = kK_Gamma; +// } +// +// +// public float[] getHKReal() { +// return hK_Real; +// } +// +// public void setHKReal(float[] hK_Real) { +// this.hK_Real = hK_Real; +// } +// +// public float[] getDKReal() { +// return dK_Real; +// } +// +// public void setDKReal(float[] dK_Real) { +// this.dK_Real = dK_Real; +// } +// +// public int[] getKestIndex() { +// return kest_Index; +// } +// +// public void setKestIndex(int[] kest_Index) { +// this.kest_Index = kest_Index; +// } +// +// public float[] getKestReal() { +// return kest_Real; +// } +// +// public void setKestReal(float[] kest_Real) { +// this.kest_Real = kest_Real; +// } +// +// public float[] getKestGamma() { +// return kest_Gamma; +// } +// +// public void setKestGamma(float[] kest_Gamma) { +// this.kest_Gamma = kest_Gamma; +// } +// +// public float[] getHKGamma() { +// return hK_Gamma; +// } +// +// public void setHKGamma(float[] hK_Gamma) { +// this.hK_Gamma = hK_Gamma; +// } +// +// public float[] getDKGamma() { +// return dK_Gamma; +// } +// +// public void setDKGamma(float[] dK_Gamma) { +// this.dK_Gamma = dK_Gamma; +// } +// +// // 1min +// public float[] getHKReal1m() { +// return hK_Real_1m; +// } +// +// public void setHKReal1m(float[] hK_Real_1m) { +// this.hK_Real_1m = hK_Real_1m; +// } +// +// public float[] getDKReal1m() { +// return dK_Real_1m; +// } +// +// public void setDKReal1m(float[] dK_Real_1m) { +// this.dK_Real_1m = dK_Real_1m; +// } +// +// public int[] getKestIndex1m() { +// return kest_Index_1m; +// } +// +// public void setKestIndex1m(int[] kest_Index_1m) { +// this.kest_Index_1m = kest_Index_1m; +// } +// +// public float[] getKestReal1m() { +// return kest_Real_1m; +// } +// +// public void setKestReal1m(float[] kest_Real_1m) { +// this.kest_Real_1m = kest_Real_1m; +// } +// +// public float[] getKestGamma1m() { +// return kest_Gamma_1m; +// } +// +// public void setKestGamma1m(float[] kest_Gamma_1m) { +// this.kest_Gamma_1m = kest_Gamma_1m; +// } +// +// public float[] getHKGamma1m() { +// return hK_Gamma_1m; +// } +// +// public void setHKGamma1m(float[] hK_Gamma_1m) { +// this.hK_Gamma_1m = hK_Gamma_1m; +// } +// +// public float[] getDKGamma1m() { +// return dK_Gamma_1m; +// } +// +// public void setDKGamma1m(float[] dK_Gamma_1m) { +// this.dK_Gamma_1m = dK_Gamma_1m; +// } +// +// public int[] getHKIndex1m() { +// return hK_Index_1m; +// } +// +// public void setHKIndex1m(int[] hK_Index_1m) { +// this.hK_Index_1m = hK_Index_1m; +// } +// +// public int[] getDKIndex1m() { +// return dK_Index_1m; +// } +// +// public void setDKIndex1m(int[] dK_Index_1m) { +// this.dK_Index_1m = dK_Index_1m; +// } +// +// public int[] getHCount() { +// return h_Count; +// } +// +// public void setHCount(int[] h_Count) { +// this.h_Count = h_Count; +// } +// +// public int[] getDCount() { +// return d_Count; +// } +// +// public void setDCount(int[] d_Count) { +// this.d_Count = d_Count; +// } +// +// public float[] getHDev() { +// return h_Dev; +// } +// +// public void setHDev(float[] h_Dev) { +// this.h_Dev = h_Dev; +// } +// +// public float[] getDDev() { +// return d_Dev; +// } +// +// public void setDDev(float[] d_Dev) { +// this.d_Dev = d_Dev; +// } +// +// public float[] getKs() { +// return Ks; +// } +// +// public void setKs(float[] Ks) { +// this.Ks = Ks; +// } +// +// public int[] getAest() { +// return a_est; +// } +// +// public void setAest(int[] a_est) { +// this.a_est = a_est; +// } +// +// public float[] getLastUpdate() { +// return update_1m; +// } +// +// public void setLastUpdate(float[] update_1m) { +// this.update_1m = update_1m; +// } @Override public IDecoderGettable getDecoderGettable() { @@ -733,4 +758,3 @@ public class GeoMagRecord extends PersistablePluginDataObject { return GeoMagPathProvider.getInstance(); } } - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java index bbd07ebac4..804356dacc 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java @@ -1,5 +1,6 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag.dao; + import java.util.Date; import java.util.List; @@ -9,7 +10,6 @@ import com.raytheon.uf.common.datastorage.IDataStore; import com.raytheon.uf.common.datastorage.StorageException; import com.raytheon.uf.common.datastorage.records.AbstractStorageRecord; import com.raytheon.uf.common.datastorage.records.FloatDataRecord; -import com.raytheon.uf.common.datastorage.records.IntegerDataRecord; import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.plugin.PluginDao; @@ -261,7 +261,6 @@ public class GeoMagDao extends PluginDao { // dataStore.addDataRecord(storageRecord); // // } - // if (magRecord.getHrAvgIdx() != null) { // AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.HrAvgIdx, // magRecord.getDataURI(), (int[]) magRecord.getHrAvgIdx(), 1, @@ -270,290 +269,269 @@ public class GeoMagDao extends PluginDao { // storageRecord.setCorrelationObject(record); // dataStore.addDataRecord(storageRecord); // } - - /* - * Write H_HR_AVG data to HDF5. - */ - if ( magRecord.getHrAvgH() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.H_HR_AVG, - magRecord.getDataURI(), (float[]) magRecord.getHrAvgH(), 1, - new long[] {magRecord.getHrAvgH().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - /* - * Write D_HR_AVG data to HDF5. - */ - if ( magRecord.getHrAvgD() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.D_HR_AVG, - magRecord.getDataURI(), (float[]) magRecord.getHrAvgD(), 1, - new long[] {magRecord.getHrAvgD().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } +// // /* -// * Write insertTime data to HDF5. +// * Write H_HR_AVG data to HDF5. // */ -// if ( magRecord.getCompInsertTime() != null ) { -// AbstractStorageRecord storageRecord = new LongDataRecord(GeoMagRecord.Comp_Insert_Time, -// magRecord.getDataURI(), (long[]) magRecord.getCompInsertTime(), 1, -// new long[] {magRecord.getCompInsertTime().length}); +// if ( magRecord.getHrAvgH() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.H_HR_AVG, +// magRecord.getDataURI(), (float[]) magRecord.getHrAvgH(), 1, +// new long[] {magRecord.getHrAvgH().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// /* +// * Write D_HR_AVG data to HDF5. +// */ +// if ( magRecord.getHrAvgD() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.D_HR_AVG, +// magRecord.getDataURI(), (float[]) magRecord.getHrAvgD(), 1, +// new long[] {magRecord.getHrAvgD().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// /* +// * Write K_Index data to HDF5. +// */ +// // 3hr +// if ( magRecord.getKKIndex() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.K_Index, +// magRecord.getDataURI(), (int[]) magRecord.getKKIndex(), 1, +// new long[] {magRecord.getKKIndex().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getKKGamma() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_Gamma, +// magRecord.getDataURI(), (float[]) magRecord.getKKGamma(), 1, +// new long[] {magRecord.getKKGamma().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getKKReal() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_Real, +// magRecord.getDataURI(), (float[]) magRecord.getKKReal(), 1, +// new long[] {magRecord.getKKReal().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getKestIndex() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.Kest_Index, +// magRecord.getDataURI(), (int[]) magRecord.getKestIndex(), 1, +// new long[] {magRecord.getKestIndex().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getKestGamma() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Gamma, +// magRecord.getDataURI(), (float[]) magRecord.getKestGamma(), 1, +// new long[] {magRecord.getKestGamma().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getKestReal() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Real, +// magRecord.getDataURI(), (float[]) magRecord.getKestReal(), 1, +// new long[] {magRecord.getKestReal().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getHKGamma() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Gamma, +// magRecord.getDataURI(), (float[]) magRecord.getHKGamma(), 1, +// new long[] {magRecord.getHKGamma().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getHKReal() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Real, +// magRecord.getDataURI(), (float[]) magRecord.getHKReal(), 1, +// new long[] {magRecord.getHKReal().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDKGamma() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Gamma, +// magRecord.getDataURI(), (float[]) magRecord.getDKGamma(), 1, +// new long[] {magRecord.getDKGamma().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDKReal() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Real, +// magRecord.getDataURI(), (float[]) magRecord.getDKReal(), 1, +// new long[] {magRecord.getDKReal().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// +// +// // 1 min +// if ( magRecord.getKestIndex1m() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.Kest_Index_1m, +// magRecord.getDataURI(), (int[]) magRecord.getKestIndex1m(), 1, +// new long[] {magRecord.getKestIndex1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getKestGamma1m() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Gamma_1m, +// magRecord.getDataURI(), (float[]) magRecord.getKestGamma1m(), 1, +// new long[] {magRecord.getKestGamma1m().length}); // storageRecord.setCorrelationObject(magRecord); // dataStore.addDataRecord(storageRecord); // // } - - /* - * Write K_Index data to HDF5. - */ - // 3hr - if ( magRecord.getKKIndex() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.K_Index, - magRecord.getDataURI(), (int[]) magRecord.getKKIndex(), 1, - new long[] {magRecord.getKKIndex().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKKGamma() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_Gamma, - magRecord.getDataURI(), (float[]) magRecord.getKKGamma(), 1, - new long[] {magRecord.getKKGamma().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKKReal() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_Real, - magRecord.getDataURI(), (float[]) magRecord.getKKReal(), 1, - new long[] {magRecord.getKKReal().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKestIndex() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.Kest_Index, - magRecord.getDataURI(), (int[]) magRecord.getKestIndex(), 1, - new long[] {magRecord.getKestIndex().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKestGamma() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Gamma, - magRecord.getDataURI(), (float[]) magRecord.getKestGamma(), 1, - new long[] {magRecord.getKestGamma().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKestReal() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Real, - magRecord.getDataURI(), (float[]) magRecord.getKestReal(), 1, - new long[] {magRecord.getKestReal().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getHKGamma() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Gamma, - magRecord.getDataURI(), (float[]) magRecord.getHKGamma(), 1, - new long[] {magRecord.getHKGamma().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getHKReal() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Real, - magRecord.getDataURI(), (float[]) magRecord.getHKReal(), 1, - new long[] {magRecord.getHKReal().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDKGamma() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Gamma, - magRecord.getDataURI(), (float[]) magRecord.getDKGamma(), 1, - new long[] {magRecord.getDKGamma().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDKReal() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Real, - magRecord.getDataURI(), (float[]) magRecord.getDKReal(), 1, - new long[] {magRecord.getDKReal().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - - - // 1 min -// if (magRecord.getKIdx() != null) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KIdx, -// magRecord.getDataURI(), (int[]) magRecord.getKIdx(), 1, -// new long[] {magRecord.getKIdx().length}); // +// if ( magRecord.getKestReal1m() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Real_1m, +// magRecord.getDataURI(), (float[]) magRecord.getKestReal1m(), 1, +// new long[] {magRecord.getKestReal1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getHKGamma1m() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Gamma_1m, +// magRecord.getDataURI(), (float[]) magRecord.getHKGamma1m(), 1, +// new long[] {magRecord.getHKGamma1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getHKReal1m() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Real_1m, +// magRecord.getDataURI(), (float[]) magRecord.getHKReal1m(), 1, +// new long[] {magRecord.getHKReal1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDKGamma1m() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Gamma_1m, +// magRecord.getDataURI(), (float[]) magRecord.getDKGamma1m(), 1, +// new long[] {magRecord.getDKGamma1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDKReal1m() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Real_1m, +// magRecord.getDataURI(), (float[]) magRecord.getDKReal1m(), 1, +// new long[] {magRecord.getDKReal1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// if ( magRecord.getHKIndex1m() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KH_Index_1m, +// magRecord.getDataURI(), (int[]) magRecord.getHKIndex1m(), 1, +// new long[] {magRecord.getHKIndex1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDKIndex1m() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KD_Index_1m, +// magRecord.getDataURI(), (int[]) magRecord.getDKIndex1m(), 1, +// new long[] {magRecord.getDKIndex1m().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getHCount() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KH_Count, +// magRecord.getDataURI(), (int[]) magRecord.getHCount(), 1, +// new long[] {magRecord.getHCount().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDCount() != null ) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KD_Count, +// magRecord.getDataURI(), (int[]) magRecord.getDCount(), 1, +// new long[] {magRecord.getDCount().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getHDev() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Dev, +// magRecord.getDataURI(), (float[]) magRecord.getHDev(), 1, +// new long[] {magRecord.getHDev().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if ( magRecord.getDDev() != null ) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Dev, +// magRecord.getDataURI(), (float[]) magRecord.getDDev(), 1, +// new long[] {magRecord.getDDev().length}); +// storageRecord.setCorrelationObject(magRecord); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if (magRecord.getKs() != null) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_s, +// magRecord.getDataURI(), (float[]) magRecord.getKs(), 1, +// new long[] {magRecord.getKs().length}); // storageRecord.setCorrelationObject(record); // dataStore.addDataRecord(storageRecord); +// +// } +// +// if (magRecord.getAest() != null) { +// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.A_est, +// magRecord.getDataURI(), (int[]) magRecord.getAest(), 1, +// new long[] {magRecord.getAest().length}); +// storageRecord.setCorrelationObject(record); +// dataStore.addDataRecord(storageRecord); +// +// } +// +// if (magRecord.getLastUpdate() != null) { +// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Last_Update_1m, +// magRecord.getDataURI(), (float[]) magRecord.getLastUpdate(), 1, +// new long[] {magRecord.getLastUpdate().length}); +// storageRecord.setCorrelationObject(record); +// dataStore.addDataRecord(storageRecord); +// // } - - if ( magRecord.getKestIndex1m() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.Kest_Index_1m, - magRecord.getDataURI(), (int[]) magRecord.getKestIndex1m(), 1, - new long[] {magRecord.getKestIndex1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKestGamma1m() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Gamma_1m, - magRecord.getDataURI(), (float[]) magRecord.getKestGamma1m(), 1, - new long[] {magRecord.getKestGamma1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getKestReal1m() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Real_1m, - magRecord.getDataURI(), (float[]) magRecord.getKestReal1m(), 1, - new long[] {magRecord.getKestReal1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getHKGamma1m() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Gamma_1m, - magRecord.getDataURI(), (float[]) magRecord.getHKGamma1m(), 1, - new long[] {magRecord.getHKGamma1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getHKReal1m() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Real_1m, - magRecord.getDataURI(), (float[]) magRecord.getHKReal1m(), 1, - new long[] {magRecord.getHKReal1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDKGamma1m() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Gamma_1m, - magRecord.getDataURI(), (float[]) magRecord.getDKGamma1m(), 1, - new long[] {magRecord.getDKGamma1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDKReal1m() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Real_1m, - magRecord.getDataURI(), (float[]) magRecord.getDKReal1m(), 1, - new long[] {magRecord.getDKReal1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - if ( magRecord.getHKIndex1m() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KH_Index_1m, - magRecord.getDataURI(), (int[]) magRecord.getHKIndex1m(), 1, - new long[] {magRecord.getHKIndex1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDKIndex1m() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KD_Index_1m, - magRecord.getDataURI(), (int[]) magRecord.getDKIndex1m(), 1, - new long[] {magRecord.getDKIndex1m().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getHCount() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KH_Count, - magRecord.getDataURI(), (int[]) magRecord.getHCount(), 1, - new long[] {magRecord.getHCount().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDCount() != null ) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KD_Count, - magRecord.getDataURI(), (int[]) magRecord.getDCount(), 1, - new long[] {magRecord.getDCount().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getHDev() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Dev, - magRecord.getDataURI(), (float[]) magRecord.getHDev(), 1, - new long[] {magRecord.getHDev().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if ( magRecord.getDDev() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Dev, - magRecord.getDataURI(), (float[]) magRecord.getDDev(), 1, - new long[] {magRecord.getDDev().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - - } - - if (magRecord.getKs() != null) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_s, - magRecord.getDataURI(), (float[]) magRecord.getKs(), 1, - new long[] {magRecord.getKs().length}); - storageRecord.setCorrelationObject(record); - dataStore.addDataRecord(storageRecord); - - } - - if (magRecord.getAest() != null) { - AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.A_est, - magRecord.getDataURI(), (int[]) magRecord.getAest(), 1, - new long[] {magRecord.getAest().length}); - storageRecord.setCorrelationObject(record); - dataStore.addDataRecord(storageRecord); - - } - - if (magRecord.getLastUpdate() != null) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Last_Update_1m, - magRecord.getDataURI(), (float[]) magRecord.getLastUpdate(), 1, - new long[] {magRecord.getLastUpdate().length}); - storageRecord.setCorrelationObject(record); - dataStore.addDataRecord(storageRecord); - - } return dataStore; } diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java index 7f27e61ff2..f4422cc57e 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java @@ -1,5 +1,19 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag.dao; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.criterion.Criterion; +import org.hibernate.criterion.Restrictions; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.support.TransactionCallback; + import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; import com.raytheon.uf.edex.database.dao.CoreDao; @@ -41,5 +55,22 @@ public class GeoMagK1minDao extends CoreDao { public int getAreaId (int id){ return queryById(id).getId(); } -} + @SuppressWarnings("unchecked") + public List getSingleK1min(final String stationCode, final Date date) { + + return (List) txTemplate.execute(new TransactionCallback() { + @Override + public Object doInTransaction(TransactionStatus status) { + HibernateTemplate ht = getHibernateTemplate(); + Session sess = ht.getSessionFactory().getCurrentSession(); + Criteria crit = sess.createCriteria(GeoMagK1min.class); + Criterion where1 = Restrictions.eq("stationCode", stationCode); + crit.add(where1); + Criterion where2 = Restrictions.eq("refTime", date); + crit.add(where2); + return crit.list(); + } + }); + } +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java index 9443f3fee3..5a01fad534 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java @@ -55,7 +55,7 @@ public class GeoMagK3hrDao extends CoreDao { } @SuppressWarnings("unchecked") - public List getK3hrForStation(final String stationCode, final Date time) { + public List getRangeK3hr(final String stationCode, final Date start, final Date end) { return (List) txTemplate.execute(new TransactionCallback() { @Override public Object doInTransaction(TransactionStatus status) { @@ -64,7 +64,27 @@ public class GeoMagK3hrDao extends CoreDao { Criteria crit = sess.createCriteria(GeoMagK3hr.class); Criterion where1 = Restrictions.eq("stationCode", stationCode); crit.add(where1); - Criterion where2 = Restrictions.ge("k3hrTime", time); + Criterion where2 = Restrictions.gt("refTime", start); + crit.add(where2); + Criterion where3 = Restrictions.lt("refTime", end); + crit.add(where3); + + return crit.list(); + } + }); + } + + @SuppressWarnings("unchecked") + public List getSingleK3hr(final String stationCode, final Date time) { + return (List) txTemplate.execute(new TransactionCallback() { + @Override + public Object doInTransaction(TransactionStatus status) { + HibernateTemplate ht = getHibernateTemplate(); + Session sess = ht.getSessionFactory().getCurrentSession(); + Criteria crit = sess.createCriteria(GeoMagK3hr.class); + Criterion where1 = Restrictions.eq("stationCode", stationCode); + crit.add(where1); + Criterion where2 = Restrictions.eq("refTime", time); crit.add(where2); return crit.list(); } @@ -72,4 +92,3 @@ public class GeoMagK3hrDao extends CoreDao { } } - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KStationCoefficient.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KStationCoefficient.java index 084497f17c..1972b40c55 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KStationCoefficient.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KStationCoefficient.java @@ -148,4 +148,3 @@ public class KStationCoefficient { } } - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KsThree.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KsThree.java index 0545ab14ff..2a76aa0b71 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KsThree.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/table/KsThree.java @@ -145,4 +145,3 @@ public class KsThree { this.k9 = k9; } } - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/util/KStationCoefficientLookup.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/util/KStationCoefficientLookup.java index 9f73fc4024..f3671e0943 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/util/KStationCoefficientLookup.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/util/KStationCoefficientLookup.java @@ -129,4 +129,3 @@ public class KStationCoefficientLookup { } } } - diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/AbstractMetParameter.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/AbstractMetParameter.java index 624a65cb79..08508bfaa2 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/AbstractMetParameter.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/AbstractMetParameter.java @@ -23,7 +23,7 @@ import javax.measure.unit.Unit; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + import com.raytheon.uf.common.time.DataTime; import com.raytheon.uf.common.time.DataTime.FLAG; import com.raytheon.uf.common.serialization.ISerializableObject; @@ -74,6 +74,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I public AbstractMetParameter(){ super(); + listOfInputMetPrmNamesForDerivingThisMetPrm = new ArrayList(0); } @DynamicSerializeElement private boolean useStringValue; // override to true for String parameters. @@ -89,6 +90,12 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I // return standardUnit; // } + protected List listOfInputMetPrmNamesForDerivingThisMetPrm; + + public final List getListOfInputMetPrmNamesForDerivingThisMetParameter(){ + return listOfInputMetPrmNamesForDerivingThisMetPrm; + } + /** * @return the dataTime */ @@ -447,11 +454,18 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I argParam = (AbstractMetParameter) argClass.getConstructor( ).newInstance(); - checkedParams.add( argParam.getMetParamName() ); + String metPrmName = argParam.getMetParamName(); + checkedParams.add( metPrmName ); prmIsDerivable = argParam.derivable( checkedParams, inputParams); - checkedParams.remove( argParam.getMetParamName() ); + if(prmIsDerivable){ + if(listOfInputMetPrmNamesForDerivingThisMetPrm == null ) + listOfInputMetPrmNamesForDerivingThisMetPrm = new ArrayList(0); + + listOfInputMetPrmNamesForDerivingThisMetPrm.add(metPrmName); + } + checkedParams.remove( metPrmName ); } catch (Exception e) { System.out.println("error getting newInstance for metParam " + argClass.getSimpleName() ); @@ -465,7 +479,6 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I } // end loop thru derive() args if( derivable ) { - //return m; foundDeriveMthds.add( m ); } } @@ -557,6 +570,23 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I break; } + if( derivedParam != null ){ + if(listOfInputMetPrmNamesForDerivingThisMetPrm == null ) + listOfInputMetPrmNamesForDerivingThisMetPrm = new ArrayList(0); +// String metPrmName = derivedParam.getClass().getSimpleName(); +// int size = mthdArgs.size(); + for(AbstractMetParameter thisPrm : mthdArgs ){ + String metParamName = thisPrm.getMetParamName(); + if(metParamName.compareTo(derivedParam.getClass().getSimpleName()) == 0 ){ + if(!listOfInputMetPrmNamesForDerivingThisMetPrm.contains(metParamName)){ + listOfInputMetPrmNamesForDerivingThisMetPrm.add(metParamName); + } + } + } +// if(listOfInputMetPrmNamesForDerivingThisMetPrm.contains(metPrmName)) +// listOfInputMetPrmNamesForDerivingThisMetPrm.remove(metPrmName); + } + return (AbstractMetParameter) derivedParam; } catch (IllegalArgumentException e) { @@ -600,4 +630,53 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I return getClass().getSimpleName()+ " "+ getValue().toString() + " " + getUnit().toString(); } } + +// @Override +// public Object clone(){ +// AbstractMetParameter metParam = null; +// try { +// synchronized(this){ +// metParam = this.getClass().newInstance(); +// +// if(metParam == null ) +// return metParam; +// +// if(this.getDataTime() == null ) +// return metParam; +// if(this.getDataTime() != null ) +// metParam.dataTime = new DataTime(this.getDataTime().getRefTime()); +// +// if( this.listOfInputMetPrmNamesForDerivingThisMetPrm != null ) +// metParam.listOfInputMetPrmNamesForDerivingThisMetPrm = new ArrayList(this.listOfInputMetPrmNamesForDerivingThisMetPrm); +// +// if( this.valueString != null ) +// metParam.valueString = new String(this.valueString); +// +// if( this.getUnit() != null) +// metParam.setUnit(this.getUnit()); +// +// if ( this.getUnitStr() != null ) +// metParam.setUnitStr( new String( this.getUnitStr() ) ); +// +// if ( this.getValueString() != null ) +// metParam.setValueString( new String( this.getValueString())); +// +// if ( this.getValue() != null ) +// metParam.setValue(this.getValue()); +// +// metParam.useStringValue = this.useStringValue; +// } +// +// } catch (InstantiationException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } catch (IllegalAccessException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// return metParam; +// } + + } diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/MeanSeaLevelPres.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/MeanSeaLevelPres.java index 3dd600d77b..48aa18f0b5 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/MeanSeaLevelPres.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/metparameters/MeanSeaLevelPres.java @@ -60,17 +60,23 @@ public class MeanSeaLevelPres extends AbstractMetParameter implements else if ( ( formatStr.compareToIgnoreCase("RMSL") == 0 ) || (formatStr.compareToIgnoreCase("SMSL") == 0 )){ double newPresValInMb = Double.NaN; - if ( ( this.getUnit().toString().compareTo("mb") != 0 ) ){ + if ( ( this.getUnit().toString().compareTo("mb") != 0 + && this.getUnit().toString().compareTo("hPa") != 0) ){ double oldPresVal = getValue().doubleValue(); newPresValInMb = this.getUnit() .getConverterTo( NcUnits.MILLIBAR ) .convert( oldPresVal ) ; - //setValue(new Amount ( newPresValInMb, NcUnits.MILLIBAR )); } - double temp = newPresValInMb * 10; + else + newPresValInMb = getValue().doubleValue(); + int multiplier = 10; + if( newPresValInMb / 1000 < 1 ) + multiplier = 1000; + double temp = newPresValInMb * multiplier; + double abbrevPressVal = temp % 1000; abbrevPressVal = Math.abs(abbrevPressVal); - Integer abbrevpressValAsInt = new Integer ( ( int ) abbrevPressVal ); + Integer abbrevpressValAsInt = new Integer ( (int) Math.round (abbrevPressVal) ); String abbrevPressureString = abbrevpressValAsInt.toString(); if ( abbrevPressureString.length() == 1 ){ abbrevPressureString = new String ( "00" + abbrevPressureString); @@ -81,30 +87,34 @@ public class MeanSeaLevelPres extends AbstractMetParameter implements return abbrevPressureString; } - + else if( formatStr.compareToIgnoreCase("PMSL") == 0 ){ + double newPresValInMb = Double.NaN; + if ( ( this.getUnit().toString().compareTo("mb") != 0 + && this.getUnit().toString().compareTo("hPa") != 0) ){ + double oldPresVal = getValue().doubleValue(); + newPresValInMb = (this.getUnit() + .getConverterTo( NcUnits.MILLIBAR ) + .convert( oldPresVal ) ); + } else - return super.getFormattedString( formatStr ); -// String fmtValStr = super.getFormattedString( "%2.2f" ); -// -// return fmtValStr.substring( 1 ); + newPresValInMb = getValue().doubleValue(); + + if( newPresValInMb < 100){ + newPresValInMb *= 100; + } + else if(newPresValInMb > 10000){ + newPresValInMb /= 10; } + int t = (int) Math.round(newPresValInMb); + return String.valueOf(t); + } + else + return super.getFormattedString( formatStr ); + } -// @DeriveMethod -// public MeanSeaLevelPres derive( StationPressure prs, Temperature t, -// DewPointTemp dpt, StationElevation selv ) { -// if( prs.hasValidValue() && t.hasValidValue() && dpt.hasValidValue() && -// selv.hasValidValue() ) { -//// Amount prPmsl ( Amount pres, Amount tmpc, Amount dwpc, Amount selv ); -// } -// else { -// setValueToMissing(); -// } -// -// return this; -// } } diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/InventoryDescription.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/InventoryDescription.java deleted file mode 100644 index 8e6402cb5d..0000000000 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/InventoryDescription.java +++ /dev/null @@ -1,114 +0,0 @@ -package gov.noaa.nws.ncep.edex.common.ncinventory; - -import java.util.ArrayList; -import java.util.HashMap; - -import com.raytheon.uf.common.dataquery.db.QueryParam; - -/** - * An ncInvetory is defined by a set of base constraints which every entry - * (from a query or dataURI) must pass, and a set of inventory constraints which - * will define the levels in the inventory tree. - * Two inventories are the same if they have the same base and inventory constraints. - * The inventoryName is just used to know which 'user/rscDefn' created the inventory. - * - *
- * SOFTWARE HISTORY
- * Date       	Ticket#		Engineer	Description
- * ------------	----------	-----------	--------------------------
- *  01/20/12      #606       Greg Hull   Created
- * 
- * 
- * - * @author ghull - * @version 1 - */ -public class InventoryDescription { - //private String rscDefnName; - private String inventoryName; // the resourceDefnName - - private ArrayList inventoryParamsList; - private HashMap baseQueryParamsMap; - - public InventoryDescription( String rscName ) { - inventoryName = rscName; - inventoryParamsList = new ArrayList(); - baseQueryParamsMap = new HashMap(); - } - - public InventoryDescription( String rscName, - HashMap basePrmsMap, - ArrayList invPrmsList ) { - inventoryName = rscName; - inventoryParamsList = new ArrayList( invPrmsList ); - baseQueryParamsMap = new HashMap( basePrmsMap ); - } - - public void addBaseParameter( String prmName, String prmValue, String op ) { - baseQueryParamsMap.put( prmName, new QueryParam( prmName, prmValue, op) ); - } - - // the order that this is called is important since it will define the - // levels of the tree - public void addInventoryParameter( String prmName, String prmValue, String op ) { - inventoryParamsList.add( new QueryParam( prmName, prmValue, op) ); - } - - public HashMap getBaseQueryParamsMap() { - return baseQueryParamsMap; - } - - public ArrayList getInventoryParamsList() { - return inventoryParamsList; - } - - public String getInventoryName( ) { - return inventoryName; - } - - public String getPluginName() { - return baseQueryParamsMap.get("pluginName").getValue().toString(); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result - + ((baseQueryParamsMap == null) ? 0 : baseQueryParamsMap.toString().hashCode()); - result = prime * result - + ((inventoryParamsList == null) ? 0 : inventoryParamsList.toString().hashCode()); - return result; - } - - // Note that inventoryName is NOT part of the equals - // 2 users can create 2 resourceDefns with different names but as long as the constraints - // are the same then they are the same inventory - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - InventoryDescription other = (InventoryDescription) obj; - if (baseQueryParamsMap == null) { - if (other.baseQueryParamsMap != null) - return false; - } else if (!baseQueryParamsMap.toString().equals( other.baseQueryParamsMap.toString() )) - return false; - if (inventoryParamsList == null) { - if (other.inventoryParamsList != null) - return false; - } else if (!inventoryParamsList.toString().equals(other.inventoryParamsList.toString())) - return false; - return true; - } - - public String toString() { - return "InventoryName="+ inventoryName + - "\nBaseConstraints="+baseQueryParamsMap.toString() + - "\nInventoryConstraints=" + inventoryParamsList.toString(); - } -} diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/ManageNcInventoryMsgHandler.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/ManageNcInventoryMsgHandler.java index 29a7aab7a5..965e759772 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/ManageNcInventoryMsgHandler.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/ManageNcInventoryMsgHandler.java @@ -58,10 +58,15 @@ public class ManageNcInventoryMsgHandler implements IRequestHandler * @@ -100,8 +102,12 @@ public class NcInventory { } public static List getAllNcInventories() { + + synchronized ( inventoryLock ) { + return new ArrayList( inventoriesMap.values() ); } + } public static NcInventory getInventory( NcInventoryDefinition invDescr ) { @@ -134,7 +140,7 @@ public class NcInventory { paramNames = new ArrayList( inventoryDefn.getInventoryParameters() ); - treeTopNode = new InventoryNode( null, "pluginName", inventoryDefn.getPluginName() ); + treeTopNode = new InventoryNode( null, 0, inventoryDefn.getPluginName() ); } // not synchronized since we don't want to block if re are re-initializing @@ -359,7 +365,9 @@ public class NcInventory { } public class InventoryNode { - private String paramName; +// private String paramName; + private Integer paramIndex; // specify the paramName of this node with an index + // into the NcInventory's paramList. private String paramValue; // straight from the DB and may contain spaces. // when returning the value from a search or when // updating from a URI the spaces will be replaced by '_'s. @@ -370,9 +378,9 @@ public class NcInventory { // private int nodeDepth; - public InventoryNode( InventoryNode parent, String pName, String pValue ) { + public InventoryNode( InventoryNode parent, Integer pIndx, String pValue ) { parentNode = parent; - paramName = pName; + paramIndex = pIndx; paramValue = pValue; // nodeCount++; // not the top node @@ -382,8 +390,17 @@ public class NcInventory { return parentNode; } + public Integer getParamIndex() { + return paramIndex; + } + public String getParamName() { - return paramName; + if( paramIndex < 0 || paramIndex >= paramNames.size() ) { + System.out.println("Sanity check: NcInventory getParamName for index "+paramIndex+ + " is out of range for paramNames array?????"); + return ""; + } + return paramNames.get(paramIndex); } public String getParamValue() { @@ -411,7 +428,7 @@ public class NcInventory { parentNode.getRequestConstraintsForNode(); // use the actual paramValue (as queried from the db) which may contain spaces - nodeConstraints.put( paramName, new QueryParam( paramName, paramValue ) ); + nodeConstraints.put( getParamName(), new QueryParam( getParamName(), paramValue ) ); return nodeConstraints; } @@ -442,21 +459,22 @@ public class NcInventory { } // - public InventoryNode createChildNode( String prmName, String prmValue ) { + public InventoryNode createChildNode( Integer prmIndx, String prmValue ) { if( childNodes == null ) { childNodes = new HashMap(); } else { // sanity check that the prmName matches other child nodes assert( !childNodes.isEmpty() ); - assert( childNodes.values().iterator().next().getParamName().equals( prmName ) ); +// assert( childNodes.values().iterator().next().getParamName().equals( prmName ) ); + assert( childNodes.values().iterator().next().getParamIndex() == prmIndx ); } if( childNodes.containsKey( prmValue ) ) { return childNodes.get( prmValue ); } else { - InventoryNode newNode = new InventoryNode( this, prmName, prmValue ); + InventoryNode newNode = new InventoryNode( this, prmIndx, prmValue ); String keyStr = newNode.getParamValue();//.replaceAll(" ","_"); @@ -550,7 +568,8 @@ public class NcInventory { *****************************/ private void searchForNodes( - HashMap searchConstraints, String searchPrm ) { + Map searchConstraints, String searchPrm ) { + String paramName = getParamName(); // if this node doesn't match the constraints, return without adding // anything to the searchResults @@ -591,7 +610,7 @@ public class NcInventory { // if there is a constraint for this node, make sure that // the parameter passes it. - if( !evaluateParameterConstraint( paramName, paramValues.get( paramName ) ) ) { + if( !evaluateParameterConstraint( getParamName(), paramValues.get( getParamName() ) ) ) { return false; } @@ -610,13 +629,13 @@ public class NcInventory { } Object chldPrmValue = paramValues.get( chldPrmName ); - String chldPrmStrVal = chldPrmValue.toString(); + String chldPrmStrVal = (chldPrmValue == null ? "" : chldPrmValue.toString() ); InventoryNode chldNode = getChildNode( chldPrmName, chldPrmStrVal ); if( chldNode == null ) { - chldNode = createChildNode( chldPrmName, chldPrmStrVal ); + chldNode = createChildNode( getNodeDepth()+1, chldPrmStrVal ); if( !chldNode.updateNode( paramValues ) ) { childNodes.remove( chldPrmStrVal ); @@ -634,8 +653,8 @@ public class NcInventory { // // the constraints here should have had any spaces replaced with '_'s. // - public String[] search( - HashMap searchConstraints, String searchPrm ) { + public List search( + Map searchConstraints, String searchPrm ) throws Exception { // lock this ncInventory so that it is not updated in the middle of a search // @@ -648,17 +667,47 @@ public class NcInventory { return null; } - treeTopNode.searchForNodes( searchConstraints, searchPrm ); + // make a copy and remove any constraints that don't have an inventory parameter + // but do have a baseConstraint. + Map searchConstraints2 = + new HashMap( searchConstraints ); + + // make sure that each constraint in the query either has an inventory param to + // test for or has a the same base constraint for the whole inventory. + for( String constrPrm : searchConstraints.keySet() ) { + + RequestConstraint baseConstr = inventoryDefn.getBaseConstraints().get( constrPrm ); + if( baseConstr != null && + searchConstraints.get(constrPrm).equals( baseConstr ) ) { + searchConstraints2.remove( constrPrm ); + } + // + if( !inventoryDefn.getInventoryParameters().contains( constrPrm ) ) { + if( baseConstr == null || + !searchConstraints.get( constrPrm).equals( baseConstr ) ) { + + throw new Exception("Query not supported on NcInventory, "+ + inventoryDefn.getInventoryName()+": The search param,"+ + constrPrm +", is not stored in the inventory and there is no "+ + "matching base constraint on the inventory"); + } + } + } + + treeTopNode.searchForNodes( searchConstraints2, searchPrm ); - String[] retRslts = new String[ searchResults.size() ]; +// String[] retRslts = new String[ searchResults.size() ]; + List retRslts = new ArrayList( searchResults.size() ); int r=0; StringBuffer sbuf = new StringBuffer( ); for( InventoryNode inode : searchResults ) { - inode.getBranchValueAsString( sbuf, "/" ); - retRslts[r++] = sbuf.toString(); - sbuf.setLength(0); +// inode.getBranchValueAsString( sbuf, "/" ); +// retRslts[r++] = sbuf.toString(); +// sbuf.setLength(0); + + retRslts.add( inode.getBranchValue() ); } return retRslts; diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryDefinition.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryDefinition.java index 673c03a1b6..a874382740 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryDefinition.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryDefinition.java @@ -2,6 +2,7 @@ package gov.noaa.nws.ncep.edex.common.ncinventory; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.xml.bind.annotation.XmlAccessType; @@ -35,7 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; * 05/03/12 #606 Greg Hull make ISerializable; changed to store all constraints as * RequestConstraints in baseConstraints and access as QueryParam * 05/23/12 #606 Greg Hull Save jaxb files in static_common for edex to read on startup - * + * 08/15/13 #1031 Greg Hull supportsQuery() for super-inventories * * * @author ghull @@ -67,6 +68,8 @@ public class NcInventoryDefinition implements ISerializableObject { @XmlJavaTypeAdapter(value = RequestableMetadataMarshaller.class) private HashMap baseConstraints; + private String invDefnFileName = null; + // no-arg constructor required for serialization public NcInventoryDefinition() { inventoryName = "none"; @@ -88,6 +91,66 @@ public class NcInventoryDefinition implements ISerializableObject { baseConstraints = new HashMap( baseConstrMap ); } + // return true if this inventory will support queries made with the given + // request constraints and parameters. + public Boolean supportsQuery( Map queryConstraints, List reqParams) { + // first all of the requested parameters have to be stored in the inventory. + for( String reqParam : reqParams ) { + if( !inventoryParameters.contains( reqParam ) ) { + return false; + } + } + + // if there are baseconstraints then the inventory only supports the + // query if there is an equal or stricter request constriaint. + // + for( String invConstrParam : baseConstraints.keySet() ) { + RequestConstraint invConstr = baseConstraints.get( invConstrParam ); + + if( invConstr != RequestConstraint.WILDCARD ) { + + if( !queryConstraints.containsKey( invConstrParam ) ) { + return false; + } + RequestConstraint queryConstr = queryConstraints.get( invConstrParam ); + + if( invConstr.equals( queryConstr ) ) { + // + } + // if the constraint is not the same we will need the data in the inventory + // to satisfy the query. + else if( !inventoryParameters.contains( invConstrParam ) ) { + return false; + } + else { + // TODO : determine if the query constraint is stricter than + // the inventory constraint and continue if true; + return false; + } + } + } + + // second all the request constraints either have to have the data in the inventory or + // have the same constraint in the base constraints + // have to be looser than the requesting constraints. + // + for( String queryParam : queryConstraints.keySet() ) { + // if a constraint parameter is not stored in the inventory then it must + // have the same constraint as a base constraint. + if( !inventoryParameters.contains( queryParam ) ) { + + if( !baseConstraints.containsKey( queryParam ) ) { + return false; + } + else if( !baseConstraints.get( queryParam ).equals( + queryConstraints.get( queryParam ) ) ) { + return false; + } + } + } + return true; + } + public void setInventoryName(String inventoryName) { this.inventoryName = inventoryName; } @@ -121,20 +184,13 @@ public class NcInventoryDefinition implements ISerializableObject { return baseConstraints.get( paramName ); } - // if there are constraints for a parameter stored in the inventory the NcInventory - // needs to know them when making the catalog query for that parameter. - // - /// This was used by queryChildNodes() before it was replaced -// public QueryParam getQueryParamFromConstraints( String paramName ) { -// if( baseConstraints.containsKey( paramName ) ) { -// return new QueryParam( paramName, -// baseConstraints.get( paramName ).getConstraintValue(), -// getQueryOperandFromRequestConstraintType( -// baseConstraints.get( paramName ).getConstraintType() ) ); -// } -// -// return null; -// } + public String getInvDefnFileName() { + return invDefnFileName; + } + + public void setInvDefnFileName(String invDefnFileName) { + this.invDefnFileName = invDefnFileName; + } // return a version of the baseConstraints using QueryParams instead of // RequestConstraints. (Should we leave out the constraints for the inventory parameters?) @@ -202,7 +258,7 @@ public class NcInventoryDefinition implements ISerializableObject { return result; } - // Note that inventoryName is NOT part of the equals + // Note that inventoryName and filename are NOT part of the equals // 2 users can create 2 resourceDefns with different names but as long as the constraints // are the same then they are the same inventory @Override @@ -230,7 +286,7 @@ public class NcInventoryDefinition implements ISerializableObject { public String toString() { return "InventoryName="+ inventoryName + "\nBaseConstraints="+baseConstraints.toString() + - "\nInventoryConstraints=" + inventoryParameters.toString(); + "\nInventoryParameters=" + inventoryParameters.toString(); } public static class InvParmListAdapter extends XmlAdapter> { diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryInitializer.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryInitializer.java index a3b097897f..e1fd3ac046 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryInitializer.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryInitializer.java @@ -33,7 +33,7 @@ public class NcInventoryInitializer { public static final String NCINVENTORY_DEFN_PATH = "ncep/NcInventoryDefinitions"; public void initialize() throws Exception { - System.out.println("initializing ncinventory"); +// System.out.println("initializing ncinventory"); IPathManager pathMngr = PathManagerFactory.getPathManager(); @@ -52,24 +52,32 @@ public class NcInventoryInitializer { new String[]{".xml"}, false, true ); for( LocalizationFile lFile : invDefnsFiles ) { - System.out.println("invDefn file is :"+ lFile.getName() ); + System.out.println("NcInventory: Creating NcInventory from :"+ lFile.getName() ); File invDefnFile = lFile.getFile(); - Object xmlObj; try { - xmlObj = SerializationUtil.jaxbUnmarshalFromXmlFile( - invDefnFile.getAbsolutePath() ); - if( !(xmlObj instanceof NcInventoryDefinition) ) { - throw new Exception("NcInventoryDefinition .xml file is not an NcInventoryDefinition object???"); + NcInventoryDefinition invDefn = SerializationUtil.jaxbUnmarshalFromXmlFile( + NcInventoryDefinition.class, invDefnFile.getAbsolutePath() ); + NcInventory existingID = NcInventory.getInventory( invDefn ); + + if( existingID != null ) { + String existingFileName = existingID.getInventoryDefinition().getInvDefnFileName(); + + System.out.println("NcInventory: sanity check : a matching InvDefn for this file already exists. name= " + + existingID.getInventoryDefinition().getInventoryName() + " from file: " + + ( existingFileName == null ? " user created inventory ": existingFileName ) ); + // add an entry in the inventoryAliasMap? + if( existingFileName != null ) { + continue; + } } - NcInventoryDefinition invDefn = (NcInventoryDefinition)xmlObj; NcInventory.initInventory( invDefn, false ); + invDefn.setInvDefnFileName( lFile.getName() ); } catch( Exception ex ) { NcInventory.logError( ex.getMessage() ); } } } - } diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryMngr.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryMngr.java index c906ca4bd7..aff5624b0a 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryMngr.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryMngr.java @@ -63,16 +63,10 @@ public class NcInventoryMngr { fwriter.write( createInvMsg ); fwriter.close(); - Object createMsgObj = SerializationUtil.jaxbUnmarshalFromXmlFile( tmpFile ); + ManageNcInventoryMsg invCreateMsg = SerializationUtil.jaxbUnmarshalFromXmlFile( ManageNcInventoryMsg.class, tmpFile ); tmpFile.delete(); - if( !(createMsgObj instanceof ManageNcInventoryMsg) ) { - throw new Exception("NcInventoryMngr create Error: msg object is not ManageNcInventoryMsg"); - } - - ManageNcInventoryMsg invCreateMsg = (ManageNcInventoryMsg)createMsgObj; - NcInventory inv = NcInventory.getInventory( invCreateMsg.getInventoryName() ); // if there is already an inventory and if it was created recently (ie. by the @@ -91,8 +85,7 @@ public class NcInventoryMngr { } } - String stsStr = NcInventory.initInventory( invCreateMsg.getInventoryDefinition(), - reload ); + NcInventory.initInventory( invCreateMsg.getInventoryDefinition(), reload ); } catch ( Exception ex ) { NcInventory.logError( ex.getMessage() ); diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsg.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsg.java index a2e8c13d66..9632b65390 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsg.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsg.java @@ -1,6 +1,7 @@ package gov.noaa.nws.ncep.edex.common.ncinventory; import java.util.HashMap; +import java.util.Map; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; @@ -14,6 +15,7 @@ import com.raytheon.uf.common.serialization.comm.IServerRequest; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 04/13/12 #606 Greg Hull created + * 08/15/13 #1031 Greg Hull add requestedParam * * * @@ -37,11 +39,15 @@ public class NcInventoryRequestMsg implements IServerRequest { @DynamicSerializeElement private String inventoryName; // the userName+rscDefnName + // a list of parameter values that are expected in the result. if empty then default to all parameters @DynamicSerializeElement - private String requestedParam; + private String[] requestedParams; @DynamicSerializeElement - private HashMap reqConstraintsMap; + private Boolean uniqueValues=false; + + @DynamicSerializeElement + private Map reqConstraintsMap; public static NcInventoryRequestMsg makeQueryRequest( ) { @@ -76,15 +82,15 @@ public class NcInventoryRequestMsg implements IServerRequest { this.inventoryName = inventoryName; } - public String getRequestedParam() { - return requestedParam; + public String[] getRequestedParams() { + return requestedParams; } - public void setRequestedParam(String requestedParam) { - this.requestedParam = requestedParam; + public void setRequestedParams(String[] requestedParams) { + this.requestedParams = requestedParams; } - public HashMap getReqConstraintsMap() { + public Map getReqConstraintsMap() { if( reqConstraintsMap == null ) { return new HashMap(); } @@ -94,7 +100,7 @@ public class NcInventoryRequestMsg implements IServerRequest { } public void setReqConstraintsMap( - HashMap reqConstraintsMap) { + Map reqConstraintsMap) { this.reqConstraintsMap = reqConstraintsMap; } @@ -105,4 +111,12 @@ public class NcInventoryRequestMsg implements IServerRequest { public void setRequestType(NcInventoryRequestType requestType) { this.requestType = requestType; } + + public Boolean getUniqueValues() { + return uniqueValues; + } + + public void setUniqueValues(Boolean uniqueValues) { + this.uniqueValues = uniqueValues; + } } diff --git a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsgHandler.java b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsgHandler.java index 58eb72a570..dc78a03176 100644 --- a/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsgHandler.java +++ b/ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/common/ncinventory/NcInventoryRequestMsgHandler.java @@ -21,6 +21,7 @@ import java.io.FileWriter; import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -41,6 +42,7 @@ import com.raytheon.uf.common.serialization.comm.IServerRequest; * 04/13/12 #606 Greg Hull add dumpInventory() * 05/18/12 #606 Greg Hull add directory and summary * 11/15/12 #950 Greg Hull Don't treat empty inventory as an error. + * 08/18/13 #1031 Greg Hull allow for requesting specific multiple parameters * * * @@ -73,6 +75,10 @@ public class NcInventoryRequestMsgHandler implements IRequestHandler invParamNames = invDefn.getInventoryParameters(); + + // determine which requested parameter is last in the list and set it as the search param + String searchParam = ""; + int searchParamIndx = -1; + String requestedParamsStr =""; + + String[] reqParams; + + if( queryRequest.getRequestedParams() == null || + queryRequest.getRequestedParams().length == 0 ) { + + queryRequest.setRequestedParams( invParamNames.toArray( new String[0] ) ); + } + + reqParams= queryRequest.getRequestedParams(); + + int numReqParams = reqParams.length; + Integer reqParamIndexes[] = new Integer[ numReqParams ]; - return invContents; + // loop thru the requested parameters; validate and get the indexes used to get the value + // from the queried results + // + for( int r=0 ; r invContents = inv.search( + queryRequest.getReqConstraintsMap(), searchParam ); + + List retValues = new ArrayList(); + + // + for( String[] rslt : invContents ) { + // if only 1 req'd param then no delimiters + StringBuffer sBuf = new StringBuffer( rslt[ reqParamIndexes[0] ] ); + + for( int reqIndxIndx=1 ; reqIndxIndx * @@ -78,12 +86,19 @@ public class NcInventoryUpdater { attrsMap.put( "pluginName", pluginName ); PluginDataObject pdo = null; + // make sure there are no null values in the attrMap + for( String k : attrsMap.keySet() ) { + if( attrsMap.get(k) == null ) { +// System.out.println("Updating null URI field for :"+k); + attrsMap.put(k, ""); + } + } + try { attrsMap.putAll(DataURIUtil.createDataURIMap(dataURI)); attrsMap.put( "dataURI", dataURI ); - // HACK alert! Currently the URI for the radar plugin does not have all the fields // that we need to maintain in the inventory and so we will use the URI to query // the record directly and then create the attrsMap from it. @@ -94,13 +109,27 @@ public class NcInventoryUpdater { List recList = new ArrayList(); ; try { - query = new TableQuery("metadata", pdo.getClass().getName()); + PluginRegistry reg = PluginRegistry.getInstance(); + PluginProperties props = reg.getRegisteredObject(pluginName); + + if( props == null || props.getRecord() == null) { + out.println("Error Updating NcInventory getting radar record class for TableQuery???"); + continue; + } + else { + pdo = props.getRecord().newInstance(); + } + + if( pdo == null ) { + throw new Exception( "Can't find PDO for radar plugin."); + } + + query = new TableQuery("metadata", pdo.getClass().getName() ); query.addParameter("dataURI", dataURI ); recList = (List)query.execute(); if( recList.size() != 1 ) { - out.println("??? radar query for "+dataURI+ " returned size of "+ - recList.size() ); + out.println("??? radar query for "+dataURI+ " returned size of "+ recList.size() ); } else { RadarRecord radRec = (RadarRecord)recList.get(0); @@ -131,23 +160,29 @@ public class NcInventoryUpdater { // update with the URI // List invDescList = NcInventory.getInventoriesForPlugin( pluginName ); + Integer invUpdCnt = 0; for( NcInventoryDefinition invDescr : invDescList ) { NcInventory inv = NcInventory.getInventory(invDescr); + if( inv.getInventoryDefinition().getInventoryName().indexOf( "GFS230") > 0 ) { + System.out.println( "Branches "+ inv.getBranchCount() + " Nodes " + inv.getNodeCount() ); + } try { if( inv != null && inv.updateInventory( attrsMap ) ) { + invUpdCnt++; // add to statistics } else { } } catch( Exception e ) { - NcInventory.logError("Failed to update NcInventory. "+e.getMessage() ); + NcInventory.logError("Failed to update NcInventory, "+ + invDescr.getInventoryName()+":"+e.getMessage() ); } } - - } catch ( Exception e ) { + } + catch ( Exception e ) { NcInventory.logError("NcInventoryUpdate: Unable to create attr map for URI: "+ dataURI+ "\n errror is: "+ e.getMessage() ); continue; diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.airmet/res/spring/airmet-common.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.airmet/res/spring/airmet-common.xml old mode 100755 new mode 100644 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.airmet/res/spring/airmet-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.airmet/res/spring/airmet-ingest.xml old mode 100755 new mode 100644 index 4b1fe89335..867cee8113 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.airmet/res/spring/airmet-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.airmet/res/spring/airmet-ingest.xml @@ -33,13 +33,13 @@ airmet - + --> - + airmet diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.atcf/res/spring/atcf-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.atcf/res/spring/atcf-ingest.xml index 2766178013..059bea827e 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.atcf/res/spring/atcf-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.atcf/res/spring/atcf-ingest.xml @@ -21,7 +21,7 @@ - + @@ -42,11 +42,11 @@ atcf - + - + atcf diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.aww/res/spring/aww-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.aww/res/spring/aww-ingest.xml index 43e4b06517..5199c6cc78 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.aww/res/spring/aww-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.aww/res/spring/aww-ingest.xml @@ -26,7 +26,7 @@ aww - + - + aww diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.convsigmet/res/spring/convsigmet-common.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.convsigmet/res/spring/convsigmet-common.xml old mode 100755 new mode 100644 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.convsigmet/res/spring/convsigmet-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.convsigmet/res/spring/convsigmet-ingest.xml old mode 100755 new mode 100644 index ce4746a203..32e0c3183f --- a/ncep/gov.noaa.nws.ncep.edex.plugin.convsigmet/res/spring/convsigmet-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.convsigmet/res/spring/convsigmet-ingest.xml @@ -34,13 +34,13 @@ convsigmet - + --> - + convsigmet diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ffg/res/spring/ffg-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ffg/res/spring/ffg-ingest.xml index a215b07deb..48a11a8b6f 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ffg/res/spring/ffg-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ffg/res/spring/ffg-ingest.xml @@ -34,13 +34,13 @@ ffg - + --> - + ffg diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.classpath b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.classpath new file mode 100644 index 0000000000..ad32c83a78 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.project b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.project new file mode 100644 index 0000000000..24a4e58912 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.project @@ -0,0 +1,28 @@ + + + gov.noaa.nws.ncep.edex.plugin.gempak + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.settings/org.eclipse.jdt.core.prefs b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..39666a0eeb --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Tue Jun 04 08:26:56 EDT 2013 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/META-INF/MANIFEST.MF b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..d58986f826 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Gempak +Bundle-SymbolicName: gov.noaa.nws.ncep.edex.plugin.gempak +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: com.raytheon.edex.common;bundle-version="1.12.1174", + com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174", + gov.noaa.nws.ncep.common.dataplugin.gempak;bundle-version="1.0.0", + com.raytheon.uf.common.message;bundle-version="1.12.1174", + com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174", + com.raytheon.uf.common.pointdata;bundle-version="1.12.1174", + com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0", + com.raytheon.uf.common.parameter;bundle-version="1.0.0", + com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174", + com.raytheon.uf.common.gridcoverage;bundle-version="1.0.0", + javax.measure;bundle-version="1.0.0", + com.raytheon.uf.common.comm;bundle-version="1.12.1174" diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/build.properties b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/build.properties new file mode 100644 index 0000000000..5791d48d5f --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + res/ diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/gov.noaa.nws.ncep.edex.plugin.gempak.ecl b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/gov.noaa.nws.ncep.edex.plugin.gempak.ecl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/res/spring/gempak-common.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/res/spring/gempak-common.xml new file mode 100644 index 0000000000..0817d3edbe --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/res/spring/gempak-common.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/res/spring/gempak-request.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/res/spring/gempak-request.xml new file mode 100644 index 0000000000..898e1ba94b --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/res/spring/gempak-request.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridDataRequestHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridDataRequestHandler.java new file mode 100644 index 0000000000..97baee1e15 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridDataRequestHandler.java @@ -0,0 +1,62 @@ +package gov.noaa.nws.ncep.edex.plugin.gempak.handler; + +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.GetGridDataRequest; + +import java.util.List; + +import com.raytheon.uf.common.dataplugin.grid.GridRecord; +import com.raytheon.uf.common.dataplugin.grid.dataquery.GridQueryAssembler; +import com.raytheon.uf.common.dataplugin.persist.IPersistable; +import com.raytheon.uf.common.dataquery.db.QueryParam; +import com.raytheon.uf.common.datastorage.IDataStore; +import com.raytheon.uf.common.datastorage.Request; +import com.raytheon.uf.common.datastorage.records.IDataRecord; +import com.raytheon.uf.common.serialization.comm.IRequestHandler; +import com.raytheon.uf.edex.database.plugin.PluginDao; +import com.raytheon.uf.edex.database.plugin.PluginFactory; +import com.raytheon.uf.edex.database.query.DatabaseQuery; + +public class GetGridDataRequestHandler implements IRequestHandler { + + @Override + public IDataRecord handleRequest(GetGridDataRequest request) throws Exception { + PluginDao gribDao = null; + gribDao = PluginFactory.getInstance().getPluginDao("grid"); + + GridQueryAssembler gqa = new GridQueryAssembler("GEMPAK"); + gqa.setDatasetId(request.getModelId()); + gqa.setMasterLevelName(request.getVcoord()); + gqa.setParameterAbbreviation(request.getParm()); + gqa.setLevelOneValue(Double.valueOf(request.getLevel1())); + gqa.setLevelTwoValue(Double.valueOf(request.getLevel2())); + + List qpl = gqa.getQueryParams(); + + DatabaseQuery query = new DatabaseQuery(GridRecord.class); + for (QueryParam qp: qpl) { + System.out.println(qp); + if ( ! qp.getField().equals("pluginName") ) { + query.addQueryParam(qp); + } + } + query.addQueryParam("dataTime.refTime", request.getReftime(), "="); + query.addQueryParam("dataTime.fcstTime", request.getFcstsec(), "="); + + IDataRecord gridData = null; + + List dbList = gribDao.queryByCriteria(query); + if (dbList != null && !dbList.isEmpty()) { + for (Object pdo : dbList) { + GridRecord record = (GridRecord) pdo; + + System.out.println(record.getDataURI()); + + IDataStore dataStore = gribDao.getDataStore((IPersistable) record); + gridData = dataStore.retrieve(record.getDataURI(), "Data", Request.ALL); + + } + } + + return gridData; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridInfoRequestHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridInfoRequestHandler.java new file mode 100644 index 0000000000..4da2893bb4 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridInfoRequestHandler.java @@ -0,0 +1,56 @@ +package gov.noaa.nws.ncep.edex.plugin.gempak.handler; + +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.GetGridInfoRequest; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.raytheon.uf.common.dataplugin.grid.GridRecord; +import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapper; +import com.raytheon.uf.common.parameter.mapping.ParameterMapper; +import com.raytheon.uf.common.serialization.comm.IRequestHandler; +import com.raytheon.uf.edex.database.dao.CoreDao; +import com.raytheon.uf.edex.database.dao.DaoConfig; +import com.raytheon.uf.edex.database.query.DatabaseQuery; + +public class GetGridInfoRequestHandler implements IRequestHandler { + + @Override + public List> handleRequest(GetGridInfoRequest request) throws Exception { + CoreDao gribDao = null; + gribDao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + + List> gridList = new ArrayList>(); + + DatabaseQuery query = new DatabaseQuery(GridRecord.class); + query.addQueryParam("info.datasetId", request.getModelId(), "="); + + List dbList = gribDao.queryByCriteria(query); + if (dbList != null && !dbList.isEmpty()) { + for (Object pdo : dbList) { + GridRecord record = (GridRecord) pdo; + + Map gridMap = new HashMap(); + + gridMap.put("model", record.getDatasetId()); + gridMap.put("second", record.getSecondaryId()); + gridMap.put("ensemble", record.getEnsembleId()); + gridMap.put("param", ParameterMapper.getInstance().lookupAlias( + record.getParameter().getAbbreviation(), "GEMPAK")); + gridMap.put("vcoord", LevelMapper.getInstance().lookupAlias( + record.getLevel().getMasterLevel().getName(), "GEMPAK")); + gridMap.put("level1", record.getLevel().getLevelOneValueAsString()); + gridMap.put("level2", record.getLevel().getLevelTwoValueAsString()); + gridMap.put("reftime", record.getDataTime().getRefTime().toString()); + gridMap.put("fcstsec", String.valueOf(record.getDataTime().getFcstTime())); + + gridList.add(gridMap); + + } + } + + return gridList; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridNavRequestHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridNavRequestHandler.java new file mode 100644 index 0000000000..cba0d2d081 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetGridNavRequestHandler.java @@ -0,0 +1,100 @@ +package gov.noaa.nws.ncep.edex.plugin.gempak.handler; + +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.GetGridNavRequest; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.geotools.referencing.CRS; +import org.geotools.referencing.operation.projection.MapProjection; +import org.geotools.referencing.operation.projection.MapProjection.AbstractProvider; +import org.opengis.parameter.ParameterValueGroup; + +import com.raytheon.uf.common.dataplugin.grid.GridInfoRecord; +import com.raytheon.uf.common.gridcoverage.GridCoverage; +import com.raytheon.uf.common.serialization.comm.IRequestHandler; +import com.raytheon.uf.edex.database.dao.CoreDao; +import com.raytheon.uf.edex.database.dao.DaoConfig; +import com.raytheon.uf.edex.database.query.DatabaseQuery; + +public class GetGridNavRequestHandler implements IRequestHandler { + + @Override + public List> handleRequest(GetGridNavRequest request) throws Exception { + CoreDao gribDao = null; + gribDao = new CoreDao(DaoConfig.forClass(GridInfoRecord.class)); + + String label; + Double value; + + List> navList = new ArrayList>(); + + DatabaseQuery query = new DatabaseQuery(GridInfoRecord.class); + query.addQueryParam("datasetId", request.getModelId(), "="); + query.addDistinctParameter("location"); + + List dbList = gribDao.queryByCriteria(query); + if (dbList != null && !dbList.isEmpty()) { + for (Object pdo : dbList) { + GridCoverage record = (GridCoverage) pdo; + MapProjection mp = CRS.getMapProjection(record.getCrs()); + + ParameterValueGroup group = mp.getParameterValues(); + + Map gridNav = new HashMap(); + gridNav.put("projtype", record.getProjectionType()); + gridNav.put("spatialkey", record.spatialKey()); + gridNav.put("spacingunit", record.getSpacingUnit()); + gridNav.put("lowerleftlat", record.getLowerLeftLat().toString()); + gridNav.put("lowerleftlon", record.getLowerLeftLon().toString()); + + label = AbstractProvider.CENTRAL_MERIDIAN.getName().getCode(); + try { + value = group.parameter(label).doubleValue(); + } catch (RuntimeException e) { + value = 0.0; + } + gridNav.put(label, Double.toString(value)); + + label = AbstractProvider.LATITUDE_OF_ORIGIN.getName().getCode(); + try { + value = group.parameter(label).doubleValue(); + } catch (RuntimeException e) { + value = 0.0; + } + gridNav.put(label, Double.toString(value)); + + label = AbstractProvider.STANDARD_PARALLEL_1.getName().getCode(); + try { + value = group.parameter(label).doubleValue(); + } catch (RuntimeException e) { + value = 0.0; + } + gridNav.put(label, Double.toString(value)); + + label = AbstractProvider.STANDARD_PARALLEL_2.getName().getCode(); + try { + value = group.parameter(label).doubleValue(); + } catch (RuntimeException e) { + value = 0.0; + } + gridNav.put(label, Double.toString(value)); + + label = AbstractProvider.SCALE_FACTOR.getName().getCode(); + try { + value = group.parameter(label).doubleValue(); + } catch (RuntimeException e) { + value = 0.0; + } + gridNav.put(label, Double.toString(value)); + + navList.add(gridNav); + + } + } + + return navList; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetStationsHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetStationsHandler.java new file mode 100644 index 0000000000..995e40e2be --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetStationsHandler.java @@ -0,0 +1,80 @@ +package gov.noaa.nws.ncep.edex.plugin.gempak.handler; + +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.GetStationsRequest; +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.Station; + +import java.util.ArrayList; +import java.util.List; + +import com.raytheon.uf.common.dataquery.db.ReturnedField; +import com.raytheon.uf.common.serialization.comm.IRequestHandler; +import com.raytheon.uf.edex.database.plugin.PluginFactory; +import com.raytheon.uf.edex.database.query.DatabaseQuery; +import com.raytheon.uf.edex.pointdata.spatial.ObStationDao; +import com.vividsolutions.jts.geom.Point; + +public class GetStationsHandler implements IRequestHandler { + + private static final String STATION_DAO = "ObStation"; + + private static final String STATION_ID = "stationId"; + + private static final String WMO_INDEX = "wmoIndex"; + + private static final String ELEVATION = "elevation"; + + private static final String COUNTRY = "country"; + + private static final String STATE = "state"; + + private static final String LOCATION = "location"; + + @Override + public List handleRequest(GetStationsRequest request) + throws Exception { + // dao = + List stnList = new ArrayList(); + // PluginFactory.getInstance().getPluginDao(request.getPluginName()); + String entity = PluginFactory.getInstance() + .getPluginRecordClass(request.getPluginName()).getName(); + ObStationDao obStationDao = new ObStationDao(); + + DatabaseQuery dbQuery = new DatabaseQuery(STATION_DAO); + dbQuery.addDistinctParameter(STATION_ID); + // dbQuery.addReturnedField(new ReturnedField(STATION_ID)); + dbQuery.addReturnedField(new ReturnedField(WMO_INDEX)); + dbQuery.addReturnedField(new ReturnedField(ELEVATION)); + dbQuery.addReturnedField(new ReturnedField(COUNTRY)); + dbQuery.addReturnedField(new ReturnedField(STATE)); + dbQuery.addReturnedField(new ReturnedField(LOCATION)); + dbQuery.addJoinField(STATION_DAO, entity, STATION_ID, + "location.stationId"); + + List results = obStationDao.queryByCriteria(dbQuery); + for (Object obj : results) { + // System.out.println(obj.getClass().getCanonicalName()); + Object[] row = (Object[]) obj; + Station stn = new Station(); + stn.setStationId((String) row[0]); + if (row[1] != null) + stn.setWmoIndex((Integer) row[1]); + if (row[2] != null) + stn.setElevation((Integer) row[2]); + if (row[3] != null) + stn.setCountry((String) row[3]); + if (row[4] != null) + stn.setState((String) row[4]); + if (row[5] != null) { + Point loc = (Point) row[5]; + stn.setLongitude(loc.getX()); + stn.setLatitude(loc.getY()); + } + + if (stn != null) + stnList.add(stn); + } + // System.out.println("Retrieved: " + results.size()); + + return stnList; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetTimesHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetTimesHandler.java new file mode 100644 index 0000000000..c67c685e1b --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/GetTimesHandler.java @@ -0,0 +1,33 @@ +package gov.noaa.nws.ncep.edex.plugin.gempak.handler; + +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.GetTimesRequest; +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.GetTimesResponse; + +import java.util.List; + +import com.raytheon.uf.common.dataquery.db.ReturnedField; +import com.raytheon.uf.common.serialization.comm.IRequestHandler; +import com.raytheon.uf.edex.database.plugin.PluginDao; +import com.raytheon.uf.edex.database.plugin.PluginFactory; +import com.raytheon.uf.edex.database.query.DatabaseQuery; + +public class GetTimesHandler implements IRequestHandler { + private PluginDao dao; + + @Override + public Object handleRequest(GetTimesRequest request) throws Exception { + dao = PluginFactory.getInstance().getPluginDao(request.getPluginName()); + String entity = PluginFactory.getInstance() + .getPluginRecordClass(request.getPluginName()).getName(); + DatabaseQuery dbQuery = new DatabaseQuery(entity); + dbQuery.setDistinct(true); + dbQuery.addReturnedField(new ReturnedField(request.getTimeField())); + + List results = dao.queryByCriteria(dbQuery); + GetTimesResponse response = new GetTimesResponse(); + response.setTimes(results); + + return response; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/StationDataRequestHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/StationDataRequestHandler.java new file mode 100644 index 0000000000..24111c6b67 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gempak/src/gov/noaa/nws/ncep/edex/plugin/gempak/handler/StationDataRequestHandler.java @@ -0,0 +1,82 @@ +package gov.noaa.nws.ncep.edex.plugin.gempak.handler; + +import gov.noaa.nws.ncep.common.dataplugin.gempak.request.StationDataRequest; + +import java.util.HashMap; +import java.util.Map; + +import com.raytheon.uf.common.pointdata.PointDataContainer; +import com.raytheon.uf.common.pointdata.PointDataView; +import com.raytheon.uf.common.pointdata.PointDataDescription.Type; +import com.raytheon.uf.common.serialization.comm.IRequestHandler; +import com.raytheon.uf.edex.pointdata.PointDataQuery; + +public class StationDataRequestHandler implements + IRequestHandler { + + private static final String STATION_ID = "location.stationId"; + + private static final String REF_TIME = "dataTime.refTime"; + + private static final String REF_HOUR = "refHour"; + + private static final String REP_TYPE = "reportType"; + + @Override + public Map handleRequest(StationDataRequest request) + throws Exception { + + Map params = new HashMap(); + + // PluginDao dao = PluginFactory.getInstance().getPluginDao( + // request.getPluginName()); + + PointDataQuery query = new PointDataQuery(request.getPluginName()); + + query.setParameters(request.getParmList()); + query.addParameter(STATION_ID, request.getStationId(), "="); + query.addParameter(REF_HOUR, request.getRefTime().toString(), "="); + query.addParameter(REF_TIME, request.getRefTime().toString(), "<="); + if ( ! request.getPartNumber().equals("0") ) { + query.addParameter(REP_TYPE, request.getPartNumber(), "="); + } + + query.requestAllLevels(); + + PointDataContainer container = null; + container = query.execute(); + if (container == null) + return params; + + // System.out.println("How Many Did I Get? = " + // + container.getAllocatedSz()); + for (int n = 0; n < container.getAllocatedSz(); n++) { + PointDataView pdv = container.readRandom(n); + for (String param : pdv.getContainer().getParameters()) { + int dimensions = pdv.getDimensions(param); + Type t = pdv.getType(param); + switch (t) { + case FLOAT: + case DOUBLE: + case INT: + case LONG: + if (dimensions == 2) { + params.put(param, pdv.getNumberAllLevels(param)); + } else { + params.put(param, pdv.getNumber(param)); + } + break; + case STRING: + if (dimensions == 2) { + params.put(param, pdv.getStringAllLevels(param)); + } else { + params.put(param, pdv.getString(param)); + } + break; + } + } + } + + return params; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-ingest.xml index c89de9dd0f..3ad856b822 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-ingest.xml @@ -16,7 +16,7 @@ - + geomag - + - + geomag diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java index 2254a337e4..98206cb66b 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java @@ -56,7 +56,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * Removed source and sourcePreference tables. * Get source priority from GeoMagStaiton.xml * Added handles for same stations but with or without header - * Fixed HAD default value + * Fixed HAD, NGK, CNB default value * * * @author sgurung, qzhou @@ -309,6 +309,7 @@ public class GeoMagDecoder extends AbstractDecoder { comp4Val = MISSING_VAL; } + // process "abnormal" values if (unit.equalsIgnoreCase("0.01nT")) { // title line defined unit, e.g. 0.01nT comp1Val = comp1Val/100; @@ -326,6 +327,28 @@ public class GeoMagDecoder extends AbstractDecoder { comp3Val = MISSING_VAL; } + if (stationCode.equals("CNB")) { //HAD missing are 99999.9 and 999.999 + if (comp1Val == 99999.90f) + comp1Val = MISSING_VAL; + if ( comp2Val == 99999.90f) + comp2Val = MISSING_VAL; + if (comp3Val == 99999.90f) + comp3Val = MISSING_VAL; + if (comp4Val == 99999.90f) + comp4Val = MISSING_VAL; + } + + if (stationCode.equals("NGK") || stationCode.equals("WNG") || stationCode.equals("MEA")) { //NGK missing are 99999.00 + if (comp1Val == 99999.00f) + comp1Val = MISSING_VAL; + if ( comp2Val == 99999.00f) + comp2Val = MISSING_VAL; + if (comp3Val == 99999.00f) + comp3Val = MISSING_VAL; + if (comp4Val == 99999.00f) + comp4Val = MISSING_VAL; + } + if (comp1Val != null && comp1Val != MISSING_VAL && comp2Val != null && comp2Val != MISSING_VAL) { if (conversionRequired) { /* @@ -415,92 +438,12 @@ public class GeoMagDecoder extends AbstractDecoder { retData.add(record); } } - //temporary here -// KStationCoefficient station2 = KStationCoefficientLookup.getInstance().getStationByCode("BOU"); -// System.out.println("*****Decoder2 "+ station2.getStationCode() +" "+ station2.getKFitTime().get(0).getCoeffA()); - -// String dataURI = "/geomag/2013-04-01_00:00:00.0/BOU/102/GEOMAG"; -// -// GeoMagRecord rec = new GeoMagRecord(dataURI); -// File loc = HDF5Util.findHDF5Location(rec); -// IDataStore dataStore = DataStoreFactory.getDataStore(loc); -// long[] obsTimes = null; -// float[] comp1 = new float[60]; -// float[] comp2 = new float[60]; -// -// try { -// IDataRecord[] dataRec = dataStore.retrieve(dataURI); -// for (int i = 0; i < dataRec.length; i++) { -// if (dataRec[i].getName().equals(GeoMagRecord.component1)) { -// long[] obs_times = (((LongDataRecord) dataRec[i]).getLongData()); -// -// } -// if (dataRec[i].getName().equals(GeoMagRecord.component1)) { -// float[] comp1_data = (((FloatDataRecord) dataRec[i]).getFloatData()); -// if (comp1_data.length > 1280){ -// int ihr = 0; -// for (int j = ihr*60; j < comp1_data.length; j++) -// comp1 += comp1_data[j]; -// } -// if (dataRec[i].getName().equals(GeoMagRecord.component2)) { -// float[] comp2_data = (((FloatDataRecord) dataRec[i]).getFloatData()); -// } -// -// } -// -// } catch (Exception se) { -// se.printStackTrace(); -// } - -// // set component 2 data -// float[] comp2_data = new float[(comp2List.size()>0)?comp2List.size():obsTimesList.size()]; -// for (int i = 0; i < comp2_data.length; i++) { -// comp2_data[i] = (comp2List.size()>0)?comp2List.get(i):MISSING_VAL; -// } -// // set dHrAvgs -//// for (int j = 0; j < comp2_data.length/60; j++) { -//// for (int i = 0; i < comp2_data.length; i++) { -//// if (i%60 == 59) -//// dHrAvgs[j] = CalcEach3hr.getSimpleHourAvg(comp2_data, j); -//// } -//// } -// record.setComp2Data(comp2_data); -//// record.setHrAvgD(dHrAvgs); if (retData.isEmpty()) { return new PluginDataObject[0]; } else { -// // last record -// long[] obs_time = new long[(obsTimesList.size())]; //new float[(comp1List.size()>0)?comp1List.size():obsTimesList.size()]; -// for (int i = 0; i < obs_time.length; i++) { -// //obs_time[i] = (obsTimesList.size()>0)?obsTimesList.get(i):99999; -// Long f = obsTimesList.get(i); -// obs_time[i] = (f != null ? f : 99999); -// } -// float[] comp1_data = new float[(obsTimesList.size())]; //new float[(comp1List.size()>0)?comp1List.size():obsTimesList.size()]; -// for (int i = 0; i < comp1_data.length; i++) { -// comp1_data[i] = (comp1List.size()>0)?comp1List.get(i):MISSING_VAL; -// } -// float[] comp2_data = new float[(obsTimesList.size())]; -// for (int i = 0; i < comp2_data.length; i++) { -// comp2_data[i] = (comp2List.size()>0)?comp2List.get(i):MISSING_VAL; -// } -// float[] comp3_data = new float[(obsTimesList.size())]; -// for (int i = 0; i < comp3_data.length; i++) { -// comp3_data[i] = (comp3List.size()>0)?comp3List.get(i):MISSING_VAL; -// } -// float[] comp4_data = new float[(obsTimesList.size())]; -// for (int i = 0; i < comp4_data.length; i++) { -// comp4_data[i] = (comp4List.size()>0)?comp4List.get(i):MISSING_VAL; -// } -// -// record.setObsTimes(obs_time); -// record.setComp1Data(comp1_data); -// record.setComp2Data(comp2_data); -// record.setComp3Data(comp3_data); -// record.setComp4Data(comp4_data); return retData.toArray(new PluginDataObject[retData.size()]); } diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java index 1ad763d7cb..2d802aaae4 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java @@ -47,7 +47,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * * date Ticket# Engineer Description * ----------- ---------- ----------- -------------------------- - * 06/07/2013 #989 qzhou Initial Creation + * 06/07/2013 #989 qzhou Initial Creation, event driven * * * @author qzhou @@ -59,63 +59,55 @@ public class TrigKCalculation { private static final String GeoMag = "geomag"; private static final float MISSING_VAL = 99999.99f; private static final int MISSING_INT = 99999; - private static final int DAYS = 30; + private static final int HOURS = 24; private static final int MINUTES = 60; - private static final int AVG_DATA_RANGE = 30; private static final int HD_DATA_RANGE = 3; private static final int MAX_SOURCES = 3; private static final int ITERATIONS = 5; - private static final int MAX_GAP_LENGTH = 15; - private static final int SMOOTH_WINDOW = 60; - private static final int TRANSITION_TIME = 60; - private static final int PHASE_POWER = 3; - private static final int HARM_ORDER = 5; private GeoMagDao dao; //PluginDao dao; private float[] defLength = new float[HOURS]; - private Map> stationMap = new HashMap>(); //station, arrays String format = "yyyy-MM-dd'_'HH:mm:ss.s"; SimpleDateFormat sdf = new SimpleDateFormat(format); public TrigKCalculation() { -// KStationCoefficientLookup look = KStationCoefficientLookup.getInstance(); -// Map stationMap = look.getStationsByCodeMap(); -// int size = 1+31; -// stations = new ArrayList();//String[]: station, uri0, ...uri31 -// for (Map.Entry entry : stationMap.entrySet()) { -// List astation = new ArrayList(); -// astation.add( entry.getKey()); -// stations.add(astation); -//// System.out.println("***entry "+ entry.getKey()); -// } + } + /* + * trigger + */ public void trig1min(Object obj) throws StorageException { if( !(obj instanceof DataURINotificationMessage) ){ -// GeoMag.logError("Received msg that is not a DataURINotificationMessage? msg is "+ -// obj.getClass().getName() ); - logger.info("Received msg that is not a DataURINotificationMessage."); + //logger.info("Received msg that is not a DataURINotificationMessage."); + return; } DataURINotificationMessage uriMsg = (DataURINotificationMessage)obj; - - String[] dataURIs = uriMsg.getDataURIs(); - - //sort - Arrays.sort(dataURIs); -// for (int i=0; i geomagUri = new ArrayList(); + + for (String dataURI : dataUris ) { + if (dataURI.contains("geomag")) + geomagUri.add(dataURI); + } + + String[] dataURIs = geomagUri.toArray(new String[geomagUri.size()]); + + //sort + Arrays.sort(dataURIs); + try { dao = (GeoMagDao) PluginFactory.getInstance().getPluginDao(GeoMag); } catch (PluginException e) { @@ -123,58 +115,32 @@ public class TrigKCalculation { } calcSimpleHourAvg(dataURIs); -// long t2 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****T2 "+ t2); + calcK(dataURIs); -// calcBy3hr( dataURIs); -// long t3 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****T3 "+ t3); -// -// Map> kIndexMap = calcBy1min(dataURIs); // long t4 = Calendar.getInstance().getTimeInMillis(); // System.out.println("*****T4 "+ t4); -// -// calcK3h(dataURIs, kIndexMap); -// long t5 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****T5 "+ t5); } - /* - * - */ - public List retrieveSingleAvg(String dataUri, Date time) { - GeoMagAvgDao avgDao = new GeoMagAvgDao(); - String station = CalcUtil.getStationFromUri(dataUri); - - DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); - query.addReturnedField("id"); - query.addQueryParam("avgTime", time); - query.addQueryParam("stationCode", station); - - List resultsList = null; - resultsList = avgDao.getSingleAvg(station, time); - - return resultsList; - - } /* - * + * from geomag */ public List retrieveUriForAvg(String dataUri, Date time) { String station = CalcUtil.getStationFromUri(dataUri); DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); - //query.addReturnedField("id"); query.addReturnedField("component_1"); query.addReturnedField("component_2"); query.addReturnedField("dataTime.refTime"); query.addReturnedField("badDataPoint"); query.addReturnedField("sourceId"); + + // called only when time is 59min, so include it. query.addQueryParam("dataTime.refTime", time, QueryParam.QueryOperand.LESSTHANEQUALS); Calendar cal = Calendar.getInstance(); cal.setTime(time); - cal.add(Calendar.HOUR_OF_DAY, -1); // at least one day is needed for gt, lt + cal.add(Calendar.HOUR_OF_DAY, -1); + query.addQueryParam("dataTime.refTime", cal.getTime(), QueryParam.QueryOperand.GREATERTHAN); query.addQueryParam("stationCode", station); @@ -190,79 +156,119 @@ public class TrigKCalculation { } /* - * + * from geomag_houravg + */ + public List retrieveSingleAvg(String dataUri, Date time) { + GeoMagAvgDao avgDao = new GeoMagAvgDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + List resultsList = null; + resultsList = avgDao.getSingleAvg(station, time); + + return resultsList; + + } + + /* + * from geomag_houravg */ public List retrieveUriBy3hr(String dataUri, Date spTime){ GeoMagAvgDao avgDao = new GeoMagAvgDao(); -// long t0 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****ttt0 "+ t0); String station = CalcUtil.getStationFromUri(dataUri); Calendar cal = Calendar.getInstance(); cal.setTime(spTime); cal.add(Calendar.DAY_OF_YEAR, -AVG_DATA_RANGE); // at least one day is needed for gt, lt + // since avg have min=30, cal.getTime() and spTime are not included List resultsList = null; resultsList = avgDao.getAvgForStation(station, cal.getTime(), spTime); //720 -// long t1 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****ttt1 "+ t1); - return resultsList; } /* - * + * from geomag */ - public List retrieveUriForK1min(String dataUri, Date epTime){ -// long t0 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****tttt0 "+ t0+" "+epTime); - + public List retrieveUriForK1min(String dataUri, Date time){ String station = CalcUtil.getStationFromUri(dataUri); DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); - //query.addReturnedField("id"); + query.addReturnedField("component_1"); query.addReturnedField("component_2"); query.addReturnedField("dataTime.refTime"); query.addReturnedField("badDataPoint"); query.addReturnedField("sourceId"); - query.addQueryParam("dataTime.refTime", epTime, QueryParam.QueryOperand.LESSTHANEQUALS); + + // Document uses epTime-1minute. Consider 3 sources, we use current time + query.addQueryParam("dataTime.refTime", time, QueryParam.QueryOperand.LESSTHANEQUALS); + + Date epTime = CalcUtil.getEPTime(time); Calendar cal = Calendar.getInstance(); cal.setTime(epTime); - cal.add(Calendar.HOUR_OF_DAY, -48); // at least one day is needed for gt, lt - query.addQueryParam("dataTime.refTime", cal.getTime(), QueryParam.QueryOperand.GREATERTHAN); + cal.add(Calendar.HOUR_OF_DAY, -48); + + // start time is epTime-48hour. So use GREATERTHANEQUALS + query.addQueryParam("dataTime.refTime", cal.getTime(), QueryParam.QueryOperand.GREATERTHANEQUALS); query.addQueryParam("stationCode", station); List resultsList = null; - try { resultsList = dao.queryByCriteria(query); // 2880 } catch (DataAccessLayerException e1) { e1.printStackTrace(); } -// long t1 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****tttt1 k1min "+ t1); - return resultsList; } /* - * + * from geomag_k1min */ - public List retrieveUriForK3hr(String dataUri, Date time){ + public List retrieveSingleK1min(String dataUri, Date time) { + GeoMagK1minDao k1minDao = new GeoMagK1minDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + List resultsList = null; + resultsList = k1minDao.getSingleK1min(station, time); + + return resultsList; + + } + + /* + * from geomag_k3hr + */ + public List retrieveUriForK3hr(String dataUri, Date epTime){ GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); String station = CalcUtil.getStationFromUri(dataUri); + Calendar cal = Calendar.getInstance(); + cal.setTime(epTime); + cal.add(Calendar.DAY_OF_YEAR, -1); + List resultsList = null; - resultsList = k3hrDao.getK3hrForStation(station, time); //1 + resultsList = k3hrDao.getRangeK3hr(station, cal.getTime(), epTime); //1 return resultsList; } /* - * + * from geomag_k3hr + */ + public List retrieveSingleK3hr(String dataUri, Date epTime){ + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + List resultsList = null; + resultsList = k3hrDao.getSingleK3hr(station, epTime); + + return resultsList; + } + + /* + * For hdf5 */ public IDataRecord[] getDataRecords(String uri){ IDataRecord[] dataRec = null; @@ -288,6 +294,7 @@ public class TrigKCalculation { /* * sort n lists */ + @SuppressWarnings({ "unchecked", "rawtypes" }) static void sort(List... lists) { assert lists.length > 0; @@ -301,7 +308,7 @@ public class TrigKCalculation { } Arrays.sort(objects, new Comparator() { - @SuppressWarnings("unchecked") + public int compare(Object[] o1, Object[] o2) { return ((Comparable)o1[0]).compareTo(o2[0]); } @@ -318,40 +325,38 @@ public class TrigKCalculation { /* * Input data of all source, output with higher priority source data */ + @SuppressWarnings({ "rawtypes", "unchecked" }) public List getBestObserv(List dataList ) { - //List idList = new ArrayList(); List comp1List = new ArrayList(); List comp2List = new ArrayList(); - List badPointList = new ArrayList(); + List badPointList = new ArrayList(); List dateList = new ArrayList(); List sourceList = new ArrayList(); List bestList = new ArrayList(); - List fullBestList = new ArrayList(); if (dataList != null ) { for (int i = 0; i < dataList.size(); i++) { Object[] row = (Object[]) dataList.get(i); - //idList.add( (Integer) row[0]); comp1List.add( (Float) row[0]); comp2List.add( (Float) row[1]); dateList.add( (Date) row[2]); - badPointList.add( (String) row[3]); + badPointList.add( (Integer) row[3]); sourceList.add( (Integer) row[4]); - //System.out.println("***row "+dateList.get(i)+" "+sourceList.get(i)+" " +comp2List.get(i)); + } - sort(dateList, sourceList, comp1List, comp2List, badPointList); //, idList); + sort(dateList, sourceList, comp1List, comp2List, badPointList); int count = 0; int size = dateList.size(); /* * tempList combine all lists for the first 4 items. size=4 - * newList put tempList ordered by source. size=3 + * newList holds tempLists ordered by source. size=3 * bestList construct newList with best source * bestListFull filled time gaps */ @@ -363,13 +368,13 @@ public class TrigKCalculation { List tempList3 = new ArrayList(); List newList = new ArrayList(); - newList.add(0, new ArrayList());//init 3 + //init 3 + newList.add(0, new ArrayList()); newList.add(1, new ArrayList()); newList.add(2, new ArrayList()); - //tempList1.add(0, idList.get(i)); tempList1.add( dateList.get(i)); - if (badPointList.get(i) != null && badPointList.get(i) != ""){ + if (badPointList.get(i) != null && badPointList.get(i) != 0){ tempList1.add(MISSING_VAL); tempList1.add(MISSING_VAL); } @@ -381,9 +386,9 @@ public class TrigKCalculation { count++; if (i+1 < size && dateList.get(i).compareTo( dateList.get(i+1)) ==0) { - //tempList2.add(idList.get(i+1)); + tempList2.add(dateList.get(i+1)); - if (badPointList.get(i+1) != null && badPointList.get(i+1) != ""){ + if (badPointList.get(i+1) != null && badPointList.get(i+1) != 0){ tempList2.add(MISSING_VAL); tempList2.add(MISSING_VAL); } @@ -396,9 +401,9 @@ public class TrigKCalculation { } if (i+2 < size && dateList.get(i).compareTo( dateList.get(i+2)) ==0) { - //tempList3.add(idList.get(i+2)); + tempList3.add(dateList.get(i+2)); - if (badPointList.get(i+2) != null && badPointList.get(i+2) != ""){ + if (badPointList.get(i+2) != null && badPointList.get(i+2) != 0){ tempList3.add(MISSING_VAL); tempList3.add(MISSING_VAL); } @@ -418,7 +423,7 @@ public class TrigKCalculation { newList.remove(0); //System.out.println("***newList "+i+" "+count+" "+newList.size()+" "+newList.get(0)); - // Now only check if comp2 (...get(2)) is MISSING_VAL + // Now only check if comp2 (...get(2)) is MISSING_VAL. Could check both if (newList.get(0).get(2) != null && (Float) newList.get(0).get(2) != MISSING_VAL ) { bestList.add( newList.get(0)); } @@ -438,16 +443,17 @@ public class TrigKCalculation { } } } - //System.out.println("***bestList best "+bestList.size()); -// -// long t2 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****tt2 "+ t2); + return bestList; } + /* + * fill time tag gaps, return fullBestList + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) public List fillHDTimeGaps(List bestList) { List fullBestList= new ArrayList(); - // fill time gaps, get bestListFull + // fill missing in the beginning Date date = (Date) bestList.get(0).get(0); //bestList.get(i) eq. newList. int min0 = date.getMinutes(); @@ -466,6 +472,7 @@ public class TrigKCalculation { } } + // fill missing in the middle for (int j = 0; j < bestList.size(); j++ ) { //i=0 first non missing data @@ -490,28 +497,18 @@ public class TrigKCalculation { } } - - // fill missing in the end - date = (Date) bestList.get(bestList.size()-1).get(0); - int minEnd = date.getMinutes(); - - if ( minEnd < 59 ) { - for (int k = minEnd+1; k < 60; k++) { - List newList2 = new ArrayList(); // eq. newList - - Date dateNew = (Date)date.clone(); - dateNew.setMinutes(k); - - newList2.add(dateNew); - newList2.add(MISSING_VAL); - newList2.add(MISSING_VAL); - fullBestList.add( newList2); - - } - } - -// for (int i = 0; i < fullBestList.size(); i++) { -// System.out.println("***fullBestList "+fullBestList.size()+" "+fullBestList.get(i)); +// // fill missing in the end +// int latest = fullBestList.size(); +// if (latest < HOURS*MINUTES*HD_DATA_RANGE) { +// for (int k = latest; k < HOURS*MINUTES*HD_DATA_RANGE; k++) { +// List newList2 = new ArrayList(); +// Date d = (Date)fullBestList.get(0).get(latest-1); +// +// newList2.add(new Date(d.getTime() + 60*1000*(k+1))); +// newList2.add(MISSING_VAL); +// newList2.add(MISSING_VAL); +// fullBestList.add( newList2); +// } // } return fullBestList; @@ -519,7 +516,7 @@ public class TrigKCalculation { /* - * when uri time is 59 min past the hour, calculate the averages and append to db + * when uri time is 59 min past the hour, calculate the averages and write to geomat_houravg */ public void calcSimpleHourAvg(String[] dataURIs) throws StorageException { @@ -534,7 +531,7 @@ public class TrigKCalculation { // TODO Auto-generated catch block e.printStackTrace(); } - //int hour = time.getHours(); + int min = time.getMinutes(); List dataList = null; @@ -564,11 +561,6 @@ public class TrigKCalculation { } } -// else { -// List idList = bestList.get(bestList.size()-1); //last data id -// recAvg.setId((int) idList.get(0)); -// System.out.println("**idList "+idList); -// } recAvg.setAvgTime(time); recAvg.setInsertTime(Calendar.getInstance().getTime()); @@ -579,26 +571,23 @@ public class TrigKCalculation { GeoMagAvgDao avgDao = new GeoMagAvgDao(); avgDao.persist(recAvg); -// long t3 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****tt3 "+ t3); } } } - // if min=59 record=missing, look the avg table to insert missing avg -// time.setMinutes(30); -// List avgList = retrieveSingleAvg(dataURI, time); } /* - * + * Write to geomag_k1min */ - public Map> calcBy3hr(String[] dataURIs) { - GeoMagAvgDao avgDao = new GeoMagAvgDao(); - if (avgDao != null && dataURIs != null) { + public void calcK(String[] dataURIs) { + + if (dataURIs != null ) { for (String dataURI : dataURIs ) { + String stationCode = CalcUtil.getStationFromUri(dataURI); + String source = CalcUtil.getSourceFromUri(dataURI); Date timeBy3 = null;; try { @@ -607,23 +596,24 @@ public class TrigKCalculation { // TODO Auto-generated catch block e.printStackTrace(); } + int hour = timeBy3.getHours(); int min = timeBy3.getMinutes(); + /* + * Read average + */ Date spTime = CalcUtil.getSPTime( timeBy3); -// int spHour = spTime.getHours(); List dataList = null; - if ((hour%3 == 0 && min == 0 ) - || stationMap.entrySet().isEmpty() ) + dataList = retrieveUriBy3hr(dataURI, CalcUtil.getSPTime(timeBy3)); - else + + // dataList size (avg) < 24, can't calculate dB[j] + if (dataList.size() <= HOURS) continue; - System.out.println("**resultsListby3.size() "+dataList.size()+" "+hour); - - //List idList = new ArrayList(); List dateList = new ArrayList(); List hHrAvgList = new ArrayList(); List dHrAvgList = new ArrayList(); @@ -636,105 +626,82 @@ public class TrigKCalculation { dateList.add( (Date) row.getAvgTime()); hHrAvgList.add( (Float) row.getHHrAvg()); dHrAvgList.add( (Float) row.getDHrAvg()); - //System.out.println("***row "+dateList.get(i)+" "+hHrAvgList.get(i)+" " +dHrAvgList.get(i)); - } - - - sort(dateList, hHrAvgList, dHrAvgList); - for (int i = 0; i < dateList.size(); i++) { - System.out.println("***rowsortBy3 "+dateList.size()+" "+dateList.get(i)+" "+hHrAvgList.get(i)+" " +dHrAvgList.get(i)); } -// List recList = new ArrayList(); -// recList.add(dateList); -// recList.add(hHrAvgList); -// recList.add(dHrAvgList); -// List recListFinal = fillAvgTimeGaps(recList); + sort(dateList, hHrAvgList, dHrAvgList); - // fill missing - //List idListFinal = new ArrayList(); + /* + * fill missing + */ List dateListFinal = new ArrayList(); List hHrAvgListFinal = new ArrayList(); List dHrAvgListFinal = new ArrayList(); // fill missing in the beginning - Date date = (Date) dateList.get(0);//.get(0); //bestList.get(i) eq. newList. + Date date = (Date) dateList.get(0); int hr0 = date.getHours(); - if ( hr0 != 0 ) { + if ( hr0 != spTime.getHours() ) { for (int k = 0; k < hr0; k++) { - List newList2 = new ArrayList(); // eq. newList Date dateNew = (Date)date.clone(); dateNew.setMinutes(k); dateListFinal.add( dateNew); hHrAvgListFinal.add( MISSING_VAL); - hHrAvgListFinal.add( MISSING_VAL); + dHrAvgListFinal.add( MISSING_VAL); } } - //// fill missing in the middle + + // fill missing in the middle for (int i = 0; i < dateList.size(); i++) { - if (i+1 < dateList.size()) { Date date0 = dateList.get(i); dateListFinal.add(date); hHrAvgListFinal.add( hHrAvgList.get(i)); - hHrAvgListFinal.add( dHrAvgList.get(i)); + dHrAvgListFinal.add( dHrAvgList.get(i)); + if (i+1 < dateList.size()) { Date date1 = (Date)dateList.get(i+1); - int diffHr = (int)(date1.getTime() - date.getTime())/ (3600*1000); + int diffHr = (int)(date1.getTime() - date0.getTime())/ (3600*1000); if (diffHr != 1) { for (int j = 0; j < diffHr-1; j++) { dateListFinal.add( new Date(date.getTime() + 3600*1000*(j+1))); //append after i, i+1 - //idList.add( idList.get(i)+1); - hHrAvgListFinal.add( MISSING_VAL); hHrAvgListFinal.add( MISSING_VAL); + dHrAvgListFinal.add( MISSING_VAL); } } } } + // fill missing in the end - date = (Date) dateList.get(dateList.size()-1); - int hrEnd = date.getMinutes(); - - if ( hrEnd < 59 ) { - for (int k = hrEnd+1; k < 60; k++) { - List newList2 = new ArrayList(); // eq. newList - - Date dateNew = (Date)date.clone(); - dateNew.setMinutes(k); - - dateListFinal.add( new Date(date.getTime() + 3600*1000*(k+1))); //append after i, i+1 - //idList.add( idList.get(i)+1); + int latest = dateListFinal.size(); + if (latest < HOURS*AVG_DATA_RANGE) { + for (int k = latest; k < HOURS*AVG_DATA_RANGE; k++) { + dateListFinal.add(new Date(dateListFinal.get(latest-1).getTime() + 3600*1000*(k+1))); hHrAvgListFinal.add( MISSING_VAL); - hHrAvgListFinal.add( MISSING_VAL); - + dHrAvgListFinal.add( MISSING_VAL); } - } - for (int i = 0; i < dateListFinal.size(); i++) { -// System.out.println("***rowsort2 "+dateListFinal.size()+" "+dateListFinal.get(i)+" "+hHrAvgListFinal.get(i)); } - float[] hHrAvgs = CalcUtil.toFloatArray(hHrAvgList); - float[] dHrAvgs = CalcUtil.toFloatArray(dHrAvgList); + float[] hHrAvgs = CalcUtil.toFloatArray(hHrAvgListFinal); + float[] dHrAvgs = CalcUtil.toFloatArray(dHrAvgListFinal); + float[] dB = CalcEach3hr.getDisturbanceLevel(hHrAvgs, dHrAvgs); - // for ( int k = 0; k < 30; k++ ) - // System.out.println("*****dB "+ dB[k]); +// for ( int k = 0; k < 30; k++ ) +// System.out.print("*****dB "+ dB[k]+" "); +// System.out.println(""); + @SuppressWarnings("unchecked") Map dBsmall = CalcEach3hr.getSmallDisturbanceLevel(dB); float[] quietHHrAvg = CalcEach3hr.getQuietLevelHourAvg(dBsmall, hHrAvgs); float[] quietDHrAvg = CalcEach3hr.getQuietLevelHourAvg(dBsmall, dHrAvgs); - // for (int i=0; i hdList = new ArrayList(); - hdList.add(qhaQdc); - hdList.add(qdaQdc); - hdList.add(hQdc); - hdList.add(dQdc); - hdList.add(qha); - hdList.add(qda); - stationMap.put(stationCode, hdList);// - - //init again - Arrays.fill(hHrAvgs, MISSING_VAL); - Arrays.fill(dHrAvgs, MISSING_VAL); - - for (Map.Entry> entry : stationMap.entrySet()) - System.out.println("***themap "+ entry.getKey()+" "+entry.getValue().size()+" "+CalcUtil.maxValue(entry.getValue().get(0)) +" "+ CalcUtil.minValue(entry.getValue().get(0))+" "+CalcUtil.maxValue(entry.getValue().get(1))); - - } - } - } - - return stationMap; - } +// System.out.println("***qhaQdc "+ CalcUtil.maxValue(qhaQdc)+ " "+CalcUtil.minValue(qhaQdc)+" "+qhaQdc[0]+" "+qhaQdc[10]+" "+station); +// System.out.println("***qdaQdc "+ CalcUtil.maxValue(qdaQdc)+ " "+CalcUtil.minValue(qdaQdc)+" "+qdaQdc[0]+" "+qdaQdc[10]); - public Map> calcBy1min( String[] dataURIs) throws StorageException { - //Map> stationMap = new HashMap>(); + /* + * Read H and D + */ Map> kIndexMap = new HashMap>(); - float[] qhaQdc = new float[HOURS]; - float[] qdaQdc = new float[HOURS]; - float[] hQdc = new float[HOURS]; - float[] dQdc = new float[HOURS]; - float[] qha = new float[HOURS]; - float[] qda = new float[HOURS]; - float[] hdata = new float[HD_DATA_RANGE*HOURS*MINUTES]; - float[] ddata = new float[HD_DATA_RANGE*HOURS*MINUTES]; - - Arrays.fill(hdata, MISSING_VAL); - Arrays.fill(ddata, MISSING_VAL); - - if (dao != null && dataURIs != null) { - for (String dataURI : dataURIs ) { - String stationCode = CalcUtil.getStationFromUri(dataURI); - - Date timeBy1 = null;; + Date timeBy1 = null; try { timeBy1 = CalcUtil.getTimeFromUri(dataURI); + } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } - int hour = timeBy1.getHours(); - int min = timeBy1.getMinutes(); - Date epTime = CalcUtil.getEPTime(timeBy1); + + Date epTime = CalcUtil.getEPTime( timeBy1); int epHour = epTime.getHours(); - List dataList = retrieveUriForK1min(dataURI, epTime); + /* + * change epTime to current time + */ + List hdDataList = retrieveUriForK1min(dataURI, timeBy1); + + if (hdDataList != null && hdDataList.size() != 0) { + // if dataList <= 1440, can't calculate k-index + if (hdDataList.size() <= HOURS*MINUTES) + continue; - if (dataList != null && dataList.size() != 0) { // gest best observation data - List bestList = getBestObserv( dataList ); - System.out.println("**dataListBy1 size"+dataList.size()+" "+bestList.size()+" "+epTime); + List bestList = getBestObserv( hdDataList ); + if (bestList.size() <= HOURS*MINUTES) + continue; + List bestListFull = fillHDTimeGaps( bestList); + // System.out.println("**dataListBy1 size"+dataList.size()+" "+bestList.size()+" "+bestListFull.size()); // get hdata, ddata - for (int i = 0; i < bestList.size(); i++) { - List list = (List) bestList.get(i); + float[] hdata = new float[HD_DATA_RANGE*HOURS*MINUTES]; + float[] ddata = new float[HD_DATA_RANGE*HOURS*MINUTES]; + + Arrays.fill(hdata, MISSING_VAL); + Arrays.fill(ddata, MISSING_VAL); + + for (int i = 0; i < bestListFull.size(); i++) { + List list = (List) bestListFull.get(i); if (list != null && !list.isEmpty()) { hdata[i] = list.get(1); ddata[i] = list.get(2); } } - System.out.println("***hdata "+hdata.length+" "+hdata[0]+" "+hdata[1]+" "+hdata[2880]+" "+hdata[2879]); - System.out.println("***ddata "+ddata.length+" "+ddata[0]+" "+ddata[1]+" "+ddata[2880]+" "+ddata[2879]); - - // calculate - //System.out.println("******stationMap " + stationMap.size()+ " "+ stationMap.entrySet().size() ); - for (Map.Entry> entry : stationMap.entrySet()) { - if (entry.getKey().equalsIgnoreCase(stationCode)) { - List list = entry.getValue(); - qhaQdc = list.get(0); - qdaQdc = list.get(1); - hQdc = list.get(2); - dQdc = list.get(3); - qha = list.get(4); - qda = list.get(5); - } - } - + // System.out.println("***hdata "+ CalcUtil.maxValue(hdata)+ " "+CalcUtil.minValue(hdata)+" "+hdata[0]+" "+hdata[2879]); + // System.out.println("***ddata "+ CalcUtil.maxValue(ddata)+ " "+CalcUtil.minValue(ddata)+" "+ddata[0]+" "+ddata[2879]); - System.out.println("***hdata "+ CalcUtil.maxValue(hdata)+ " "+CalcUtil.minValue(hdata)+" "+hdata[0]+" "+hdata[2879]); - System.out.println("***ddata "+ CalcUtil.maxValue(ddata)+ " "+CalcUtil.minValue(ddata)+" "+ddata[0]+" "+ddata[2879]); defLength = CalcEach3hr.getDefLength(stationCode, epHour); float[] hhdata = CalcEach1min.fillGaps(hdata); float[] dddata = CalcEach1min.fillGaps(ddata); - System.out.println("***hhdataGaps "+ CalcUtil.maxValue(hhdata)+ " "+CalcUtil.minValue(hhdata)+" "+hhdata[0]+" "+hhdata[10]); - System.out.println("***dddataGaps "+ CalcUtil.maxValue(dddata)+ " "+CalcUtil.minValue(dddata)+" "+dddata[0]+" "+dddata[10]); - System.out.println("***qhaQdc "+ CalcUtil.maxValue(qhaQdc)+ " "+CalcUtil.minValue(qhaQdc)+" "+qhaQdc[0]+" "+qhaQdc[10]); - System.out.println("***qdaQdc "+ CalcUtil.maxValue(qdaQdc)+ " "+CalcUtil.minValue(qdaQdc)+" "+qdaQdc[0]+" "+qdaQdc[10]); - System.out.println("***hQdc "+ CalcUtil.maxValue(hQdc)+ " "+CalcUtil.minValue(hQdc)+" "+hQdc[0]+" "+hQdc[10]); - System.out.println("***dQdc "+ CalcUtil.maxValue(dQdc)+ " "+CalcUtil.minValue(dQdc)+" "+dQdc[0]+" "+dQdc[10]); - - // for (int i=0; i=0; l--) - // if (hhdata[l] != MISSING_VAL && dddata[l] != MISSING_VAL) - // break; - // System.out.println("***lll "+l); - float[] hDev = CalcEach1min.getDev(hhdata, hQdc);//[1440] float[] dDev = CalcEach1min.getDev(dddata, dQdc); - // for (int i=0; i kList = CalcEach1min.getKIndex(hDev, dDev, kLimit, missingFlag);//[8] - // System.out.println("***kList "+kList.size()); + float[] kIndex = kList.get(0); float[] gamma = kList.get(1); @@ -928,39 +817,44 @@ public class TrigKCalculation { float[] hcA = CalcEach1min.getCentHourAvg(hhdata, fitLength, kIndex);//middle [24] float[] dcA = CalcEach1min.getCentHourAvg(dddata, fitLength, kIndex); - System.out.println("***hcA "+ CalcUtil.maxValue(hcA)+ " "+CalcUtil.minValue(hcA)+" "+hcA[0]+" "+hcA[10]+" "+stationCode); - System.out.println("***dcA "+ CalcUtil.maxValue(dcA)+ " "+CalcUtil.minValue(dcA)+" "+dcA[0]+" "+dcA[10]); + // System.out.println("***hcA "+ CalcUtil.maxValue(hcA)+ " "+CalcUtil.minValue(hcA)+" "+hcA[0]+" "+hcA[10]+" "+stationCode); + // System.out.println("***dcA "+ CalcUtil.maxValue(dcA)+ " "+CalcUtil.minValue(dcA)+" "+dcA[0]+" "+dcA[10]); hcA = CalcEach1min.adjustHrCentAvg(hcA, qha, gamma, kLimit); dcA = CalcEach1min.adjustHrCentAvg(dcA, qda, gamma, kLimit); - System.out.println("***hcAAdj "+ CalcUtil.maxValue(hcA)+ " "+CalcUtil.minValue(hcA)+" "+hcA[0]+" "+hcA[10]); - System.out.println("***dcAAdj "+ CalcUtil.maxValue(dcA)+ " "+CalcUtil.minValue(dcA)+" "+dcA[0]+" "+dcA[10]); + // System.out.println("***hcAAdj "+ CalcUtil.maxValue(hcA)+ " "+CalcUtil.minValue(hcA)+" "+hcA[0]+" "+hcA[10]); + // System.out.println("***dcAAdj "+ CalcUtil.maxValue(dcA)+ " "+CalcUtil.minValue(dcA)+" "+dcA[0]+" "+dcA[10]); // Harmonic Fit to derive the qdc - for (int i=0; i k1minList = retrieveSingleK1min(dataURI, timeBy1); + + if (k1minList != null && k1minList.size() != 0) {//String newUri = dataURI.substring(0, 21) +":30:00.0"+ dataURI.substring(29, 34)+ "100/GEOMAG"; + for (int i = 0; i < k1minList.size(); i++) { //1 + GeoMagK1min row = k1minList.get(i); + + int id = (Integer) row.getId(); + if (id != 0) + recK1min.setId(id); + } + } + recK1min.setRefTime(timeBy1); recK1min.setLastUpdate(Calendar.getInstance().getTime()); recK1min.setStationCode(stationCode); @@ -1117,105 +1000,175 @@ public class TrigKCalculation { recK1min.setDKGamma(dgamma); recK1min.setKs(ksArray); recK1min.setAest(aestArray); + recK1min.setHCount(countH); + recK1min.setDCount(countD); GeoMagK1minDao k1minDao = new GeoMagK1minDao(); k1minDao.persist(recK1min); - long t3 = Calendar.getInstance().getTimeInMillis(); - System.out.println("*****tt3 "+ t3); + calcK3h(dataURI, kest_index, kest_real, kest_gamma); } // end of for dataURI } } - - return kIndexMap; + } } - public void calcK3h(String[] dataURIs, Map> kIndexMap){ - if (dao != null && dataURIs != null) { - for (String dataURI : dataURIs ) { + /* + * write to geomag_k3hr + */ + public void calcK3h(String dataURI, int kest_index, float kest_real, float kest_gamma){ + List idDb = new ArrayList(); + List dateDb = new ArrayList(); + List kIndexDb = new ArrayList(); + List kGammaDb = new ArrayList(); + List kestIndexDb = new ArrayList(); + + int aRun = 0; + String stationCode = CalcUtil.getStationFromUri(dataURI); - Date time = null;; + Date currTime = null; try { - time = CalcUtil.getTimeFromUri(dataURI); + currTime = CalcUtil.getTimeFromUri(dataURI); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } - int hour = time.getHours(); - int min = time.getMinutes(); - int total = hour*MINUTES +min; - Integer[] synopticPoint = {59, 119, 179, 359, 539, 719, 899, 1079, 1259, 1439}; - System.out.println("**stationMap "+stationMap.entrySet().isEmpty() +" "+stationMap.entrySet().size() +" "+Arrays.asList(synopticPoint).contains(total)); + int hour = currTime.getHours(); + int min = currTime.getMinutes(); + Date epTime = CalcUtil.getEPTime(currTime); - List dataList = null; - if (stationMap.entrySet().isEmpty() || Arrays.asList(synopticPoint).contains(total)) - dataList = retrieveUriForK3hr(dataURI, time); - else - continue; + GeoMagK3hr recK3hr = new GeoMagK3hr(); - System.out.println("**resultsListfor3.size() "+dataList.size()); - List bestList = getBestObserv( dataList ); + List k3hrList = retrieveUriForK3hr(dataURI, epTime); //epTime not in the list - int kindexDb = 0; - float krealDb = 0; - float kgammaDb = 0; - int k_index = 0; - float k_real = 0; - float k_gamma = 0; + if (k3hrList != null && k3hrList.size() != 0) { - if (dataList != null ) { - for (int i = 0; i < dataList.size(); i++) { //1 extra + for (int i = 0; i < k3hrList.size(); i++) { + + GeoMagK3hr row = (GeoMagK3hr) k3hrList.get(i); - GeoMagK3hr row = (GeoMagK3hr) dataList.get(i); + dateDb.add (row.getRefTime()); + idDb.add ( row.getId()); + kIndexDb.add ( row.getKIndex()); + kGammaDb.add ( row.getKGamma()); + kestIndexDb.add (row.getKestIndex()); - Date date = (Date) row.getRefTime(); - kindexDb = (Integer) row.getKIndex(); - krealDb = (Float) row.getKReal(); - kgammaDb = (Float) row.getKGamma(); - //System.out.println("***row "+dateList.get(i)+" "+hHrAvgList.get(i)+" " +dHrAvgList.get(i)); } + + sort(dateDb, idDb, kIndexDb, kGammaDb, kestIndexDb); + } - List list = null; - for (Map.Entry> entry : kIndexMap.entrySet()) { - System.out.println("**kindex list "+entry); - if (entry.getKey().equalsIgnoreCase(stationCode)) - list = entry.getValue(); -// qhaQdc = list.get(0); -// qdaQdc = list.get(1); - } - - if (kindexDb == MISSING_VAL || kindexDb == 0) - k_index = (int) list.get(0)[7]; - if (krealDb == MISSING_VAL || krealDb == 0) - k_real = CalcKp.getKest(stationCode, (int) list.get(0)[7], list.get(1)[7]); //[7], gamma[7]); - if (kgammaDb == MISSING_VAL || kgammaDb == 0) - kgammaDb = list.get(1)[7]; + List k3hrAtPoint = retrieveSingleK3hr(dataURI, epTime); - GeoMagK3hr recK3hr = new GeoMagK3hr(); - //recK3hr.setId((int) l.get(0)); - recK3hr.setRefTime(time); + if (k3hrAtPoint == null || k3hrAtPoint.size() == 0) { + + // calculate aRunning, aFinalRunning + // only need first 7 k + int sum = 0; + for (int k = 0; k < kestIndexDb.size(); k++) { + int a_est = CalcKp.getAest(stationCode, kestIndexDb.get(k)); + sum += a_est; + } + sum += CalcKp.getAest(stationCode, kest_index); + aRun = (int) sum / (kestIndexDb.size()+1); + + recK3hr.setRefTime(epTime); recK3hr.setLastUpdate(Calendar.getInstance().getTime()); recK3hr.setStationCode(stationCode); - recK3hr.setKIndex(k_index); - recK3hr.setKReal(k_real); - recK3hr.setKGamma(k_gamma); + recK3hr.setKestIndex(kest_index); + recK3hr.setKestReal(kest_real); + recK3hr.setKestGamma(kest_gamma); + recK3hr.setARunning(aRun); + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); k3hrDao.persist(recK3hr); - -// record.setKestIndex(kest_index); -// record.setKestGamma(kest_gamma); -// record.setKestReal(kest_real); -// record.setHKReal(hk_real); -// record.setHKGamma(hgamma); -// record.setDKReal(dk_real); -// record.setDKGamma(dgamma); - } } + + else { + GeoMagK3hr row = (GeoMagK3hr) k3hrAtPoint.get(0); + int idCurr = row.getId(); + int kIndexCurr = row.getKIndex(); + float kGammaCurr = row.getKGamma(); + float kRealCurr = row.getKReal(); + int aFinalRunCurr = row.getAFinalRunning(); + int manualCurr = row.getIsManual(); + + if ((hour+1)%3 == 0 && (min+1)%60 == 0) { + + // calculate aFinalRunning, aFinalRunning + int sumEnd = 0; + for (int k = 0; k < kIndexDb.size(); k++) { + int a_est = CalcKp.getAest(stationCode, kIndexDb.get(k)); + sumEnd += a_est; + } + +// if ((kIndexCurr == MISSING_INT || kIndexCurr == 0) && //manual=0 +// (kGammaCurr == MISSING_INT || kGammaCurr == 0) ) + if (manualCurr == 0) + sumEnd += CalcKp.getAest(stationCode, kest_index); + else + sumEnd += CalcKp.getAest(stationCode, kIndexCurr); + + int aFinalRun = (int) sumEnd / (kIndexDb.size()+1); + + recK3hr.setAFinalRunning(aFinalRun); + recK3hr.setIsManual(manualCurr); +// if (kIndexCurr == MISSING_INT || kIndexCurr == 0) //manual=0 +// recK3hr.setKIndex(kest_index); +// else +// recK3hr.setKIndex(kIndexCurr); + + if (manualCurr == 0) { + recK3hr.setKIndex(kest_index); + recK3hr.setKReal(kest_real); + recK3hr.setKGamma(kest_gamma); + } + else { + + recK3hr.setKIndex(kIndexCurr); + recK3hr.setKReal(kRealCurr); + recK3hr.setKGamma(kGammaCurr); + } + + } + else { + + recK3hr.setKIndex(kIndexCurr); + recK3hr.setKReal(kRealCurr); + recK3hr.setKGamma(kGammaCurr); + recK3hr.setAFinalRunning(aFinalRunCurr); + recK3hr.setIsManual(manualCurr); + } + + // calculate aRunning, aFinalRunning + // only need first 7 k + int sum = 0; + for (int k = 0; k < kestIndexDb.size(); k++) { + int a_est = CalcKp.getAest(stationCode, kestIndexDb.get(k)); + sum += a_est; + } + sum += CalcKp.getAest(stationCode, kest_index); + aRun = (int) sum / (kestIndexDb.size()+1); + + + if (idCurr != 0) + recK3hr.setId(idCurr); + recK3hr.setRefTime(epTime); + recK3hr.setLastUpdate(Calendar.getInstance().getTime()); + recK3hr.setStationCode(stationCode); + recK3hr.setKestIndex(kest_index); + recK3hr.setKestReal(kest_real); + recK3hr.setKestGamma(kest_gamma); + recK3hr.setARunning(aRun); + + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + k3hrDao.persist(recK3hr); } + } } diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java index 15f942f93c..4ab0a6d79e 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java @@ -2,7 +2,6 @@ package gov.noaa.nws.ncep.edex.plugin.geomag.calculation; import java.util.ArrayList; import java.util.Arrays; -import java.util.Calendar; import java.util.List; /* @@ -31,8 +30,8 @@ public class CalcEach1min { /* * @param dataIn -- data of 4320 */ - public static float[] fillGaps(float[] data){ - //float[] data = dataIn.clone(); //z=4320 + public static float[] fillGaps(float[] dataIn){ + float[] data = dataIn.clone(); int i = 0; int size = data.length; @@ -74,7 +73,7 @@ public class CalcEach1min { float value1 = data[gapIndex-1]; float value2 = data[i]; for (int j=1; j < gapLength+1; j++) - data[gapIndex] = value1 + (j * (value2-value1)) / (gapLength+1); + data[gapIndex++] = value1 + (j * (value2-value1)) / (gapLength+1); } } } @@ -103,11 +102,7 @@ public class CalcEach1min { if (fitLength[i] >1440) fitLength[i] = 1440; } -// for (int i = 0; i < HOURS; i++) -// System.out.print("***defLength "+defLength[i]+" "); -// for (int i = 0; i < HOURS; i++) -// System.out.print("***fitLength "+fitLength[i]+" "); -// System.out.println(" "); + return fitLength; } @@ -182,13 +177,13 @@ public class CalcEach1min { int gapLength = hr0-hr; float value1 = HrAvg[hr-1];//not missing float value2 = HrAvg[hr0]; //not missing - System.out.println("***gapLength "+gapLength +" "+value1 +" "+value2); + //System.out.println("***gapLength "+gapLength +" "+value1 +" "+value2); for (int i=1; i < gapLength+1; i++) HrAvg[hr++] = value1+(i*(value2-value1))/(gapLength+1); } } - for (int i=0;i list = new ArrayList(); + // Initialize the return data with MissingValue float[] kIndex = new float[8]; float[] hk = new float[8]; @@ -275,10 +262,12 @@ public class CalcEach1min { Arrays.fill(hGamma, MISSING_VAL); Arrays.fill(dGamma, MISSING_VAL); + // Check for bad input data int npts = hdev.length; if (npts != ddev.length) return list; + if (npts < 1261 || npts > 1440) //21*60+1 return list; @@ -303,6 +292,7 @@ public class CalcEach1min { dddev[j-istart] = ddev[j]; } + // get hdevGood for (i = npdpts-1; i >=0; i--) if (hhdev[i] != MISSING_VAL && hhdev[i] != 0) @@ -314,7 +304,7 @@ public class CalcEach1min { // i, ii are the last data that is not missing - float[] hdevGood = new float[i+1]; + float[] hdevGood = new float[i +1]; float[] ddevGood = new float[ii+1]; if (i >-1) for (int j = 0; j < i+1; j++) @@ -323,20 +313,17 @@ public class CalcEach1min { for (int j = 0; j < ii+1; j++) ddevGood[j] = dddev[j]; - System.out.println("**j " +hdevGood.length+" "+ddevGood.length); if ( missingFlag == 0 || (i > -1 && ii > -1)) { if (hdevGood != null && hdevGood.length != 0) hGamma[ipd] = CalcUtil.maxValue(hdevGood) - CalcUtil.minValue(hdevGood); - if (hdevGood != null && hdevGood.length != 0) + if (ddevGood != null && ddevGood.length != 0) dGamma[ipd] = CalcUtil.maxValue(ddevGood) - CalcUtil.minValue(ddevGood); - System.out.println("***Gamma "+ hGamma[ipd]+ " "+dGamma[ipd]); + if (hGamma[ipd] != MISSING_VAL) - //for (int l = 0; l < 8; l++) hk[ipd] = CalcUtil.getKfromTable(kLimit, hGamma[ipd]); if (dGamma[ipd] != MISSING_VAL) - //for (int l = 0; l < 8; l++) dk[ipd] = CalcUtil.getKfromTable(kLimit, dGamma[ipd]); // get bigger one @@ -348,7 +335,6 @@ public class CalcEach1min { kIndex[ipd] = dk[ipd]; gamma[ipd] = dGamma[ipd]; } - System.out.println("***kIndex "+ kIndex[ipd]); } } @@ -371,8 +357,6 @@ public class CalcEach1min { if (qdc.length != 1440) return data; -// for (int j=0; j= 0; i--) -// if (data[i] != MISSING_VAL){ -// j0 = i; -// break; -// } - if (data.length != 4320 || qhaQdc.length != 1440) return data; - System.out.println("***currentIndexVal "+data.length+" "+j0+" "+ data[j0-2]+" "+ data[j0-1] + " " + data[j0] + " " + data[j0+1]+ " " + data[j0+2]); - if (data[j0] != MISSING_VAL) { for (int j = j0 +1; j < 4320; j++) { int w2 = j - j0 -1; //from .pro int w1 = TRANSITION_TIME - w2; + if (w1 < 0) w1 = 0; //System.out.println("**qhaQdc "+qhaQdc[j % 1440]); data[j] = (w1 * data[j0] + w2 * qhaQdc[j % 1440]) / (w1 + w2); } } - //System.out.println("***data.size " +data.length +" "+data[data.length-2]); + return data; } @@ -440,10 +413,11 @@ public class CalcEach1min { float[] dev = new float[1440]; if (data.length != 4320 || qdc.length != 1440) - return data; + return dev; + for (int i = 0; i < 1440; i++) { - System.out.print("***data-qdc "+i+" " +data[i+1440] +" "+qdc[i] +" "); + //System.out.print("***data-qdc "+i+" " +data[i+1440] +" "+qdc[i] +" "); if (data[i+1440] != MISSING_VAL && qdc[i] != MISSING_VAL) dev[i] = data[i+1440] - qdc[i]; else @@ -453,17 +427,18 @@ public class CalcEach1min { return dev; } - public static float[] adjustHrCentAvg(float[] hcA, float [] qha, float[] gamma, int[] kLimit){ + public static float[] adjustHrCentAvg(float[] hcAIn, float [] qha, float[] gamma, int[] kLimit){ + float[] hcA = hcAIn.clone(); float wh = 0; if (hcA.length != HOURS || gamma.length != 8) return hcA; for (int ipd = 0; ipd < 8; ipd++) { - if (gamma[ipd] < kLimit[3]) + if (gamma[ipd] < kLimit[4]) wh = 1; - else if (gamma[ipd] >= kLimit[3] && gamma[ipd] < kLimit[5]) - wh = (float) Math.pow( ((kLimit[5] - gamma[ipd]) /(kLimit[5] - kLimit[3])), PHASE_POWER); + else if (gamma[ipd] >= kLimit[4] && gamma[ipd] < kLimit[6]) + wh = (float) Math.pow( ((kLimit[6] - gamma[ipd]) /(kLimit[6] - kLimit[4])), PHASE_POWER); else wh = 0; diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java index 1da92a6c7c..9e8be980ee 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java @@ -1,18 +1,11 @@ package gov.noaa.nws.ncep.edex.plugin.geomag.calculation; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Arrays; -import java.util.Calendar; -import java.util.Comparator; -import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import com.vividsolutions.jts.geom.Coordinate; /* * The calculation of k, 3 hour related. * @@ -37,64 +30,6 @@ public class CalcEach3hr { private static int HOURS = 24; private static int MINUTES = 60; -// public class DBLevel implements Comparable{ -// private float dB; -// private int index; -// -// public DBLevel(int index, float db) { -// super(); -// this.index = index; -// this.dB = dB; -// -// } -// public int getIndex() { -// return index; -// } -// public void setIndex(int index) { -// this.index = index; -// } -// public float getDB() { -// return dB; -// } -// public void setDB(float dB) { -// this.dB = dB; -// } -// -// public class ChangeComparator implements Comparator { -//// public int compareTo(DBLevel compareDB) { -//// -//// float compareQuantity = ((DBLevel) compareDB).getDB(); -//// -//// //ascending order -//// return this.DBLevel - compareQuantity; -//// -//// //descending order -//// //return compareQuantity - this.quantity; -//// -//// } -//// -//// public static Comparator FruitNameComparator -//// = new Comparator() { -// -// public int compare(DBLevel fruit1, DBLevel fruit2) { -// -// Float db1 = fruit1.getDB(); -// Float db2 = fruit2.getDB(); -// -// //ascending order -// return db1.compareTo(db2); -// -// //descending order -// //return fruitName2.compareTo(fruitName1); -// } -// -// } -// @Override -// public int compareTo(DBLevel o) { -// // TODO Auto-generated method stub -// return 0; -// }; -// } /* * calculate hrAvgs for this hour @@ -108,15 +43,14 @@ public class CalcEach3hr { double sum2 = 0; int rec1 = 0; int rec2 = 0; - //System.out.println("***bestList sz "+bestList.size()); + for (int i = 0; i < bestList.size(); i++) { - //System.out.println("***bestList avg "+bestList.size()+" "+bestList.get(i)); - //List list = (List) bestList.get(i); + List list = (List) bestList.get(i); - //float comp1 = (Float)list.get(0).get(2); + float comp1 = (Float)list.get(1); float comp2 = (Float)list.get(2); - //System.out.println("***comp12 " + comp1+" "+comp2); + if ( comp1 != MISSING_VAL) { sum1 += comp1; rec1++; @@ -139,7 +73,7 @@ public class CalcEach3hr { simpHrAvg[0] = simpHrAvg1; simpHrAvg[1] = simpHrAvg2; - //System.out.println("***simpHrAvg " + rec1+" "+rec2+" "+simpHrAvg1 +" "+simpHrAvg2+ " "+bestList.size()); + return simpHrAvg; } @@ -148,7 +82,7 @@ public class CalcEach3hr { * @param data -- data of one day, 1440 */ public static float[] getSimpleHourAvg(float[] data){ //data 1440 - //System.out.println("**datalength "+data.length); + float[] simpHrAvg = new float[HOURS]; for (int ihr = 0; ihr < HOURS; ihr++) { @@ -234,7 +168,7 @@ public class CalcEach3hr { dB[j] = (float) sum / (HOURS-1-missing); else dB[j] = MISSING_VAL; - System.out.print("***dB[j] "+dB[j] + " "); + } return dB; @@ -249,22 +183,13 @@ public class CalcEach3hr { //create a duplicate array dBDup. Sort it. //take 5 smallest dBDup[i]. Then find its index and value from the dB. Put them to the map Map dBSmall = new HashMap(); -// Map temp = new HashMap(); -// Map tempDup = new HashMap(); -// for (int i = 0; i < dB.length; i++) { -// temp.put(dB[i], i); -// tempDup.put(dB[i], i); -// System.out.println("***temp "+dB[i] + " "+i); -// } float[] dBDup = new float[dB.length]; for (int i = 0; i < dBDup.length; i++) { dBDup[i] = dB[i]; } + Arrays.sort(dBDup); -// for (int i = 0; i < dBDup.length; i++) { -// System.out.print("***dBsort "+dBDup[i] +" "); -// } float dupIndex = (int)MISSING_VAL ; float wk = 0; @@ -280,70 +205,10 @@ public class CalcEach3hr { } } -// for (int i = 0; i < 5; i++) { -// System.out.println("***temp.get(dB[i]) "+temp.get(dB[i]) ); -// //previous = temp.get(dB[i]); -// if (previous == temp.get(dB[i])) { -// -// System.out.println("***previous) "+previous +" "+i ); -// tempDup.remove(dB[i]); -// System.out.println("***tempDup) "+tempDup.size() +" "+tempDup.get(dB[i]) ); -// //put next dB[i] -// dBSmall.put(tempDup.get(dB[i]), dB[i]); -// -// } -// else { -// dBSmall.put(temp.get(dB[i]), dB[i]); -// previous = temp.get(dB[i]); -// } -// System.out.println("***dBSmall "+temp.get(dB[i]) + " "+dB[i]); -// } return dBSmall; } -// public static Map getSmallDisturbanceLevel(float[] dB){ -// Arrays.sort(dB); -// Map dBSmall = new HashMap(); -// -// List dBlist = new ArrayList(); -// for (int i = 0; i < dB.length; i++) -// dBlist.add(dB[i]); -// -// //float[] smaller = new float[5];// index of hrAvg that has smallest dB -// int index = 0; -// float wk; -// float previousId = MISSING_VAL; -// -// for (int j = 0; j < 5; j++) { -// float minimum = MISSING_VAL; -// for (int i = 0; i < dBlist.size(); i++) { -// -// if (dBlist.get(i) < minimum) { -// minimum = dBlist.get(i); -// index = i; -// } -// } -// -// if (minimum < 1) -// wk = 1; -// else -// wk = 1 / (minimum *minimum); -// -// // since dBlist.remove(index); index needs to refer to original index -// if (previousId > index) { -// dBSmall.put(index, wk); -// previousId = index; -// } -// else { -// dBSmall.put(index+1, wk); // +j: original dB was reduced by j -// previousId = index; -// } -// System.out.println("dBlist "+index+" "+wk); -// dBlist.remove(index); -// } -// -// return dBSmall; -// } + /* * @param -- dBSmall, 5 set map @@ -367,7 +232,7 @@ public class CalcEach3hr { index[k] = mEntry.getKey(); dB[k] = mEntry.getValue(); - System.out.println("***index[k] "+k+" "+index[k] + " "+ dB[k]+" "+simpHrAvg.length); + k++; } @@ -438,7 +303,7 @@ public class CalcEach3hr { float lon = CalcUtil.getLongitude(station); int UTdiff = Math.round(1440.0f * lon / 360.0f); int minute0 = epHour * MINUTES; - //System.out.println("**epHour "+epHour); + for (int ihr = 0; ihr < HOURS; ihr++) { float sum = 0; @@ -457,8 +322,9 @@ public class CalcEach3hr { else if (localMin >= 1260 && localMin < 1440) sum += NIGHT_LENGTH; } + defLength[ihr] = sum / MINUTES; - //System.out.println("**defLength "+defLength[ihr]); + } return defLength; diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java index f59e433208..088831cdda 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java @@ -44,7 +44,7 @@ public class CalcKp { kest[i] = MISSING_VAL; else kest[i] = 9.0f; - System.out.println("**kest "+kest[i] +" "+kIndex[i]+" "+gamma[i]); + //System.out.println("**kest "+kest[i] +" "+kIndex[i]+" "+gamma[i]); } return kest; @@ -60,7 +60,7 @@ public class CalcKp { kest = MISSING_VAL; else kest = 9.0f; - //System.out.println("****kest "+kest +" "+kIndex); +// System.out.println("****kest "+kest +" "+kIndex); return kest; } @@ -109,12 +109,12 @@ public class CalcKp { int period = hour/3;// 24 -> 8 KsThree ksThree = ksThreeList.get(period); - System.out.println("**kss "+ksThree.getK1()+" "+ksThree.getK2()+" "+ksThree.getK3()+" "+ksThree.getK5()+" "+ksThree.getK6()+" "+getKsOfKsThree(k, ksThree)); + //System.out.println("**kss "+ksThree.getK1()+" "+ksThree.getK2()+" "+ksThree.getK3()+" "+ksThree.getK5()+" "+ksThree.getK6()+" "+getKsOfKsThree(k, ksThree)); if (ksThree != null) ks.add(getKsOfKsThree(k, ksThree)); ksThree = ksThreeList.get(period + 8); - System.out.println("**kss "+ksThree.getK1()+" "+ksThree.getK2()+" "+ksThree.getK3()+" "+ksThree.getK5()+" "+ksThree.getK6()+" "+getKsOfKsThree(k, ksThree)); + //System.out.println("**kss "+ksThree.getK1()+" "+ksThree.getK2()+" "+ksThree.getK3()+" "+ksThree.getK5()+" "+ksThree.getK6()+" "+getKsOfKsThree(k, ksThree)); if (ksThree != null) ks.add(getKsOfKsThree(k, ksThree)); @@ -182,6 +182,7 @@ public class CalcKp { ks = ksThree.getK9(); return ks; } + public static float getKs(String station, int k, Date time) throws ParseException { float a = 0; float b = 0; @@ -218,64 +219,64 @@ public class CalcKp { List ksThree = getKsThree(time, station, k ); if(time.compareTo(date1) >= 0 && time.compareTo(date2) < 0){ - ks = ksThree.get(0) /3; + ks = (float) ksThree.get(0) /3; } else if (time.compareTo(date4) >= 0 && time.compareTo(date5) < 0){ - ks = (0.25f*ksThree.get(0) + 0.75f*ksThree.get(1)) /3; + ks = (float)(0.25f*ksThree.get(0) + 0.75f*ksThree.get(1)) /3; } else if (time.compareTo(date5) >= 0 && time.compareTo(date6) < 0){ - ks = ksThree.get(1) /3; + ks = (float)ksThree.get(1) /3; } else if (time.compareTo(date6) >= 0 && time.compareTo(date7) < 0){ - ks = (0.75f*ksThree.get(1) + 0.25f*ksThree.get(2)) /3; + ks = (float) (0.75f*ksThree.get(1) + 0.25f*ksThree.get(2)) /3; } else if (time.compareTo(date7) >= 0 && time.compareTo(date8) < 0){ - ks = (0.5f*ksThree.get(1) + 0.5f*ksThree.get(2)) /3; + ks = (float) (0.5f*ksThree.get(1) + 0.5f*ksThree.get(2)) /3; } else if (time.compareTo(date8) >= 0 && time.compareTo(date9) < 0){ - ks = (0.25f*ksThree.get(1) + 0.75f*ksThree.get(2)) /3; + ks = (float) (0.25f*ksThree.get(1) + 0.75f*ksThree.get(2)) /3; } else if (time.compareTo(date9) >= 0 && time.compareTo(date10) < 0){ - ks = ksThree.get(2) /3; + ks = (float) ksThree.get(2) /3; } else if (time.compareTo(date10) >= 0 && time.compareTo(date11) < 0){ - ks = (0.75f*ksThree.get(2) + 0.25f*ksThree.get(1)) /3; + ks = (float) (0.75f*ksThree.get(2) + 0.25f*ksThree.get(1)) /3; } else if (time.compareTo(date11) >= 0 && time.compareTo(date12) < 0){ - ks = (0.5f*ksThree.get(2) + 0.5f*ksThree.get(1)) /3; + ks = (float) (0.5f*ksThree.get(2) + 0.5f*ksThree.get(1)) /3; } else if (time.compareTo(date12) >= 0 && time.compareTo(date13) < 0){ - ks = (0.25f*ksThree.get(2) + 0.75f*ksThree.get(1)) /3; + ks = (float) (0.25f*ksThree.get(2) + 0.75f*ksThree.get(1)) /3; } else if (time.compareTo(date13) >= 0 && time.compareTo(date14) < 0){ - ks = ksThree.get(1) /3; + ks = (float) ksThree.get(1) /3; } else if (time.compareTo(date14) >= 0 && time.compareTo(date15) < 0){ - ks = (0.75f*ksThree.get(1) + 0.25f*ksThree.get(0)) /3; + ks = (float) (0.75f*ksThree.get(1) + 0.25f*ksThree.get(0)) /3; } else if (time.compareTo(date15) >= 0 && time.compareTo(date16) < 0){ - ks = (0.5f*ksThree.get(1) + 0.5f*ksThree.get(0)) /3; + ks = (float) (0.5f*ksThree.get(1) + 0.5f*ksThree.get(0)) /3; } else if (time.compareTo(date16) >= 0 && time.compareTo(date17) < 0){ - ks = (0.25f*ksThree.get(1) + 0.75f*ksThree.get(0)) /3; + ks = (float) (0.25f*ksThree.get(1) + 0.75f*ksThree.get(0)) /3; } else if (time.compareTo(date17) >= 0 && time.compareTo(date18) <= 0){ - ks = ksThree.get(0) /3; + ks = (float) ksThree.get(0) /3; } else if (CalcUtil.isLeapYear(year)) { if(time.compareTo(date2Leep) >= 0 && time.compareTo(date3Leep) < 0){ - ks = (0.75f*ksThree.get(0) + 0.25f*ksThree.get(1)) /3; + ks = (float) (0.75f*ksThree.get(0) + 0.25f*ksThree.get(1)) /3; } else if(time.compareTo(date3Leep) >= 0 && time.compareTo(date4) < 0){ - ks = (0.5f*ksThree.get(0) + 0.5f*ksThree.get(1)) /3; + ks = (float) (0.5f*ksThree.get(0) + 0.5f*ksThree.get(1)) /3; } } else { if(time.compareTo(date2) >= 0 && time.compareTo(date3) < 0){ - ks = (0.75f*ksThree.get(0) + 0.25f*ksThree.get(1)) /3; + ks = (float) (0.75f*ksThree.get(0) + 0.25f*ksThree.get(1)) /3; } else if(time.compareTo(date3) >= 0 && time.compareTo(date4) < 0){ - ks = (0.5f*ksThree.get(0) + 0.5f*ksThree.get(1)) /3; + ks = (float) (0.5f*ksThree.get(0) + 0.5f*ksThree.get(1)) /3; } } @@ -350,7 +351,7 @@ public class CalcKp { return ks; } public static int getAest(String station, int kIndex) { - return CalcUtil.geta2k(kIndex); + return CalcUtil.getK2a(kIndex); } @SuppressWarnings("unchecked") diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java index a9fa8e957e..c3ee0b897f 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java @@ -121,7 +121,7 @@ public class CalcUtil { } } - public static int geta2k(int k) { + public static int getK2a(int k) { int a = 0; if (k == 0) a = K2a.a0.a; @@ -295,7 +295,7 @@ public class CalcUtil { break; } - //take the lower of i + //take the lower of i. this step eq. K_limit = K9limit * [5, 10, 20, 40... if (i > 0) i = i-1; diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml index 84a7463d77..ebe800b2e3 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml @@ -1,6 +1,6 @@ - + 30-00:00:00 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.gpd/res/spring/gpd-ingest.xmlforFuture b/ncep/gov.noaa.nws.ncep.edex.plugin.gpd/res/spring/gpd-ingest.xmlforFuture new file mode 100644 index 0000000000..b34381c428 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.gpd/res/spring/gpd-ingest.xmlforFuture @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + gpd + + + + + + + + + gpd + + + + + + + + + java.lang.Throwable + + + + + + + + + \ No newline at end of file diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.idft/res/spring/idft-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.idft/res/spring/idft-ingest.xml index eb5fa71338..b45a6a1348 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.idft/res/spring/idft-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.idft/res/spring/idft-ingest.xml @@ -29,11 +29,11 @@ idft - + - + idft diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.intlsigmet/res/spring/intlsigmet-common.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.intlsigmet/res/spring/intlsigmet-common.xml old mode 100755 new mode 100644 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.intlsigmet/res/spring/intlsigmet-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.intlsigmet/res/spring/intlsigmet-ingest.xml old mode 100755 new mode 100644 index 41591d2dcb..726905ee80 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.intlsigmet/res/spring/intlsigmet-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.intlsigmet/res/spring/intlsigmet-ingest.xml @@ -33,13 +33,13 @@ intlsigmet - + --> - + intlsigmet diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.mcidas/res/spring/mcidas-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.mcidas/res/spring/mcidas-ingest.xml index be5ddbe708..464607cb5e 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.mcidas/res/spring/mcidas-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.mcidas/res/spring/mcidas-ingest.xml @@ -42,11 +42,11 @@ mcidas - + - + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.mosaic/res/spring/mosaic-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.mosaic/res/spring/mosaic-ingest.xml index 4bba0d5c86..32178b148c 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.mosaic/res/spring/mosaic-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.mosaic/res/spring/mosaic-ingest.xml @@ -44,12 +44,12 @@ mosaic - + - + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncairep/res/spring/ncairep-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncairep/res/spring/ncairep-ingest.xml index 32c07728e7..1e20119437 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncairep/res/spring/ncairep-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncairep/res/spring/ncairep-ingest.xml @@ -35,13 +35,13 @@ ncairep - + - + ncairep diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncccfp/res/spring/ncccfp-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncccfp/res/spring/ncccfp-ingest.xml index 574d75d380..d6d31142c0 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncccfp/res/spring/ncccfp-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncccfp/res/spring/ncccfp-ingest.xml @@ -32,12 +32,12 @@ ncccfp - + - + ncccfp diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncgrib/res/spring/ncgrib-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncgrib/res/spring/ncgrib-ingest.xml index 496b1b4dda..2ea92cbf0a 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncgrib/res/spring/ncgrib-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncgrib/res/spring/ncgrib-ingest.xml @@ -17,12 +17,11 @@ - + - - + @@ -71,7 +70,7 @@ - + ncgrib diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncpafm/res/spring/ncpafm-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncpafm/res/spring/ncpafm-ingest.xml index 6b00caf83f..dba9ae8fc6 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncpafm/res/spring/ncpafm-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncpafm/res/spring/ncpafm-ingest.xml @@ -37,13 +37,13 @@ ncpafm - + --> - + ncpafm diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncpirep/res/spring/ncpirep-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncpirep/res/spring/ncpirep-ingest.xml index c4d3dafb39..8c612bb468 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncpirep/res/spring/ncpirep-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncpirep/res/spring/ncpirep-ingest.xml @@ -40,13 +40,13 @@ ncpirep - + - + ncpirep diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncscat/res/spring/ncscat-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncscat/res/spring/ncscat-ingest.xml index c665e79bbd..a84ff1ac4c 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncscat/res/spring/ncscat-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncscat/res/spring/ncscat-ingest.xml @@ -36,12 +36,12 @@ ncscat - + - + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncscd/res/spring/ncscd-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncscd/res/spring/ncscd-ingest.xml index dfc0c0e70a..1bafa989f7 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncscd/res/spring/ncscd-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncscd/res/spring/ncscd-ingest.xml @@ -43,11 +43,11 @@ ncscd - + - + ncscd diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.nctaf/res/spring/nctaf-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.nctaf/res/spring/nctaf-ingest.xml index 194b53f7bb..21366df5b5 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.nctaf/res/spring/nctaf-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.nctaf/res/spring/nctaf-ingest.xml @@ -12,7 +12,7 @@ - + nctaf - + --> - + nctaf diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.nctext/res/spring/nctext-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.nctext/res/spring/nctext-ingest.xml index 0dc7f8f433..3127d1f3e1 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.nctext/res/spring/nctext-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.nctext/res/spring/nctext-ingest.xml @@ -33,12 +33,12 @@ nctext - + - + nctext diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/res/spring/ncuair-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/res/spring/ncuair-ingest.xml index 2d72057d74..8b64894fc6 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/res/spring/ncuair-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/res/spring/ncuair-ingest.xml @@ -36,13 +36,13 @@ ncuair - - + + - + ncuair diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/src/gov/noaa/nws/ncep/edex/plugin/ncuair/decoder/NcUairSeparator.java b/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/src/gov/noaa/nws/ncep/edex/plugin/ncuair/decoder/NcUairSeparator.java index bef28082a7..bf64d8f7b6 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/src/gov/noaa/nws/ncep/edex/plugin/ncuair/decoder/NcUairSeparator.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ncuair/src/gov/noaa/nws/ncep/edex/plugin/ncuair/decoder/NcUairSeparator.java @@ -283,7 +283,8 @@ import org.apache.log4j.Logger; //This method is much faster comparing to doBatchSeparate1. Only several header search is needed. private void doBatchSeparate(byte[] data ) { /* Regex used for separate the bulletins */ - System.out.println("Ncuair doBatchSeparate: input file size is " + data.length); + int dataLen = data.length; + //System.out.println("Ncuair doBatchSeparate: input file size is " + dataLen); final String BULLSEPARATOR = "\\x01\\r\\r\\n\\d{3} \\r\\r\\n"+ WMO_HEADER; Pattern bullPattern; bullPattern = Pattern.compile(BULLSEPARATOR); @@ -292,40 +293,58 @@ import org.apache.log4j.Logger; String msg ; int batchSize = 230000; //separate data to batch size around 230000 String batchStr; - while(charCount < data.length){ + //int count=0; + while(charCount < dataLen){ lastCharCount = charCount; charCount = charCount+ batchSize; - if(charCount < data.length){ + //count++; + if(charCount < dataLen){ + //System.out.println("1st substring begin @"+charCount); msg = message.substring(charCount); + try { // data bulletin is not ended at exactly 2300000 bytes for each batch // therefore, find the next header of bulletin and chop batch data at there Matcher bullMatcher = bullPattern.matcher(msg); if (bullMatcher.find()) { + int start = bullMatcher.start(); charCount = charCount+ start; batchStr= new String(); + //System.out.println("2nd substring begin @"+lastCharCount+ " end @"+charCount); batchStr = message.substring(lastCharCount,charCount); records.add(batchStr); + } else{ // no header find, should be the end of the data batchStr= new String(); - batchStr = message.substring(lastCharCount,data.length); + //System.out.println("3rd substring begin @"+lastCharCount+ " end @"+(dataLen-1)); + batchStr = message.substring(lastCharCount,dataLen-1); records.add(batchStr); break; } } catch (Exception e) { if ( log.isInfoEnabled()) { - log.info ("doBatchSeparate exception !"); + log.info ("doBatchSeparate exception !" + e); } + break; } + } else{ // should be the last batch of the data, just add them without search next header - msg = message.substring(lastCharCount,data.length); + try{ + //System.out.println("4th substring begin @"+lastCharCount+ " end @"+(dataLen-1)); + msg = message.substring(lastCharCount,dataLen-1); records.add(msg); + } + catch (Exception e) { + if ( log.isInfoEnabled()) { + log.info ("doBatchSeparate last batch exception !"+e); + } + } break; } } diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.nonconvsigmet/res/spring/nonconvsigmet-common.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.nonconvsigmet/res/spring/nonconvsigmet-common.xml old mode 100755 new mode 100644 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.nonconvsigmet/res/spring/nonconvsigmet-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.nonconvsigmet/res/spring/nonconvsigmet-ingest.xml old mode 100755 new mode 100644 index cc03e8f32c..016a8362b0 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.nonconvsigmet/res/spring/nonconvsigmet-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.nonconvsigmet/res/spring/nonconvsigmet-ingest.xml @@ -34,13 +34,13 @@ nonconvsigmet - + --> - + nonconvsigmet diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ntrans/res/spring/ntrans-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ntrans/res/spring/ntrans-ingest.xml index b316e18903..276c1b4a9a 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ntrans/res/spring/ntrans-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ntrans/res/spring/ntrans-ingest.xml @@ -36,12 +36,12 @@ ntrans - + - + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.pgen/utility/common_static/base/purge/pgenPurgeRules.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.pgen/utility/common_static/base/purge/pgenPurgeRules.xml index f5b36e1d42..ec5682d521 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.pgen/utility/common_static/base/purge/pgenPurgeRules.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.pgen/utility/common_static/base/purge/pgenPurgeRules.xml @@ -1,11 +1,7 @@ - - - - pgen - default - - - true - + + + 07-00:00:00 + + \ No newline at end of file diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.sgwh/res/spring/sgwh-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.sgwh/res/spring/sgwh-ingest.xml index 815ff04049..438aa4403d 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.sgwh/res/spring/sgwh-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.sgwh/res/spring/sgwh-ingest.xml @@ -39,11 +39,11 @@ sgwh - + - + sgwh diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.sgwhv/res/spring/sgwhv-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.sgwhv/res/spring/sgwhv-ingest.xml index 5b75fa5185..75a484bb3f 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.sgwhv/res/spring/sgwhv-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.sgwhv/res/spring/sgwhv-ingest.xml @@ -39,11 +39,11 @@ sgwhv - + - + sgwhv diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/res/spring/solarimage-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/res/spring/solarimage-ingest.xml index 23eb705d94..2e55c631e8 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/res/spring/solarimage-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/res/spring/solarimage-ingest.xml @@ -27,7 +27,7 @@ - + solarimage - + - + solarimage @@ -78,7 +78,7 @@ - + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.ssha/res/spring/ssha-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.ssha/res/spring/ssha-ingest.xml index f34042890c..cff4c91bdd 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.ssha/res/spring/ssha-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.ssha/res/spring/ssha-ingest.xml @@ -40,11 +40,11 @@ ssha - + - + ssha diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.stormtrack/res/spring/stormtrack-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.stormtrack/res/spring/stormtrack-ingest.xml index ef20a4c43a..06ea8b4fee 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.stormtrack/res/spring/stormtrack-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.stormtrack/res/spring/stormtrack-ingest.xml @@ -21,7 +21,7 @@ - + @@ -42,11 +42,11 @@ stormtrack - + - + stormtrack diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.tcm/res/spring/tcm-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.tcm/res/spring/tcm-ingest.xml index ca51191363..ff1e6d016b 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.tcm/res/spring/tcm-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.tcm/res/spring/tcm-ingest.xml @@ -33,11 +33,11 @@ tcm - + - + tcm diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.wcp/res/spring/wcp-ingest.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.wcp/res/spring/wcp-ingest.xml index dbc4032f1f..ee08113523 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.wcp/res/spring/wcp-ingest.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.wcp/res/spring/wcp-ingest.xml @@ -29,11 +29,11 @@ wcp - + - + wcp diff --git a/ncep/gov.noaa.nws.ncep.gempak.parameters/src/gov/noaa/nws/ncep/gempak/parameters/colorbar/CLRBAR.java b/ncep/gov.noaa.nws.ncep.gempak.parameters/src/gov/noaa/nws/ncep/gempak/parameters/colorbar/CLRBAR.java index 50eca4e24d..8009a8d7b9 100644 --- a/ncep/gov.noaa.nws.ncep.gempak.parameters/src/gov/noaa/nws/ncep/gempak/parameters/colorbar/CLRBAR.java +++ b/ncep/gov.noaa.nws.ncep.gempak.parameters/src/gov/noaa/nws/ncep/gempak/parameters/colorbar/CLRBAR.java @@ -15,6 +15,8 @@ import gov.noaa.nws.ncep.viz.common.ui.color.GempakColor; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 11-Jun-2012 743 Archana.S Initial Creation + * 08-Aug-2013 743 S. Gurung Fixed NullPointerException caused when user enters a value + * greater than the size of GempakColor values. * * * @author Archana.S @@ -41,7 +43,6 @@ public class CLRBAR { private void parse(String strToParse) { - if (strToParse == null || strToParse.isEmpty()) return; @@ -51,13 +52,15 @@ public class CLRBAR { int color; try { color = Integer.parseInt(parsedStringArray[0]); + if (color > GempakColor.values().length) + color = -1; if(color == 0) cBarAttributesBuilder.setDrawColorBar(false); else cBarAttributesBuilder.setDrawColorBar(true); - if (color < 0 ){ + if (color < 0){ cBarAttributesBuilder.setDrawBoxAroundColorBar(false); cBarAttributesBuilder.setColor(GempakColor.convertToRGB(color * -1)); }else{ diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/NsharpGridInventory.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/NsharpGridInventory.java index 4faa7aad89..579409b766 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/NsharpGridInventory.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/NsharpGridInventory.java @@ -23,6 +23,7 @@ import com.raytheon.uf.viz.core.requests.ThriftClient; * 08/19/12 #845 Greg Hull Created. * 08/23/12 Chin Chen Added ref time for Nsharp and remove event time as * it is not used. + * 09/04/13 #1031 Greg Hull Make directory request to find the grid resource's inventory. * * * @@ -32,13 +33,10 @@ import com.raytheon.uf.viz.core.requests.ThriftClient; public class NsharpGridInventory { // This will use one NcInventory to store grid metadata needed for NSharp. - // currently this is just the modelNames and dataTimes. + // currently this is just the modelNames and dataTimes. This will use + // the same inventory as the NcGrid resource. // - // NOTE : If more data is needed we may want to consider merging this - // with the NcGridInventory which stores the parm/vcord/levels but not - // the dataTimes. - // - public static final String nsharpGridInventoryName = "NsharpGridInventory"; + public static String nsharpGridInventoryName = "";//"NcGridModelTimes"; private static final ArrayList inventoryParamNames = new ArrayList(); { /* @@ -53,43 +51,118 @@ public class NsharpGridInventory { //inventoryParamNames.add( "dataTime.fcstTime"); } - private boolean isInventoryInited = false; - - //private static final transient IUFStatusHandler statusHandler = - // UFStatus.getHandler(NsharpGridInventory.class); - private static NsharpGridInventory instance = null; public static NsharpGridInventory getInstance() { if( instance == null ) { instance = new NsharpGridInventory(); + nsharpGridInventoryName = ""; } return instance; } public Boolean isInitialized() { - return isInventoryInited; + return !nsharpGridInventoryName.isEmpty(); + } + + // get a list of the inventories on the server and save the name of + // the one that NSharp will query + public void initialize() throws VizException { + + if( isInitialized() ) { + return; + } + String errMsg = ""; + HashMap baseConstraints = + new HashMap(); + baseConstraints.put( "pluginName", new RequestConstraint( "grid" ) ); + + //inventoryConstraints.put( "pluginName", new RequestConstraint( getPluginName() ) ); + NcInventoryDefinition invDefn = + new NcInventoryDefinition( "NSharpGridModels", // + baseConstraints, inventoryParamNames ); + + NcInventoryRequestMsg dirRequest = NcInventoryRequestMsg.makeDirectoryRequest(); + + try { + Object rslts = ThriftClient.sendRequest( dirRequest ); + + if( rslts instanceof String ) { + errMsg = rslts.toString(); + } + if( !(rslts instanceof ArrayList) ) { + errMsg = "Grid Inventory Directory Request Error: expecting ArrayList."; + } + else if( ((ArrayList)rslts).isEmpty() ) { + errMsg = "Grid Inventory Directory Request Warning: No Inventories initialized.???"; + } + else if( !(((ArrayList)rslts).get(0) instanceof NcInventoryDefinition) ) { + errMsg = "Grid Inventory Directory Request Error: expecting ArrayList."; + } + else { + // used to set the inventory initialized flag + ArrayList invDefnsList = (ArrayList)rslts; + + // it would be nice to use the supportsQuery() method instead of equals but we'd have to 'assume' the constraints + // used for queries and I'd rather not do that. + // instead just check for 1 'grid' base constraint and that the needed parameters + // are in the inventory. + for( NcInventoryDefinition id : invDefnsList ) { + //if( id.supportsQuery( , inventoryParamNames )) + if( id.getBaseConstraints().keySet().size() > 1 || + !id.getBaseConstraints().containsKey("pluginName") || + !id.getBaseConstraints().get("pluginName").getConstraintValue().equals("grid")) { + continue; + } + Boolean invFound = true; + for( String invPrm : inventoryParamNames ) { + if( !id.getInventoryParameters().contains( invPrm ) ) { + invFound = false; + break; + } + } + if( invFound ) { + nsharpGridInventoryName = id.getInventoryName(); + System.out.println("Found Inventory, "+ nsharpGridInventoryName + + ", to be used by the NsharpGridInventory class"); + break; + } + } + + if( nsharpGridInventoryName.isEmpty() ) { + errMsg = "Could not find usable inventory for NSharp Grid Models"; + } + } + } + catch( VizException e ) { + errMsg = "Error getting inventory directory: "+e.getMessage(); + } + + if( !isInitialized() ) { + System.out.println(errMsg); + throw new VizException( errMsg ); + } } // Note: this should not be necessary since edex should have already initialized the // NcGridSoundingInventoryDefinition // - public void initInventory( boolean reinit ) throws VizException { - - if( !isInventoryInited || reinit) { - + // if the grid inventory is not found on the server, we + // can create it from here. + public static void createInventory() throws VizException { HashMap baseConstraints = new HashMap(); baseConstraints.put( "pluginName", new RequestConstraint( "grid" ) ); + nsharpGridInventoryName = "NSharpGridModels"; + //inventoryConstraints.put( "pluginName", new RequestConstraint( getPluginName() ) ); NcInventoryDefinition invDescr = new NcInventoryDefinition( nsharpGridInventoryName, baseConstraints, inventoryParamNames ); ManageNcInventoryMsg createReqMsg = - ( reinit ? ManageNcInventoryMsg.makeReinitDirective() : - ManageNcInventoryMsg.makeCreateDirective() ); + ManageNcInventoryMsg.makeCreateDirective(); createReqMsg.setInventoryDefinition( invDescr ); // createReqMsg.setReInitInventory( reinit ); @@ -98,14 +171,13 @@ public class NsharpGridInventory { Object rslts = ThriftClient.sendRequest( createReqMsg ); if( !(rslts instanceof String) ) { + nsharpGridInventoryName = ""; throw new VizException("initInventory failed: response not of type String???"); } String response = (String)rslts; - if( response.equals( ManageNcInventoryMsg.CREATE_SUCCESS_RESPONSE ) ) { - isInventoryInited = true; - } - else { + if( !response.equals( ManageNcInventoryMsg.CREATE_SUCCESS_RESPONSE ) ) { + nsharpGridInventoryName = ""; throw new VizException( response ); } @@ -113,13 +185,13 @@ public class NsharpGridInventory { out.println("Inventory loaded for "+ nsharpGridInventoryName+" in "+ (t02-t01)+ "msecs" ); } - } // public ArrayList searchInventory( HashMap searchConstraints, String reqParam ) { - if( !isInventoryInited ) { + if( !isInitialized() ) { + System.out.println("Nsharp searchInventory failed because the inventory has not been initialized."); return null; } @@ -127,8 +199,9 @@ public class NsharpGridInventory { NcInventoryRequestMsg reqMsg = NcInventoryRequestMsg.makeQueryRequest(); reqMsg.setInventoryName( nsharpGridInventoryName ); - reqMsg.setRequestedParam( reqParam ); + reqMsg.setRequestedParams( new String[]{reqParam} ); reqMsg.setReqConstraintsMap( searchConstraints ); + reqMsg.setUniqueValues( true ); Object rslts; @@ -138,8 +211,11 @@ public class NsharpGridInventory { // out.println("inv request returned "+rslts.getClass().getCanonicalName() ); + if( rslts instanceof String ) { + throw new VizException("Inventory Request Failed: "+ rslts.toString() ); + } + if( !(rslts instanceof String[]) ) { -// out.println("Inventory Request Failed: expecting String[] return." + rslts.toString()); throw new VizException("Inventory Request Failed: expecting String[] instead of "+ rslts.getClass().getName() ); } @@ -161,6 +237,7 @@ public class NsharpGridInventory { return retArray; } catch ( VizException vizex ) { + System.out.println("Error searching NsharpGridInventory: "+vizex.getMessage() ); return null; } } @@ -174,8 +251,8 @@ public class NsharpGridInventory { NcInventoryRequestMsg reqMsg = NcInventoryRequestMsg.makeDumpRequest(); reqMsg.setInventoryName( nsharpGridInventoryName ); - reqMsg.setRequestedParam( - inventoryParamNames.get( inventoryParamNames.size()-1) ); +// reqMsg.setRequestedParam( +// inventoryParamNames.get( inventoryParamNames.size()-1) ); // reqMsg.setDumpToFile( true ); Object rslts; diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpDisplayElementFactory.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpDisplayElementFactory.java new file mode 100644 index 0000000000..6303024347 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpDisplayElementFactory.java @@ -0,0 +1,223 @@ +package gov.noaa.nws.ncep.ui.nsharp.display.rsc; +/** + * + * + * This code has been developed by the NCEP-SIB for use in the AWIPS2 system. + * + *
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    	Engineer    Description
+ * -------		------- 	-------- 	-----------
+ * 09/2013			    	Chin Chen	Initial coding
+ *
+ * 
+ * + * @author Chin Chen + * @version 1.0 + */ +import java.awt.Color; +import java.util.ArrayList; + +import org.eclipse.swt.graphics.RGB; + +import com.raytheon.uf.viz.core.IGraphicsTarget; +import com.raytheon.uf.viz.core.drawables.IDescriptor; +import com.raytheon.uf.viz.core.drawables.IShadedShape; +import com.raytheon.uf.viz.core.drawables.IWireframeShape; +import com.raytheon.uf.viz.core.drawables.PaintProperties; +import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; + +import gov.noaa.nws.ncep.ui.pgen.display.DisplayElementFactory; +import gov.noaa.nws.ncep.ui.pgen.display.FillDisplayElement; +import gov.noaa.nws.ncep.ui.pgen.display.IDisplayable; +import gov.noaa.nws.ncep.ui.pgen.display.IVector; +import gov.noaa.nws.ncep.ui.pgen.display.LineDisplayElement; + +/* + * Chin Note: This class extends from PGEN's DisplayElementFactory. Its purpose is only for + * Nsharp to draw wind barb in SkewT display. As skewT has its own log scale coordination. + * The key word, CHANGED, is used to mark changes from original PGEN code. + */ +public class NsharpDisplayElementFactory extends DisplayElementFactory { + + public NsharpDisplayElementFactory(IGraphicsTarget target, + IDescriptor iDescriptor) { + super(target, iDescriptor); + // TODO Auto-generated constructor stub + } + + @SuppressWarnings("deprecation") + private ArrayList createWindBarb(IVector vect) { + double sfactor = deviceScale * vect.getSizeScale() * 10.; + IWireframeShape mask = null; + Color bgColor = new Color(0,0,0); // default black + + /* + * Create the List to be returned, and wireframe shape + */ + ArrayList slist = new ArrayList(); + IWireframeShape barb = target.createWireframeShape(false, iDescriptor); + IShadedShape flags = target.createShadedShape(false, iDescriptor, false); + if ( vect.hasBackgroundMask() ) { + mask = target.createWireframeShape(false, iDescriptor); + RGB bg = backgroundColor.getColor(BGColorMode.EDITOR); + bgColor = new Color(bg.red, bg.green, bg.blue); + } + + /* + * Get color for creating displayables. + */ + Color dspClr = getDisplayColor( vect.getColor() ); + + /* + * CHANGED: these 2 lines changed + */ + double[] start = { vect.getLocation().x, vect.getLocation().y, 0.0 }; + //double[] start = iDescriptor.worldToPixel(tmp); + + /* + * If calm wind, draw circle + */ + if ( vect.getSpeed() < 0.5 ) { + double[][] pts = calculateCircle(start,sfactor*0.1); + if ( vect.hasBackgroundMask() ) { + mask.addLineSegment(pts); + mask.compile(); + slist.add( new LineDisplayElement(mask, bgColor, vect.getLineWidth() + (float)deviceScale) ); + } + barb.addLineSegment(pts); + barb.compile(); + slist.add( new LineDisplayElement(barb, dspClr, vect.getLineWidth()) ); + return slist; + } + + /* + * Compute the number of flags, whole barbs and half barbs + * needed to represent the wind speed. + */ + int speed = (int)Math.floor(vect.getSpeed() + 2.5); + int numflags = speed / 50; + int remainder = speed % 50; + int numbarbs = remainder / 10; + remainder = remainder % 10; + int halfbarbs = remainder / 5; + + double MAX_SEGMENTS = 6.0; // Maximum number of segments on original size barb + int numsegs = (2 * numflags) + numbarbs + halfbarbs; + double segmentSpacing = sfactor / MAX_SEGMENTS; + double windLength = segmentSpacing * Math.max( MAX_SEGMENTS, numsegs); + double barbLength = sfactor /3.0; + + /* + * find the end point of the wind barb + */ + //CHANGED:this line changed + double angle = -90.0 + vect.getDirection(); + double[] end = new double[3]; + end[0] = start[0] + (windLength * Math.cos(Math.toRadians(angle)) ); + end[1] = start[1] + (windLength * Math.sin(Math.toRadians(angle)) ); + end[2] = 0.0; + //System.out.println("X0="+start[0]+" Y0="+start[1]+" X1="+end[0]+" Y1="+ end[1]); + + barb.addLineSegment(new double[][] {start, end}); + if ( vect.hasBackgroundMask() ) mask.addLineSegment(new double[][] {start, end}); + + /* + * Create a LengthIndexedLine used to reference points along the path + * at specific distances + */ + LineString[] ls = toLineString(new Coordinate[] {new Coordinate(start[0],start[1]), + new Coordinate(end[0], end[1]) } ); + LengthIndexedLine lil = new LengthIndexedLine(ls[0]); + double currentLoc = lil.getEndIndex(); // start from tail end + + //TODO - orientation issues + double BARB_ANGLE = 70.0; + double barbAngle = angle + BARB_ANGLE; + if ( vect.getLocation().y < 0.0 ) barbAngle = angle - BARB_ANGLE; + double cosineBarbAngle = Math.cos(Math.toRadians(barbAngle)); + double sineBarbAngle = Math.sin(Math.toRadians(barbAngle)); + + /* + * Process flags + */ + for ( int j=0; j createDisplayElements(IVector vect, + PaintProperties paintProps) { + setScales(paintProps); + + ArrayList slist = createWindBarb(vect); + return slist; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpResourceHandler.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpResourceHandler.java index 52a7c25771..3b7fe99086 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpResourceHandler.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpResourceHandler.java @@ -40,7 +40,6 @@ import gov.noaa.nws.ncep.ui.nsharp.view.NsharpPaletteWindow; import gov.noaa.nws.ncep.ui.nsharp.view.NsharpParcelDialog; import gov.noaa.nws.ncep.ui.nsharp.view.NsharpShowTextDialog; -import java.sql.Timestamp; import java.text.DateFormatSymbols; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -56,7 +55,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.StringTokenizer; -import java.util.TimeZone; import org.eclipse.core.runtime.ListenerList; import org.eclipse.swt.graphics.GC; @@ -355,12 +353,15 @@ public class NsharpResourceHandler { int stnIndex = stnElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex); if(stnTmElm!=null){ - stnTmElm.setCompColorIndex(colorIndex++); + stnTmElm.setCompColorIndex(colorIndex); + //if(colorIndex > NsharpConstants.LINE_COMP10) + // colorIndex = NsharpConstants.LINE_COMP1; + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; } } - } setCurSndProfileProp(); setCurrentSoundingLayerInfo(); resetData(); @@ -391,12 +392,15 @@ public class NsharpResourceHandler { int sndIndex = sndElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex); if(stnTmElm!=null){ - stnTmElm.setCompColorIndex(colorIndex++); + stnTmElm.setCompColorIndex(colorIndex); + //if(colorIndex > NsharpConstants.LINE_COMP10) + // colorIndex = NsharpConstants.LINE_COMP1; + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; } } - } setCurSndProfileProp(); setCurrentSoundingLayerInfo(); resetData(); @@ -429,12 +433,15 @@ public class NsharpResourceHandler { int tmIndex = timeElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex); if(stnTmElm!=null){ - stnTmElm.setCompColorIndex(colorIndex++); + stnTmElm.setCompColorIndex(colorIndex); + //if(colorIndex > NsharpConstants.LINE_COMP10) + // colorIndex = NsharpConstants.LINE_COMP1; + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; } } - } setCurSndProfileProp(); setCurrentSoundingLayerInfo(); resetData(); @@ -1205,6 +1212,9 @@ public class NsharpResourceHandler { currentInsetPage = 1; currentParcel = NsharpNativeConstants.PARCELTYPE_MOST_UNSTABLE; currentParcelLayerPressure = NsharpNativeConstants.MU_LAYER; + currentTimeElementListIndex = -1; + currentStnElementListIndex = -1; + currentSndElementListIndex = -1; resetData(); } @@ -1413,12 +1423,12 @@ public class NsharpResourceHandler { Set keyset= new HashSet(soundMap.keySet()); for(String key: keyset) { List sndLy = soundMap.remove(key); - String newkey= key.replace("NAMS", "GOOGLE"); + String newkey= key.replace("NCUAIR", "gpduair"); //String newkey= key.replace("GFSS", "NAMS"); - //newkey = newkey.replace("KSLN", "KFSD"); + //String newkey = key.replace("OAK", "KFSD"); soundMap.put(newkey, sndLy); } - stnInfo.setSndType(stnInfo.getSndType().replace("NAMS", "GOOGLE")); + stnInfo.setSndType(stnInfo.getSndType().replace("NCUAIR", "gpduair")); //stnInfo.setSndType(stnInfo.getSndType().replace("GFSS", "NAMS")); }//*/ @@ -1807,6 +1817,9 @@ public class NsharpResourceHandler { case FIRST: //the oldest time, set to dataTimelineList.length, so in while loop, it starts from dataTimelineList.length-1 targetIndex = timeElementList.size(); break; + default: + break; + } int counter=0; @@ -1828,6 +1841,8 @@ public class NsharpResourceHandler { targetIndex--; targetIndex = targetIndex % this.timeElementList.size(); break; + default: + break; } counter++; if(counter >= timeElementList.size()) @@ -1864,12 +1879,15 @@ public class NsharpResourceHandler { int stnIndex = stnElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(targetIndex).get(currentSndElementListIndex); if(stnTmElm != null){ - stnTmElm.setCompColorIndex(colorIndex++); + stnTmElm.setCompColorIndex(colorIndex); + //if(colorIndex > NsharpConstants.LINE_COMP10) + // colorIndex = NsharpConstants.LINE_COMP1; + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; } } - } //no matter we find current stn or not //we should get out of here break; @@ -1901,12 +1919,12 @@ public class NsharpResourceHandler { continue; int sndIndex = sndElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(targetIndex).get(sndIndex); - if(stnTmElm !=null){ - stnTmElm.setCompColorIndex(colorIndex++); + if(stnTmElm!=null){ + stnTmElm.setCompColorIndex(colorIndex); + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; - - } } } //no matter we find current snd type for this stn or not @@ -1947,6 +1965,9 @@ public class NsharpResourceHandler { currentStnElementListIndex++; currentStnElementListIndex = currentStnElementListIndex % this.stnElementList.size(); break; + default: + break; + } counter++; //System.out.println("counter = "+ counter); @@ -1985,14 +2006,15 @@ public class NsharpResourceHandler { continue; int tmIndex = timeElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex); - if(stnTmElm != null){ - stnTmElm.setCompColorIndex(colorIndex++); + if(stnTmElm!=null){ + stnTmElm.setCompColorIndex(colorIndex); + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; } } - } //no matter we find current time line for this stn or not //we should get out of here break; @@ -2024,12 +2046,12 @@ public class NsharpResourceHandler { continue; int sndIndex = sndElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex); - if(stnTmElm !=null){ - stnTmElm.setCompColorIndex(colorIndex++); + if(stnTmElm!=null){ + stnTmElm.setCompColorIndex(colorIndex); + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; - - } } } //no matter we find current snd type for this stn or not @@ -2069,6 +2091,9 @@ public class NsharpResourceHandler { currentSndElementListIndex++; currentSndElementListIndex = currentSndElementListIndex % this.sndElementList.size(); break; + default: + break; + } counter++; //System.out.println("counter = "+ counter); @@ -2107,12 +2132,12 @@ public class NsharpResourceHandler { continue; int tmIndex = timeElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex); - if(stnTmElm != null){ - stnTmElm.setCompColorIndex(colorIndex++); + if(stnTmElm!=null){ + stnTmElm.setCompColorIndex(colorIndex); + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; - - } } } //no matter we find current time line for this stn or not @@ -2144,11 +2169,13 @@ public class NsharpResourceHandler { for(NsharpOperationElement elm: stnElementList) { int stnIndex = stnElementList.indexOf(elm); NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex); - if(stnTmElm != null){ - stnTmElm.setCompColorIndex(colorIndex++); + if(stnTmElm!=null){ + stnTmElm.setCompColorIndex(colorIndex); + } + colorIndex++; if(colorIndex > NsharpConstants.LINE_COMP10) colorIndex = NsharpConstants.LINE_COMP1; - } + } } //no matter we find current stn or not diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpSkewTPaneResource.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpSkewTPaneResource.java index f14d508c19..efe0aebd34 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpSkewTPaneResource.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpSkewTPaneResource.java @@ -861,7 +861,8 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{ Color[] colors = new Color[1]; Color color = new Color(icolor.red, icolor.green, icolor.blue); colors[0]= color; - DisplayElementFactory df = new DisplayElementFactory (target, this.descriptor); + //DisplayElementFactory df = new DisplayElementFactory (target, this.descriptor); + NsharpDisplayElementFactory df = new NsharpDisplayElementFactory (target, this.descriptor); ArrayList elements = new ArrayList (); float wbSize = graphConfigProperty.getWindBarbSize(); @@ -909,7 +910,6 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{ Vector vect= new Vector(); vect.setVectorType(VectorType.WIND_BARB); vect.setArrowHeadSize(1.0); - dir= (dir+180.0f)%360.0f; vect.setDirection(dir); vect.setSpeed(spd); vect.setSizeScale(curWbSize); diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpTimeStnPaneResource.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpTimeStnPaneResource.java index 14894464e5..3156ddae86 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpTimeStnPaneResource.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/display/rsc/NsharpTimeStnPaneResource.java @@ -551,7 +551,7 @@ public class NsharpTimeStnPaneResource extends NsharpAbstractPaneResource{ if(numStnToShow <1) numStnToShow=1; } - int startIndex = (rscHandler.getCurStnIdPage()-1) * numStnToShow; + int startIndex = (rscHandler.getCurSndPage()-1) * numStnToShow; if(startIndex<0) startIndex =0; int colorIndex; diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/ModelSoundingDialogContents.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/ModelSoundingDialogContents.java index d31e3d0178..3f790b35da 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/ModelSoundingDialogContents.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/ModelSoundingDialogContents.java @@ -140,17 +140,17 @@ public class ModelSoundingDialogContents { * We will have to strip off "ncgrib/ruc13/" and ":00:00.0(6)xxxxx", also replace "_" with space, to get * grid file name like this "2012-01-17 16". */ - char fileSep = File.pathSeparatorChar; - String header = "grid"+fileSep+ selectedModel +fileSep; +// char fileSep = File.pathSeparatorChar; + //String header = "grid"+fileSep+ selectedModel +fileSep; if( queryRsltsList1 != null && !queryRsltsList1.isEmpty() ) { Collections.sort(queryRsltsList1, String.CASE_INSENSITIVE_ORDER); Collections.reverse(queryRsltsList1); - for(String queryRslt : queryRsltsList1 ) { + for(String dataTimeStr : queryRsltsList1 ) { //System.out.println("ref time:"+queryRslt ); - queryRslt = queryRslt.substring(header.length()); - String refTime = queryRslt.substring(0, queryRslt.indexOf('_')); - refTime = refTime + " "+ queryRslt.substring(queryRslt.indexOf('_')+1,queryRslt.indexOf(':')); +// queryRslt = queryRslt.substring(header.length()); + String refTime = dataTimeStr.substring(0, dataTimeStr.indexOf('_')); + refTime = refTime + " "+ dataTimeStr.substring(dataTimeStr.indexOf('_')+1,dataTimeStr.indexOf(':')); //System.out.println("ret for disp="+refTime ); //Chin: a same refTime may be returned more than once. int index = availableFileList.indexOf(refTime); @@ -355,9 +355,9 @@ public class ModelSoundingDialogContents { if( queryRsltsList != null && !queryRsltsList.isEmpty() ) { Collections.sort(queryRsltsList, String.CASE_INSENSITIVE_ORDER); - for(String queryRslt : queryRsltsList ) { - System.out.println("model name:"+queryRslt ); - String modelName = queryRslt.substring( "grid/".length() ); + for(String modelName : queryRsltsList ) { +// System.out.println("model name:"+modelName ); +// String modelName = queryRslt.substring( "grid/".length() ); if(cfgList!=null && cfgList.size()>0){ if(cfgList.contains(modelName)) modelTypeList.add(modelName); diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpGribModelTypeConfigDialog.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpGribModelTypeConfigDialog.java index f1bf5cd1fb..e992156deb 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpGribModelTypeConfigDialog.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpGribModelTypeConfigDialog.java @@ -103,11 +103,13 @@ public class NsharpGribModelTypeConfigDialog extends Dialog { ArrayList queryRsltsList = NsharpGridInventory.getInstance().searchInventory( rcMap, "info.datasetId" ); + List modelTypeList = new ArrayList(); + if( queryRsltsList != null && !queryRsltsList.isEmpty() ) { - for(String queryRslt : queryRsltsList ) { - System.out.println("model name:"+queryRslt ); - String modelName = queryRslt.substring( "grid/".length() ); + for(String modelName : queryRsltsList ) { +// System.out.println("model name:"+queryRslt ); +// String modelName = queryRslt.substring( "grid/".length() ); if(returnNeeded) modelTypeList.add(modelName); else diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpPaletteWindow.java b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpPaletteWindow.java index b8db6f923c..b501957a15 100644 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpPaletteWindow.java +++ b/ncep/gov.noaa.nws.ncep.ui.nsharp/src/gov/noaa/nws/ncep/ui/nsharp/view/NsharpPaletteWindow.java @@ -12,6 +12,7 @@ * ------- ------- -------- ----------- * 03/16/2010 229 Chin Chen Initial coding * 03/11/2013 972 Greg Hull NatlCntrsEditor + * 09/03/2013 1031 Greg Hull try 5 times to initialize the inventory. * * * @@ -31,6 +32,7 @@ import gov.noaa.nws.ncep.ui.nsharp.display.rsc.NsharpResourceHandler; import gov.noaa.nws.ncep.viz.common.ui.NmapCommon; import gov.noaa.nws.ncep.viz.ui.display.NatlCntrsEditor; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; @@ -382,13 +384,44 @@ public class NsharpPaletteWindow extends ViewPart implements SelectionListener, NsharpGraphProperty graphConfigProperty = configStore .getGraphProperty(); paneConfigurationName = graphConfigProperty.getPaneConfigurationName(); + + for( int a=1 ; a<=5 ; a++ ) { + if( NsharpGridInventory.getInstance().isInitialized() ) { + break; + } + try { - NsharpGridInventory.getInstance().initInventory(false); - } catch (VizException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + NsharpGridInventory.getInstance().initialize(); + } + catch (VizException e) { + // TODO : could call createInventory() here but for now this will be considered + // an error since the grid inventory should/must be on the server. + System.out.println("NsharpGridInventory initialize attempt #"+a+" failed"); + + try { Thread.sleep(a*500); } catch (InterruptedException e1) { } + } } + if( !NsharpGridInventory.getInstance().isInitialized() ) { + // TODO : change to a confirm to create an inventory. + MessageDialog errDlg = new MessageDialog( + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Error", null, + "Unable to find an Inventory to support Grid Model times. Please wait while one"+ + " is created.", MessageDialog.ERROR, + new String[] { "OK" }, 0); + errDlg.open(); + + try { + NsharpGridInventory.getInstance().createInventory(); + } + catch (VizException e) { + errDlg = new MessageDialog( + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Error", null, + "Error creating Inventory to support Grid Model times.", MessageDialog.ERROR, + new String[] { "OK" }, 0); + errDlg.open(); + } + } } /** diff --git a/ncep/gov.noaa.nws.ncep.ui.pgen/META-INF/services/com.raytheon.uf.common.serialization.ISerializableObject b/ncep/gov.noaa.nws.ncep.ui.pgen/META-INF/services/com.raytheon.uf.common.serialization.ISerializableObject index 62cccc2f84..98e7abfe54 100644 --- a/ncep/gov.noaa.nws.ncep.ui.pgen/META-INF/services/com.raytheon.uf.common.serialization.ISerializableObject +++ b/ncep/gov.noaa.nws.ncep.ui.pgen/META-INF/services/com.raytheon.uf.common.serialization.ISerializableObject @@ -7,4 +7,5 @@ gov.noaa.nws.ncep.ui.pgen.tca.WaterBreakpointList gov.noaa.nws.ncep.ui.pgen.tca.CoastBreakpointList gov.noaa.nws.ncep.ui.pgen.file.Products gov.noaa.nws.ncep.ui.pgen.producttypes.ProductTypes -gov.noaa.nws.ncep.ui.pgen.rsc.PgenResourceData \ No newline at end of file +gov.noaa.nws.ncep.ui.pgen.rsc.PgenResourceData +gov.noaa.nws.ncep.ui.pgen.attrdialog.SpcPhoneList \ No newline at end of file diff --git a/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooksettings.xml b/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooksettings.xml index 4bdb92bad8..c9ab62547d 100644 --- a/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooksettings.xml +++ b/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooksettings.xml @@ -1111,7 +1111,7 @@ - + @@ -1128,8 +1128,8 @@ - - + + @@ -1145,7 +1145,7 @@ - + @@ -1162,9 +1162,9 @@ - - - + + + @@ -1179,7 +1179,7 @@ - + @@ -1196,7 +1196,7 @@ - + @@ -1213,7 +1213,7 @@ - + @@ -1227,6 +1227,23 @@ FZRA + + + + + + + + + + + + + + + WWUNLIK + + diff --git a/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml b/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml index ba7252caad..40d68d7940 100644 --- a/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml +++ b/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml @@ -120,6 +120,7 @@