Merge "Omaha #4414: Fix display of nwpsTrkngCG0 D2D and smart init data for GFE." into omaha_14.4.1

Former-commit-id: 8f98c004520bef32b7d5d449b8e4c47a73aa79e7
This commit is contained in:
Ron Anderson 2015-04-20 14:28:36 -05:00 committed by Gerrit Code Review
commit a6ac301377
4 changed files with 90 additions and 77 deletions

View file

@ -51,7 +51,9 @@
# 04/03/2015 #4367 dgilling Change WindGust's time constraints back to TC1
# for Fcst/Official.
# 04/15/2015 #17383 yteng Change localTC to fix error that time constraints
# being off
# being off
# 04/20/2015 #4414 dgilling Add missing NWPSTrkngCG0 weather elements.
#
########################################################################
#----------------------------------------------------------------------------
@ -208,6 +210,7 @@ Wave_6 = ("Wave_6", VECTOR, "ft", "Wave_6", 50.0, 0.0, 2, NO)
Wave_7 = ("Wave_7", VECTOR, "ft", "Wave_7", 50.0, 0.0, 2, NO)
Wave_8 = ("Wave_8", VECTOR, "ft", "Wave_8", 50.0, 0.0, 2, NO)
Wave_9 = ("Wave_9", VECTOR, "ft", "Wave_9", 50.0, 0.0, 2, NO)
Wave_10 = ("Wave_10", VECTOR, "ft", "Wave_10", 50.0, 0.0, 2, NO)
#Fcst Grids - for partitioned wave groups
Wave1 = ("Wave1", VECTOR, "ft", "WAVE1", 50.0, 0.0, 1, NO)
@ -219,6 +222,7 @@ Wave6 = ("Wave6", VECTOR, "ft", "WAVE6", 50.0, 0.0, 1, NO)
Wave7 = ("Wave7", VECTOR, "ft", "Wave7", 50.0, 0.0, 0, NO)
Wave8 = ("Wave8", VECTOR, "ft", "Wave8", 35.0, 0.0, 0, NO)
Wave9 = ("Wave9", VECTOR, "ft", "Wave9", 35.0, 0.0, 0, NO)
Wave10 = ("Wave10", VECTOR, "ft", "Wave10", 35.0, 0.0, 0, NO)
#Smart Init Grids - for partitioned wave groups
Period_1 = ("Period_1", SCALAR, "sec", "Period_1", 30.0, 1.0, 0, NO)
@ -230,6 +234,7 @@ Period_6 = ("Period_6", SCALAR, "sec", "Period_6", 30.0, 0.0, 0, NO)
Period_7 = ("Period_7", SCALAR, "sec", "Period_7", 30.0, 0.0, 0, NO)
Period_8 = ("Period_8", SCALAR, "sec", "Period_8", 30.0, 0.0, 0, NO)
Period_9 = ("Period_9", SCALAR, "sec", "Period_9", 30.0, 0.0, 0, NO)
Period_10 = ("Period_10", SCALAR, "sec", "Period_10", 30.0, 0.0, 0, NO)
#Fcst Grids - for partitioned wave groups
Period1 = ("Period1", SCALAR, "sec", "Period1", 25.0, 0.0, 1, NO)
@ -241,6 +246,7 @@ Period6 = ("Period6", SCALAR, "sec", "Period6", 25.0, 0.0, 1, NO)
Period7 = ("Period7", SCALAR, "sec", "Period7", 25.0, 0.0, 0, NO)
Period8 = ("Period8", SCALAR, "sec", "Period8", 25.0, 0.0, 0, NO)
Period9 = ("Period9", SCALAR, "sec", "Period9", 25.0, 0.0, 0, NO)
Period10 = ("Period10", SCALAR, "sec", "Period10", 25.0, 0.0, 0, NO)
# Fire Weather Weather Elements
LAL = ("LAL", SCALAR, "cat", "Lightning Activity Level", 6.0, 1.0, 0, NO)
@ -1941,7 +1947,7 @@ OFFICIALDBS = [([Temp, Td, Wind, NWPSwind, Weather, Sky, FzLevel, SnowLevel], TC
([MinT], MinTTC), ([MaxT], MaxTTC),
([MinRH], MinRHTC), ([MaxRH], MaxRHTC),
([WaveHeight, SurfHeight, Swell, Swell2, Period], TC3NG),
([WindWaveHeight, SwanSwell, Wave1, Wave2, Wave3, Wave4, Wave5, Wave6, Wave7, Wave8, Wave9, Period1, Period2, Period3, Period4, Period5, Period6, Period7, Period8, Period9], TC3NG),
([WindWaveHeight, SwanSwell, Wave1, Wave2, Wave3, Wave4, Wave5, Wave6, Wave7, Wave8, Wave9, Wave10, Period1, Period2, Period3, Period4, Period5, Period6, Period7, Period8, Period9, Period10], TC3NG),
([VentRate, LAL, Haines, MixHgt, FreeWind, TransWind], TC1),
([DSI, Stability, MarineLayer], TC1),
([HrsOfSun, InvBurnOffTemp], LT24),
@ -1966,7 +1972,7 @@ OFFICIALDBS = [([Temp, Td, Wind, NWPSwind, Weather, Sky, FzLevel, SnowLevel], TC
# NWPS
nwpsCG1_MODEL = [([SwanSwell, Period, WaveHeight, WindWaveHeight, Wind], TC3NG)]
nwpsTrkngCG0_MODEL = [([Wave1, Wave2, Wave3, Wave4, Wave5, Wave6, Wave7, Wave8, Wave9, Period1, Period2, Period3, Period4, Period5, Period6,Period7, Period8, Period9 ], TC3NG)]
nwpsTrkngCG0_MODEL = [([Wave1, Wave2, Wave3, Wave4, Wave5, Wave6, Wave7, Wave8, Wave9, Wave10, Period1, Period2, Period3, Period4, Period5, Period6,Period7, Period8, Period9, Period10 ], TC3NG)]
# Global Wave Watch III, WNAWAVE, AKWAVE Model database parameter groupings
WAVEPARMS = [([WindWaveHeight, WaveHeight, SurfHeight, Wind], TC6),

View file

@ -420,6 +420,30 @@
<Level key="OSEQD2">
<DatabaseLevel levelName="OSEQD" levelOneValue="2.0"/>
</Level>
<Level key="OSEQD3">
<DatabaseLevel levelName="OSEQD" levelOneValue="3.0"/>
</Level>
<Level key="OSEQD4">
<DatabaseLevel levelName="OSEQD" levelOneValue="4.0"/>
</Level>
<Level key="OSEQD5">
<DatabaseLevel levelName="OSEQD" levelOneValue="5.0"/>
</Level>
<Level key="OSEQD6">
<DatabaseLevel levelName="OSEQD" levelOneValue="6.0"/>
</Level>
<Level key="OSEQD7">
<DatabaseLevel levelName="OSEQD" levelOneValue="7.0"/>
</Level>
<Level key="OSEQD8">
<DatabaseLevel levelName="OSEQD" levelOneValue="8.0"/>
</Level>
<Level key="OSEQD9">
<DatabaseLevel levelName="OSEQD" levelOneValue="9.0"/>
</Level>
<Level key="OSEQD10">
<DatabaseLevel levelName="OSEQD" levelOneValue="10.0"/>
</Level>
<Level key="PV5">
<DatabaseLevel levelName="PV" levelOneValue="0.5" unit="K * m^2/kg*s * 1000000"/>
</Level>

View file

@ -26,10 +26,15 @@
<fcst>237600</fcst>
<fcst>248400</fcst>
<fcst>259200</fcst>
<fcst>270000</fcst>
<fcst>280800</fcst>
<fcst>291600</fcst>
<fcst>302400</fcst>
<fcst>313200</fcst>
<fcst>324000</fcst>
<fcst>334800</fcst>
<fcst>345600</fcst>
<fcst>356400</fcst>
<fcst>367200</fcst>
<fcst>388800</fcst>
<fcst>410400</fcst>
@ -46,7 +51,7 @@
<fcst>648000</fcst>
</valtimeMINUSreftime>
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
<short_name>SWDIR</short_name>
<short_name>swdir</short_name>
<long_name>Swell peak direction</long_name>
<units>degree_angle</units>
<udunits>degree_angle</udunits>
@ -70,7 +75,7 @@
</levels>
</gridParameterInfo>
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
<short_name>SWPER</short_name>
<short_name>swper</short_name>
<long_name>Swell wave peak period</long_name>
<units>s</units>
<udunits>seconds</udunits>
@ -94,7 +99,7 @@
</levels>
</gridParameterInfo>
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
<short_name>SWELL</short_name>
<short_name>swell</short_name>
<long_name>Significant swell wave height</long_name>
<units>m</units>
<udunits>meters</udunits>

View file

@ -4,78 +4,56 @@ import os
class nwpsTrkngCG0Forecaster(Forecaster):
def __init__(self):
Forecaster.__init__(self, "nwpsTrkngCG0", "nwpsTrkngCG0")
def calcPeriod1(self, SWPER_OSEQD1):
period = SWPER_OSEQD1
return period
def calcPeriod2(self, SWPER_OSEQD2):
period = SWPER_OSEQD2
return period
def calcPeriod3(self, SWPER_OSEQD3):
period = SWPER_OSEQD3
return period
def calcPeriod4(self, SWPER_OSEQD4):
period = SWPER_OSEQD4
return period
def calcPeriod5(self, SWPER_OSEQD5):
period = SWPER_OSEQD5
return period
def calcPeriod6(self, SWPER_OSEQD6):
period = SWPER_OSEQD6
return period
def calcPeriod7(self, SWPER_OSEQD7):
period = SWPER_OSEQD7
return period
def calcPeriod8(self, SWPER_OSEQD8):
period = SWPER_OSEQD8
return period
def calcPeriod9(self, SWPER_OSEQD9):
period = SWPER_OSEQD9
return period
def calcPeriod10(self, SWPER_OSEQD10):
period = SWPER_OSEQD10
return period
def calcWave1(self, SWELL_OSEQD1, SWDIR_OSEQD1):
mag = SWELL_OSEQD1 * 3.28
dir = clip(SWDIR_OSEQD1, 0, 359.5)
def _calcPeriodN(self, swper):
return swper
def _calcWaveN(self, swell, swdir):
mag = swell / 0.3048
dir = clip(swdir, 0, 359.5)
return (mag, dir)
def calcWave2(self, SWELL_OSEQD2, SWDIR_OSEQD2):
mag = SWELL_OSEQD2 * 3.28
dir = clip(SWDIR_OSEQD2, 0, 359.5)
return (mag, dir)
def calcWave3(self, SWELL_OSEQD3, SWDIR_OSEQD3):
mag = SWELL_OSEQD3 * 3.28
dir = clip(SWDIR_OSEQD3, 0, 359.5)
return (mag, dir)
def calcWave4(self, SWELL_OSEQD4, SWDIR_OSEQD4):
mag = SWELL_OSEQD4 * 3.28
dir = clip(SWDIR_OSEQD4, 0, 359.5)
return (mag, dir)
def calcWave5(self, SWELL_OSEQD5, SWDIR_OSEQD5):
mag = SWELL_OSEQD5 * 3.28
dir = clip(SWDIR_OSEQD5, 0, 359.5)
return (mag, dir)
def calcWave6(self, SWELL_OSEQD6, SWDIR_OSEQD6):
mag = SWELL_OSEQD6 * 3.28
dir = clip(SWDIR_OSEQD6, 0, 359.5)
return (mag, dir)
def calcWave7(self, SWELL_OSEQD7, SWDIR_OSEQD7):
mag = SWELL_OSEQD7 * 3.28
dir = clip(SWDIR_OSEQD7, 0, 359.5)
return (mag, dir)
def calcWave8(self, SWELL_OSEQD8, SWDIR_OSEQD8):
mag = SWELL_OSEQD8 * 3.28
dir = clip(SWDIR_OSEQD8, 0, 359.5)
return (mag, dir)
def calcWave9(self, SWELL_OSEQD9, SWDIR_OSEQD9):
mag = SWELL_OSEQD9 * 3.28
dir = clip(SWDIR_OSEQD9, 0, 359.5)
return (mag, dir)
def calcWave10(self, SWELL_OSEQD10, SWDIR_OSEQD10):
mag = SWELL_OSEQD10 * 3.28
dir = clip(SWDIR_OSEQD10, 0, 359.5)
return (mag, dir)
def calcPeriod1(self, swper_OSEQD1):
return self._calcPeriodN(swper_OSEQD1)
def calcPeriod2(self, swper_OSEQD2):
return self._calcPeriodN(swper_OSEQD2)
def calcPeriod3(self, swper_OSEQD3):
return self._calcPeriodN(swper_OSEQD3)
def calcPeriod4(self, swper_OSEQD4):
return self._calcPeriodN(swper_OSEQD4)
def calcPeriod5(self, swper_OSEQD5):
return self._calcPeriodN(swper_OSEQD5)
def calcPeriod6(self, swper_OSEQD6):
return self._calcPeriodN(swper_OSEQD6)
def calcPeriod7(self, swper_OSEQD7):
return self._calcPeriodN(swper_OSEQD7)
def calcPeriod8(self, swper_OSEQD8):
return self._calcPeriodN(swper_OSEQD8)
def calcPeriod9(self, swper_OSEQD9):
return self._calcPeriodN(swper_OSEQD9)
def calcPeriod10(self, swper_OSEQD10):
return self._calcPeriodN(swper_OSEQD10)
def calcWave1(self, swell_OSEQD1, swdir_OSEQD1):
return self._calcWaveN(swell_OSEQD1, swdir_OSEQD1)
def calcWave2(self, swell_OSEQD2, swdir_OSEQD2):
return self._calcWaveN(swell_OSEQD2, swdir_OSEQD2)
def calcWave3(self, swell_OSEQD3, swdir_OSEQD3):
return self._calcWaveN(swell_OSEQD3, swdir_OSEQD3)
def calcWave4(self, swell_OSEQD4, swdir_OSEQD4):
return self._calcWaveN(swell_OSEQD4, swdir_OSEQD4)
def calcWave5(self, swell_OSEQD5, swdir_OSEQD5):
return self._calcWaveN(swell_OSEQD5, swdir_OSEQD5)
def calcWave6(self, swell_OSEQD6, swdir_OSEQD6):
return self._calcWaveN(swell_OSEQD6, swdir_OSEQD6)
def calcWave7(self, swell_OSEQD7, swdir_OSEQD7):
return self._calcWaveN(swell_OSEQD7, swdir_OSEQD7)
def calcWave8(self, swell_OSEQD8, swdir_OSEQD8):
return self._calcWaveN(swell_OSEQD8, swdir_OSEQD8)
def calcWave9(self, swell_OSEQD9, swdir_OSEQD9):
return self._calcWaveN(swell_OSEQD9, swdir_OSEQD9)
def calcWave10(self, swell_OSEQD10, swdir_OSEQD10):
return self._calcWaveN(swell_OSEQD10, swdir_OSEQD10)
def main():
nwpsTrkngCG0Forecaster().run()