awips2/cave/com.raytheon.viz.gfe/python/autotest/RoutineLevel1_SFT_TestScript.py

462 lines
24 KiB
Python
Raw Normal View History

##
# 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.
##
# ----------------------------------------------------------------------------
# This software is in the public domain, furnished "as is", without technical
# support, and with no warranty, express or implied, as to its usefulness for
# any purpose.
#
# Miscellaneous Tests for SFT
#
# Author: cheatwood
# ----------------------------------------------------------------------------
SFT_createGrids = [
("Fcst", "Wx", "WEATHER", 0, 24, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 0, 24, "Wide:R:--:<NoVis>:^Wide:S:-:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 0, 24, "Wide:S:+:1/4SM:", ["area2"]),
("Fcst", "Wx", "WEATHER", 0, 24, "Wide:RW:--:<NoVis>:^Wide:T:<NoInten>:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 24, 48, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 24, 48, "Chc:T:<NoInten>:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 24, 48, "SChc:R:--:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 24, 48, "SChc:ZR:--:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 48, 72, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 48, 72, "Iso:RW:--:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 48, 72, "Areas:ZL:--:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 48, 72, "Sct:SW:--:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 72, 96, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 72, 96, "Def:BS:<NoInten>:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 72, 96, "SChc:S:-:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 72, 96, "Def:BS:<NoInten>:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 96, 120, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 96, 120, "Iso:SW:-:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 96, 120, "Areas:F:+:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 96, 120, "Wide:R:--:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 120, 144, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 120, 144, "Wide:L:--:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 120, 144, "Patchy:L:--:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 120, 144, "Patchy:BD:<NoInten>:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 144, 168, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 144, 168, "Wide:IP:--:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 144, 168, "Def:H:<NoInten>:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 144, 168, "Patchy:K:<NoInten>:<NoVis>:", ["area3"]),
("Fcst", "Wx", "WEATHER", 168, 192, "Wide:R:--:<NoVis>:", ["area1"]),
("Fcst", "Wx", "WEATHER", 168, 192, "Sct:T:<NoInten>:<NoVis>:", ["area2"]),
("Fcst", "Wx", "WEATHER", 168, 192, "Patchy:ZL:--:<NoVis>:", ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 70, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin", "MinTEnd", 43, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 80, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin", "MinTEnd", 47, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin", "MaxTEnd", 90, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin", "MinTEnd", 49, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 24", "MaxTEnd + 24", 73, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 24", "MinTEnd + 24", 45, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 24", "MaxTEnd + 24", 81, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 24", "MinTEnd + 24", 48, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 24", "MaxTEnd + 24", 92, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 24", "MinTEnd + 24", 50, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 48", "MaxTEnd + 48", 75, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 48", "MaxTEnd + 48", 82, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 48", "MaxTEnd + 48", 95, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 48", "MinTEnd + 48", 47, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 48", "MinTEnd + 48", 50, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 48", "MinTEnd + 48", 52, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 72", "MinTEnd + 72", 47, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 72", "MaxTEnd + 72", 77, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 72", "MinTEnd + 72", 50, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 72", "MaxTEnd + 72", 85, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 72", "MinTEnd + 72", 52, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 72", "MaxTEnd + 72", 96, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 96", "MinTEnd + 96", 49, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 96", "MaxTEnd + 96", 79, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 96", "MinTEnd + 96", 51, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 96", "MaxTEnd + 96", 86, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 96", "MinTEnd + 96", 54, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 96", "MaxTEnd + 96", 100, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 120", "MinTEnd + 120", 49, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 120", "MaxTEnd + 120", 81, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 120", "MinTEnd + 120", 53, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 120", "MaxTEnd + 120", 60, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 120", "MinTEnd + 120", 55, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 120", "MaxTEnd + 120", 103, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 144", "MinTEnd + 144", 49, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 144", "MaxTEnd + 144", 81, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 144", "MinTEnd + 144", 50, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 144", "MaxTEnd + 144", 80, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 144", "MinTEnd + 144", 55, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 144", "MaxTEnd + 144", 96, ["area3"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 168", "MaxTEnd + 168", 83, ["area1"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 168", "MaxTEnd + 168", 85, ["area2"]),
("Fcst", "MaxT", "SCALAR", "MaxTBegin + 168", "MaxTEnd + 168", 100, ["area3"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 168", "MinTEnd + 168", 52, ["area1"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 168", "MinTEnd + 168", 54, ["area2"]),
("Fcst", "MinT", "SCALAR", "MinTBegin + 168", "MinTEnd + 168", 58, ["area3"]),
("Fcst", "PoP", "SCALAR", 0, 12, 45, ["area1"]),
("Fcst", "PoP", "SCALAR", 0, 12, 45, ["area2"]),
("Fcst", "PoP", "SCALAR", 0, 12, 45, ["area3"]),
("Fcst", "PoP", "SCALAR", 12, 24, 0, ["area1"]),
("Fcst", "PoP", "SCALAR", 12, 24, 40, ["area2"]),
("Fcst", "PoP", "SCALAR", 12, 24, 40, ["area3"]),
("Fcst", "PoP", "SCALAR", 24, 36, 50, ["area1"]),
("Fcst", "PoP", "SCALAR", 24, 36, 60, ["area2"]),
("Fcst", "PoP", "SCALAR", 24, 36, 70, ["area3"]),
("Fcst", "PoP", "SCALAR", 36, 48, 60, ["area1"]),
("Fcst", "PoP", "SCALAR", 36, 48, 70, ["area2"]),
("Fcst", "PoP", "SCALAR", 36, 48, 80, ["area3"]),
("Fcst", "PoP", "SCALAR", 48, 60, 55, ["area1"]),
("Fcst", "PoP", "SCALAR", 48, 60, 55, ["area2"]),
("Fcst", "PoP", "SCALAR", 48, 60, 60, ["area3"]),
("Fcst", "PoP", "SCALAR", 60, 72, 100, ["area1"]),
("Fcst", "PoP", "SCALAR", 60, 72, 85, ["area2"]),
("Fcst", "PoP", "SCALAR", 60, 72, 72, ["area3"]),
("Fcst", "PoP", "SCALAR", 72, 84, 62, ["area1"]),
("Fcst", "PoP", "SCALAR", 72, 84, 100, ["area2"]),
("Fcst", "PoP", "SCALAR", 72, 84, 60, ["area3"]),
("Fcst", "PoP", "SCALAR", 84, 96, 70, ["area1"]),
("Fcst", "PoP", "SCALAR", 84, 96, 80, ["area2"]),
("Fcst", "PoP", "SCALAR", 84, 96, 100, ["area3"]),
("Fcst", "PoP", "SCALAR", 96, 108, 45, ["area1"]),
("Fcst", "PoP", "SCALAR", 96, 108, 50, ["area2"]),
("Fcst", "PoP", "SCALAR", 96, 108, 45, ["area3"]),
("Fcst", "PoP", "SCALAR", 108, 120, 40, ["area1"]),
("Fcst", "PoP", "SCALAR", 108, 120, 75, ["area2"]),
("Fcst", "PoP", "SCALAR", 108, 120, 60, ["area3"]),
("Fcst", "PoP", "SCALAR", 120, 132, 55, ["area1"]),
("Fcst", "PoP", "SCALAR", 120, 132, 60, ["area2"]),
("Fcst", "PoP", "SCALAR", 120, 132, 55, ["area3"]),
("Fcst", "PoP", "SCALAR", 132, 144, 45, ["area1"]),
("Fcst", "PoP", "SCALAR", 132, 144, 25, ["area2"]),
("Fcst", "PoP", "SCALAR", 132, 144, 55, ["area3"]),
("Fcst", "PoP", "SCALAR", 144, 156, 90, ["area1"]),
("Fcst", "PoP", "SCALAR", 144, 156, 85, ["area2"]),
("Fcst", "PoP", "SCALAR", 144, 156, 70, ["area3"]),
("Fcst", "PoP", "SCALAR", 156, 168, 60, ["area1"]),
("Fcst", "PoP", "SCALAR", 156, 168, 0, ["area2"]),
("Fcst", "PoP", "SCALAR", 156, 168, 67, ["area3"]),
("Fcst", "PoP", "SCALAR", 168, 180, 50, ["area1"]),
("Fcst", "PoP", "SCALAR", 168, 180, 55, ["area2"]),
("Fcst", "PoP", "SCALAR", 168, 180, 60, ["area3"]),
("Fcst", "PoP", "SCALAR", 180, 192, 50, ["area1"]),
("Fcst", "PoP", "SCALAR", 180, 192, 55, ["area2"]),
("Fcst", "PoP", "SCALAR", 180, 192, 60, ["area3"]),
("Fcst", "Wind", "VECTOR", 0, 24, (40, "SW"), "all"),
("Fcst", "Wind", "VECTOR", 24, 48, (35, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 48, 72, (45, "W"), "all"),
("Fcst", "Wind", "VECTOR", 72, 96, (50, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 96, 120, (45, "N"), "all"),
("Fcst", "Wind", "VECTOR", 120, 144, (40, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 144, 168, (30, "W"), "all"),
("Fcst", "Wind", "VECTOR", 168, 192, (20, "E"), "all"),
("Fcst", "QPF", "SCALAR", 0, 12, 0, ["area1"]),
("Fcst", "QPF", "SCALAR", 0, 12, 0.01, ["area2"]),
("Fcst", "QPF", "SCALAR", 0, 12, 0.05, ["area3"]),
("Fcst", "QPF", "SCALAR", 12, 24, 0, ["area1"]),
("Fcst", "QPF", "SCALAR", 12, 24, 0.01, ["area2"]),
("Fcst", "QPF", "SCALAR", 12, 24, 0.05, ["area3"]),
("Fcst", "QPF", "SCALAR", 24, 36, 0.1, ["area1"]),
("Fcst", "QPF", "SCALAR", 24, 36, 0.5, ["area2"]),
("Fcst", "QPF", "SCALAR", 24, 36, 1, ["area3"]),
("Fcst", "QPF", "SCALAR", 36, 48, 1, ["area1"]),
("Fcst", "QPF", "SCALAR", 36, 48, 1.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 36, 48, 1.5, ["area3"]),
("Fcst", "QPF", "SCALAR", 48, 60, 2, ["area1"]),
("Fcst", "QPF", "SCALAR", 48, 60, 1.7, ["area2"]),
("Fcst", "QPF", "SCALAR", 48, 60, 2, ["area3"]),
("Fcst", "QPF", "SCALAR", 60, 72, 1.5, ["area1"]),
("Fcst", "QPF", "SCALAR", 60, 72, 1, ["area2"]),
("Fcst", "QPF", "SCALAR", 60, 72, 2, ["area3"]),
("Fcst", "QPF", "SCALAR", 72, 84, 2.5, ["area1"]),
("Fcst", "QPF", "SCALAR", 72, 84, 2, ["area2"]),
("Fcst", "QPF", "SCALAR", 72, 84, 2.8, ["area3"]),
("Fcst", "QPF", "SCALAR", 84, 96, 2.9, ["area1"]),
("Fcst", "QPF", "SCALAR", 84, 96, 2.5, ["area2"]),
("Fcst", "QPF", "SCALAR", 84, 96, 3, ["area3"]),
("Fcst", "QPF", "SCALAR", 96, 108, 1, ["area1"]),
("Fcst", "QPF", "SCALAR", 96, 108, 1.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 96, 108, 1.5, ["area3"]),
("Fcst", "QPF", "SCALAR", 108, 120, 4, ["area1"]),
("Fcst", "QPF", "SCALAR", 108, 120, 3.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 108, 120, 3.5, ["area3"]),
("Fcst", "QPF", "SCALAR", 120, 132, 3, ["area1"]),
("Fcst", "QPF", "SCALAR", 120, 132, 2.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 120, 132, 4.5, ["area3"]),
("Fcst", "QPF", "SCALAR", 132, 144, 5, ["area1"]),
("Fcst", "QPF", "SCALAR", 132, 144, 3.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 132, 144, 2.5, ["area3"]),
("Fcst", "QPF", "SCALAR", 144, 156, 4.2, ["area1"]),
("Fcst", "QPF", "SCALAR", 144, 156, 5, ["area2"]),
("Fcst", "QPF", "SCALAR", 144, 156, 4, ["area3"]),
("Fcst", "QPF", "SCALAR", 156, 168, 3, ["area1"]),
("Fcst", "QPF", "SCALAR", 156, 168, 2.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 156, 168, 2.1, ["area3"]),
("Fcst", "QPF", "SCALAR", 168, 180, 3, ["area1"]),
("Fcst", "QPF", "SCALAR", 168, 180, 2.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 168, 180, 2.7, ["area3"]),
("Fcst", "QPF", "SCALAR", 180, 192, 1, ["area1"]),
("Fcst", "QPF", "SCALAR", 180, 192, 1.3, ["area2"]),
("Fcst", "QPF", "SCALAR", 180, 192, 1.7, ["area3"]),
("Fcst", "Sky", "SCALAR", 0, 24, 0, "all"),
("Fcst", "Sky", "SCALAR", 24, 48, 96, "all"),
("Fcst", "Sky", "SCALAR", 48, 72, 25, "all"),
("Fcst", "Sky", "SCALAR", 72, 96, 55, "all"),
("Fcst", "Sky", "SCALAR", 96, 120, 80, "all"),
("Fcst", "Sky", "SCALAR", 120, 144, 100, "all"),
("Fcst", "Sky", "SCALAR", 144, 168, 65, "all"),
("Fcst", "Sky", "SCALAR", 168, 192, 90, "all"),
]
scripts = [
{
"commentary": """
Morning test
Wx and Wind Wx codes are visible
""",
"name":"SFT_1",
"productType":"SFT",
"cmdLineVars": "{('Product Issuance', 'productIssuance'): 'Morning', ('Issued By', 'issuedBy'): None, ('Forecaster Number', 'forecasterNumber'): 99.0 }",
"comboFlag": 1,
"checkStrings": [
"FPUS62 KTBW 011100",
"SFTTBW",
"STZ000-012200-",
"Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010",
"Rows include...",
" Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
" - indicates temperatures below zero",
" MM indicates missing data",
" FCST FCST FCST FCST FCST FCST FCST",
" Today Sat Sun Mon Tue Wed Thu",
" Jan 01 Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07",
"...Region1...",
" City1",
" RNSNOW TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET",
" /70 43/73 45/75 47/77 47/79 49/81 49/81",
" /50 00/50 60/60 100/60 70/50 40/60 50/90",
" City2",
" BLZZRD RAIN FZDRZL SNOW WINDY DRZL WINDY",
" /80 47/81 48/82 50/85 50/86 51/60 53/80",
" /50 40/60 70/60 90/100 80/50 80/60 30/90",
"...Region2...",
" City3",
" TSTRMS FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY",
" /90 49/92 50/95 52/96 52/100 54/103 55/96",
" /50 40/70 80/60 70/60 100/50 60/60 60/70",
"$$",
],
"internalStrip": 0,
"createGrids": SFT_createGrids,
},
{
"commentary": """
Afternoon test
Wx and Wind Wx codes are visible
""",
"name":"SFT_2",
"productType":"SFT",
"cmdLineVars": "{('Product Issuance', 'productIssuance'): 'Afternoon', ('Issued By', 'issuedBy'): None, ('Forecaster Number', 'forecasterNumber'): 99.0 }",
"comboFlag": 1,
"checkStrings": [
"FPUS62 KTBW 011100",
"SFTTBW",
"STZ000-021000-",
"Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010",
"Rows include...",
" Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
" - indicates temperatures below zero",
" MM indicates missing data",
" FCST FCST FCST FCST FCST FCST FCST",
" Sat Sun Mon Tue Wed Thu Fri",
" Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08",
"...Region1...",
" City1",
" TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN",
" 43/73 45/75 47/77 47/79 49/81 49/81 49/83",
" 00/50 60/60 100/60 70/50 40/60 50/90 60/50",
" City2",
" RAIN FZDRZL SNOW WINDY DRZL WINDY TSTRMS",
" 47/81 48/82 50/85 50/86 51/60 53/80 50/85",
" 40/60 70/60 90/100 80/50 80/60 30/90 00/60",
"...Region2...",
" City3",
" FZRAIN SNOSHWR BLGSNO RAIN WINDY WINDY FZDRZL",
" 49/92 50/95 52/96 52/100 54/103 55/96 55/100",
" 40/70 80/60 70/60 100/50 60/60 60/70 70/60",
"$$",
],
"internalStrip": 0,
"createGrids": SFT_createGrids,
},
{
"commentary": """
Afternoon test
Wind grids are set to 0
All Wx code is visible
""",
"name":"SFT_3",
"productType":"SFT",
"cmdLineVars": "{('Product Issuance', 'productIssuance'): 'Afternoon', ('Issued By', 'issuedBy'): None, ('Forecaster Number', 'forecasterNumber'): 99.0 }",
"comboFlag": 1,
"checkStrings": [
"FPUS62 KTBW 011100",
"SFTTBW",
"STZ000-021000-",
"Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010",
"Rows include...",
" Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
" - indicates temperatures below zero",
" MM indicates missing data",
" FCST FCST FCST FCST FCST FCST FCST",
" Sat Sun Mon Tue Wed Thu Fri",
" Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08",
"...Region1...",
" City1",
" TSTRMS SHWRS BLGSNO SNOSHWR DRZL SLEET RAIN",
" 43/73 45/75 47/77 47/79 49/81 49/81 49/83",
" 00/50 60/60 100/60 70/50 40/60 50/90 60/50",
" City2",
" RAIN FZDRZL SNOW FOGGY DRZL HAZE TSTRMS",
" 47/81 48/82 50/85 50/86 51/60 53/80 50/85",
" 40/60 70/60 90/100 80/50 80/60 30/90 00/60",
"...Region2...",
" City3",
" FZRAIN SNOSHWR BLGSNO RAIN DUST SMOKE FZDRZL",
" 49/92 50/95 52/96 52/100 54/103 55/96 55/100",
" 40/70 80/60 70/60 100/50 60/60 60/70 70/60",
"$$",
],
"createGrids": SFT_createGrids + [
("Fcst", "Wind", "VECTOR", 0, 24, (0, "SW"), "all"),
("Fcst", "Wind", "VECTOR", 24, 48, (0, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 48, 72, (0, "W"), "all"),
("Fcst", "Wind", "VECTOR", 72, 96, (0, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 96, 120, (0, "N"), "all"),
("Fcst", "Wind", "VECTOR", 120, 144, (0, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 144, 168, (0, "W"), "all"),
("Fcst", "Wind", "VECTOR", 168, 192, (0, "W"), "all"),
],
},
{
"commentary": """
Afternoon test
Wx grids are set to NoWx
Wind grids are set to 0
Sky Wx code is visible
""",
"name":"SFT_4",
"productType":"SFT",
"cmdLineVars": "{('Product Issuance', 'productIssuance'): 'Afternoon', ('Issued By', 'issuedBy'): None, ('Forecaster Number', 'forecasterNumber'): 99.0 }",
"comboFlag": 1,
"checkStrings": [
"FPUS62 KTBW 011100",
"SFTTBW",
"STZ000-021000-",
"Tabular State Forecast for Florida",
"National Weather Service Tampa Bay Ruskin FL",
"600 AM EST Fri Jan 1 2010",
"Rows include...",
" Daily predominant daytime weather 6AM-6PM",
" Forecast temperatures...early morning low/daytime high",
" Probability of precipitation nighttime 6PM-6AM/daytime 6AM-6PM",
" - indicates temperatures below zero",
" MM indicates missing data",
" FCST FCST FCST FCST FCST FCST FCST",
" Sat Sun Mon Tue Wed Thu Fri",
" Jan 02 Jan 03 Jan 04 Jan 05 Jan 06 Jan 07 Jan 08",
"...Region1...",
" City1",
" CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY",
" 43/73 45/75 47/77 47/79 49/81 49/81 49/83",
" 00/50 60/60 100/60 70/50 40/60 50/90 60/50",
" City2",
" CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY",
" 47/81 48/82 50/85 50/86 51/60 53/80 50/85",
" 40/60 70/60 90/100 80/50 80/60 30/90 00/60",
"...Region2...",
" City3",
" CLOUDY SUNNY PTCLDY MOCLDY CLOUDY PTCLDY MOCLDY",
" 49/92 50/95 52/96 52/100 54/103 55/96 55/100",
" 40/70 80/60 70/60 100/50 60/60 60/70 70/60",
"$$",
],
"createGrids": SFT_createGrids + [
("Fcst", "Wx", "WEATHER", 0, 24, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 24, 48, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 48, 72, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 72, 96, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 96, 120, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 120, 144, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 144, 168, "NoWx", "all"),
("Fcst", "Wx", "WEATHER", 168, 192, "NoWx", "all"),
("Fcst", "Wind", "VECTOR", 0, 24, (0, "SW"), "all"),
("Fcst", "Wind", "VECTOR", 24, 48, (0, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 48, 72, (0, "W"), "all"),
("Fcst", "Wind", "VECTOR", 72, 96, (0, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 96, 120, (0, "N"), "all"),
("Fcst", "Wind", "VECTOR", 120, 144, (0, "NW"), "all"),
("Fcst", "Wind", "VECTOR", 144, 168, (0, "W"), "all"),
("Fcst", "Wind", "VECTOR", 168, 192, (0, "W"), "all"),
],
},
{
"name":"SFT_CleanUp",
"commentary": "Clean out grids",
"productType": None,
"deleteGrids": [
("Fcst", "PoP", "SFC", 0,280),
("Fcst", "MaxT", "SFC", -24,280),
("Fcst", "MinT", "SFC", 0,280),
("Fcst", "T", "SFC", 0,280),
("Fcst", "Td", "SFC", 0,280),
("Fcst", "WindChill", "SFC", 0,280),
("Fcst", "HeatIndex", "SFC", 0,280),
("Fcst", "Wind", "SFC", 0,280),
("Fcst", "Sky", "SFC", 0,280),
("Fcst", "WindGust", "SFC", 0,280),
("Fcst", "Wx", "SFC", 0,280),
("Fcst", "QPF", "SFC", 0,280),
("Fcst", "SnowAmt", "SFC", 0,280),
]
},
]
import TestScript
def testScript(self, dataMgr):
gridsStartTime = self.getAbsFromLocal(2010, 1, 1, 6, 0)
drtTime = self.getAbsFromLocal(2010, 1, 1, 6, 0)
defaults = {
"cmdLineVars" :"{('Product Issuance', 'productIssuance'): 'Morning', ('Issued By', 'issuedBy'): None}",
"orderStrings": 1,
"internalStrip": 0,
"gridsStartTime": gridsStartTime,
"drtTime": drtTime,
}
return TestScript.generalTestScript(self, dataMgr, scripts, defaults)