0 |
# ---------------------------------------------------------------------------- |
1 |
# This software is in the public domain, furnished "as is", without technical |
2 |
# support, and with no warranty, express or implied, as to its usefulness for |
3 |
# any purpose. |
4 |
# |
5 |
# Miscellaneous Tests for various products |
6 |
# Can have "definitions" and "overrides" |
7 |
# |
8 |
# Author: Dave Metze, hansen |
9 |
# ---------------------------------------------------------------------------- |
10 |
########### |
11 |
## FWF LAL |
12 |
## "editAreaSuffix" Test |
13 |
## Humidity Recovery Local Effects |
14 |
import TestScript, CreateGrids |
15 |
|
16 |
# Overrides to FWF for Humidity Recovery Local Effects |
17 |
humRec = """ |
18 |
|
19 |
def getFirePeriod_phraseList(self): |
20 |
if self._useRH: |
21 |
dayRH = "RH" |
22 |
nightRH = "RH" |
23 |
else: |
24 |
dayRH = "MinRH" |
25 |
nightRH = "MaxRH" |
26 |
phraseList = [ |
27 |
self.skyWeather_byTimeRange_compoundPhrase, |
28 |
self.lal_phrase, |
29 |
(self.dayOrNight_phrase, ["MaxT", "MinT", 1, 1], |
30 |
self._tempLocalEffects_list()), |
31 |
(self.trend_DayOrNight_phrase, ["MaxT", "MinT", "Ttrend", 1, 1], |
32 |
self._tempTrendLocalEffects_list()), |
33 |
(self.dayOrNight_phrase, [dayRH, nightRH, 1, 1], self._rhLocalEffects_list()), |
34 |
(self.trend_DayOrNight_phrase, [dayRH, nightRH, "RHtrend", 1, 1], |
35 |
self._rhTrendLocalEffects_list()), |
36 |
(self.humidityRecovery_phrase, self._humRecLocalEffects_list()), |
37 |
#self.humidityRecovery_phrase, |
38 |
self.fireWind_compoundPhrase, |
39 |
self.fireWind_label_phrase, |
40 |
self.fireValleyWind_compoundPhrase, |
41 |
self.fireRidgeWind_compoundPhrase, |
42 |
self.haines_phrase, |
43 |
self.smokeDispersal_phrase, |
44 |
self.mixingHgt_phrase, |
45 |
self.transportWind_phrase, |
46 |
#self.freeWind_phrase, |
47 |
self.cwr_phrase, |
48 |
#self.marineLayer_phrase, |
49 |
] |
50 |
# Remove trend methods |
51 |
if self._includeTrends != 1: |
52 |
newList = [] |
53 |
for phrase in phraseList: |
54 |
if type(phrase) is types.TupleType: |
55 |
phraseMethod = phrase[0] |
56 |
if phraseMethod == self.trend_DayOrNight_phrase: |
57 |
continue |
58 |
newList.append(phrase) |
59 |
phraseList = newList |
60 |
# Add multipleElementTable |
61 |
if self._includeMultipleElementTable_perPeriod: |
62 |
phraseList.append(self.multipleElementTable_perPeriod_phrase) |
63 |
return phraseList |
64 |
|
65 |
def _humRecLocalEffects_list(self): |
66 |
leArea1 = self.LocalEffectArea("Valleys", "") |
67 |
leArea2 = self.LocalEffectArea("Ridges", " on the ridges") |
68 |
return [self.LocalEffect([leArea1, leArea2], self._humRecTrigger, "...except ")] |
69 |
|
70 |
def _humRecTrigger(self, tree, node, localEffect, leArea1Label, leArea2Label): |
71 |
leNode = self._makeLEnode(tree, node, leArea1Label) |
72 |
self.humidityRecovery_words(tree, leNode) |
73 |
words1 = leNode.get("words") |
74 |
leNode = self._makeLEnode(tree, node, leArea2Label) |
75 |
self.humidityRecovery_words(tree, leNode) |
76 |
words2 = leNode.get("words") |
77 |
if words1 == words2: |
78 |
return 0 |
79 |
else: |
80 |
return 1 |
81 |
|
82 |
def _makeLEnode(self, tree, node, leArea): |
83 |
leNode = tree.makeNode([],[],node.parent) |
84 |
timeRange = node.getTimeRange() |
85 |
if self._useRH: |
86 |
elementName = "RH" |
87 |
else: |
88 |
elementName = "MaxRH" |
89 |
stats = tree.stats.get( |
90 |
elementName, timeRange, leArea, mergeMethod="Average") |
91 |
statDict = {} |
92 |
statDict[elementName] = stats |
93 |
leNode.set("statDict", statDict) |
94 |
leNode.set("timeRange", timeRange) |
95 |
return leNode |
96 |
|
97 |
# Need to add humidity recovery local effect areas |
98 |
def getFirePeriod_intersectAreas(self): |
99 |
tempList = [] |
100 |
windList = [] |
101 |
if self._tempLocalEffects: |
102 |
tempList = [ |
103 |
("MinT", ["BelowElev", "AboveElev"]), |
104 |
("MaxT", ["BelowElev", "AboveElev"]), |
105 |
("MinRH", ["BelowElev", "AboveElev"]), |
106 |
("MaxRH", ["BelowElev", "AboveElev"]), |
107 |
("RH", ["BelowElev", "AboveElev"]), |
108 |
("Ttrend", ["BelowElev", "AboveElev"]), |
109 |
("RHtrend", ["BelowElev", "AboveElev"]), |
110 |
] |
111 |
if self._windLocalEffects: |
112 |
windList = [ |
113 |
("Wind", ["Valleys", "Ridges"]), |
114 |
("Wind20ft", ["Valleys", "Ridges"]), |
115 |
("WindGust", ["Valleys", "Ridges"]), |
116 |
] |
117 |
humRecList = [ |
118 |
("RH", ["Valleys", "Ridges"]), |
119 |
("MaxRH", ["Valleys", "Ridges"]), |
120 |
] |
121 |
return tempList + windList + humRecList |
122 |
|
123 |
""" |
124 |
|
125 |
|
126 |
localHazard = """ |
127 |
|
128 |
def allowedHazards(self): |
129 |
allActions = ["NEW", "EXA", "EXB", "EXT", "CAN", "CON", "EXP"] |
130 |
tropicalActions = ["NEW", "EXA", "EXB", "EXT", "UPG", "CAN", "CON", |
131 |
"EXP"] |
132 |
return [ |
133 |
('LocalHazard1', allActions, 'Convective'), # SEVERE THUNDERSTORM WATCH |
134 |
] |
135 |
""" |
136 |
|
137 |
hazardHook = """ |
138 |
def hazard_hook(self, tree, node, hazardPhen, hazardSig, hazardAct, |
139 |
hazardStart, hazardEnd): |
140 |
hazTR = self.makeTimeRange(hazardStart, hazardEnd) |
141 |
phenSig = hazardPhen + "." + hazardSig |
142 |
print "hazTr, phenSig", hazTR, phenSig |
143 |
return "in the mountains" |
144 |
|
145 |
""" |
146 |
|
147 |
localHeadlinesTiming1 = """ |
148 |
|
149 |
def headlinesTiming(self, tree, node, key, timeRange, areaLabel, issuanceTime): |
150 |
return "NONE", "FUZZY4" |
151 |
|
152 |
""" |
153 |
localHeadlinesTiming2 = """ |
154 |
|
155 |
def startPhraseMethod(self, issueTime, eventTime, timeZone, timeType): |
156 |
return "NONE", None |
157 |
|
158 |
def endPhraseMethod(self, issueTime, eventTime, timeZone, timeType): |
159 |
return "FUZZY4", self.timingWordTableFUZZY4(issueTime, eventTime, timeZone, timeType) |
160 |
|
161 |
def headlinesTiming(self, tree, node, key, timeRange, areaLabel, issuanceTime): |
162 |
return (self.startPhraseMethod, self.endPhraseMethod) |
163 |
|
164 |
""" |
165 |
|
166 |
scripts = [ |
167 |
|
168 |
### FWF LAL |
169 |
|
170 |
########## |
171 |
#LAL of 1# |
172 |
########## |
173 |
|
174 |
{ |
175 |
"name":"FWF_LAL1", |
176 |
"commentary": "LAL 1 from LAL1, PoP 0, NoWx", |
177 |
"productType":"FWF", |
178 |
"comboFlag": 1, |
179 |
"orderStrings": 1, |
180 |
"checkStrings": ["TODAY", "LAL.................1","TONIGHT"], |
181 |
"createGrids": [ |
182 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, "all", 1), |
183 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all", 1), |
184 |
("Fcst", "Wx", "WEATHER", 0, 12, "NoWx", "all"), |
185 |
], |
186 |
}, |
187 |
|
188 |
{ |
189 |
"name":"FWF_LAL2", |
190 |
"commentary": "LAL 1 from LAL1, PoP 10, SChc RW-", |
191 |
"productType":"FWF", |
192 |
"comboFlag": 1, |
193 |
"orderStrings": 1, |
194 |
"checkStrings": ["TODAY", "LAL.................1","TONIGHT"], |
195 |
"createGrids" : [ |
196 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, "all", 1), |
197 |
("Fcst", "PoP", "SCALAR", 0, 12, 10, "all", 1), |
198 |
("Fcst", "Wx", "WEATHER", 0, 12, "SChc:RW:-:<NoVis>:", "all"), |
199 |
], |
200 |
}, |
201 |
|
202 |
{ |
203 |
"name":"FWF_LAL3", |
204 |
"commentary": "LAL 1 from LAL1, PoP 20, Iso RW-", |
205 |
"productType":"FWF", |
206 |
"comboFlag": 1, |
207 |
"orderStrings": 1, |
208 |
"checkStrings": ["TODAY", |
209 |
"ISOLATED SHOWERS", |
210 |
"LAL.................1","TONIGHT"], |
211 |
"createGrids" : [ |
212 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, "all", 1), |
213 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
214 |
("Fcst", "Wx", "WEATHER", 0, 12, "Iso:RW:-:<NoVis>:", "all"), |
215 |
], |
216 |
}, |
217 |
|
218 |
{ |
219 |
"name":"FWF_LAL4", |
220 |
"commentary": "LAL 1 from LAL1, PoP 30, Chc RW-", |
221 |
"productType":"FWF", |
222 |
"comboFlag": 1, |
223 |
"orderStrings": 1, |
224 |
"checkStrings": ["TODAY", |
225 |
("CHANCE OF RAIN SHOWERS", "CHANCE OF SHOWERS"), |
226 |
"LAL.................1","TONIGHT"], |
227 |
"createGrids" : [ |
228 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, "all", 1), |
229 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, "all", 1), |
230 |
("Fcst", "Wx", "WEATHER", 0, 12, "Chc:RW:-:<NoVis>:", "all"), |
231 |
], |
232 |
}, |
233 |
|
234 |
|
235 |
|
236 |
########## |
237 |
#LAL of 2# |
238 |
########## |
239 |
|
240 |
{ |
241 |
"name":"FWF_LAL5", |
242 |
"commentary": "LAL 2 from LAL 2, PoP 20, SChc T SChc RW-", |
243 |
"productType":"FWF", |
244 |
"comboFlag": 1, |
245 |
"orderStrings": 1, |
246 |
"checkStrings": ["TODAY", "SLIGHT CHANCE OF SHOWERS AND THUNDERSTORMS", |
247 |
"LAL.................2","TONIGHT"], |
248 |
"createGrids" : [ |
249 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, "all", 1), |
250 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
251 |
("Fcst", "Wx", "WEATHER", 0, 12, |
252 |
"SChc:T:<NoInten>:<NoVis>:^SChc:RW:-:<NoVis>:", "all"), |
253 |
], |
254 |
}, |
255 |
|
256 |
|
257 |
{ |
258 |
"name":"FWF_LAL6", |
259 |
"commentary": "LAL 2 from LAL 2, PoP 20, Iso TRW-", |
260 |
"productType":"FWF", |
261 |
"comboFlag": 1, |
262 |
"orderStrings": 1, |
263 |
"checkStrings": ["TODAY", "LAL.................2","TONIGHT"], |
264 |
"createGrids" : [ |
265 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, "all", 1), |
266 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
267 |
("Fcst", "Wx", "WEATHER", 0, 12, "Iso:T:<NoInten>:<NoVis>:^Iso:RW:-:<NoVis>:", "all"), |
268 |
], |
269 |
}, |
270 |
|
271 |
|
272 |
########## |
273 |
#LAL of 3# |
274 |
########## |
275 |
|
276 |
{ |
277 |
"name":"FWF_LAL7", |
278 |
"commentary": "LAL 3 from LAL 3, PoP 20, SChc TRW-", |
279 |
"productType":"FWF", |
280 |
"comboFlag": 1, |
281 |
"orderStrings": 1, |
282 |
"checkStrings": ["TODAY", "SLIGHT CHANCE OF SHOWERS AND THUNDERSTORMS", |
283 |
"LAL.................3","TONIGHT"], |
284 |
"createGrids" : [ |
285 |
("Fcst", "LAL", "SCALAR", 0, 12, 3, "all", 1), |
286 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
287 |
("Fcst", "Wx", "WEATHER", 0, 12, |
288 |
"SChc:T:<NoInten>:<NoVis>:^SChc:RW:-:<NoVis>:", "all"), |
289 |
], |
290 |
}, |
291 |
|
292 |
|
293 |
{ |
294 |
"name":"FWF_LAL8", |
295 |
"commentary": "LAL 3 from LAL 3, PoP 20, Iso TRW-", |
296 |
"productType":"FWF", |
297 |
"comboFlag": 1, |
298 |
"orderStrings": 1, |
299 |
"checkStrings": ["TODAY", "ISOLATED SHOWERS AND THUNDERSTORMS", |
300 |
"LAL.................3", "TONIGHT"], |
301 |
"createGrids" : [ |
302 |
("Fcst", "LAL", "SCALAR", 0, 12, 3, "all", 1), |
303 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
304 |
("Fcst", "Wx", "WEATHER", 0, 12, "Iso:T:<NoInten>:<NoVis>:^Iso:RW:-:<NoVis>:", "all"), |
305 |
], |
306 |
}, |
307 |
|
308 |
|
309 |
########## |
310 |
#LAL of 4# |
311 |
########## |
312 |
|
313 |
{ |
314 |
"name":"FWF_LAL9", |
315 |
"commentary": "LAL 4 from LAL 4, PoP 40, Chc TRW-", |
316 |
"productType":"FWF", |
317 |
"comboFlag": 1, |
318 |
"orderStrings": 1, |
319 |
"checkStrings": ["TODAY", "CHANCE OF SHOWERS AND THUNDERSTORMS", |
320 |
"LAL.................4","TONIGHT"], |
321 |
"createGrids" : [ |
322 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, "all", 1), |
323 |
("Fcst", "PoP", "SCALAR", 0, 12, 40, "all", 1), |
324 |
("Fcst", "Wx", "WEATHER", 0, 12, "Chc:T:<NoInten>:<NoVis>:^Chc:RW:-:<NoVis>:", "all"), |
325 |
], |
326 |
}, |
327 |
|
328 |
{ |
329 |
"name":"FWF_LAL10", |
330 |
"commentary": "LAL 4 from LAL 4, PoP 40, Sct TRW-", |
331 |
"productType":"FWF", |
332 |
"comboFlag": 1, |
333 |
"orderStrings": 1, |
334 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS AND THUNDERSTORMS", |
335 |
"LAL.................4","TONIGHT"], |
336 |
"createGrids" : [ |
337 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, "all", 1), |
338 |
("Fcst", "PoP", "SCALAR", 0, 12, 40, "all", 1), |
339 |
("Fcst", "Wx", "WEATHER", 0, 12, "Sct:T:<NoInten>:<NoVis>:^Sct:RW:-:<NoVis>:", "all"), |
340 |
], |
341 |
}, |
342 |
|
343 |
|
344 |
########## |
345 |
#LAL of 5# |
346 |
########## |
347 |
|
348 |
{ |
349 |
"name":"FWF_LAL11", |
350 |
"commentary": "LAL 5 from LAL 5, PoP 60, Lkly TRW-", |
351 |
"productType":"FWF", |
352 |
"comboFlag": 1, |
353 |
"orderStrings": 1, |
354 |
"checkStrings": ["TODAY", "SHOWERS AND THUNDERSTORMS LIKELY", |
355 |
"LAL.................5","TONIGHT"], |
356 |
"createGrids" : [ |
357 |
("Fcst", "LAL", "SCALAR", 0, 12, 5, "all", 1), |
358 |
("Fcst", "PoP", "SCALAR", 0, 12, 60, "all", 1), |
359 |
("Fcst", "Wx", "WEATHER", 0, 12, |
360 |
"Lkly:T:<NoInten>:<NoVis>:^Lkly:RW:-:<NoVis>:", "all"), |
361 |
], |
362 |
}, |
363 |
|
364 |
{ |
365 |
"name":"FWF_LAL12", |
366 |
"commentary": "LAL 5 from LAL 5, PoP 60, Num TRW-", |
367 |
"productType":"FWF", |
368 |
"comboFlag": 1, |
369 |
"orderStrings": 1, |
370 |
"checkStrings": ["TODAY", "NUMEROUS SHOWERS AND THUNDERSTORMS", |
371 |
"LAL.................5","TONIGHT"], |
372 |
"createGrids" : [ |
373 |
("Fcst", "LAL", "SCALAR", 0, 12, 5, "all", 1), |
374 |
("Fcst", "PoP", "SCALAR", 0, 12, 60, "all", 1), |
375 |
("Fcst", "Wx", "WEATHER", 0, 12, "Num:T:<NoInten>:<NoVis>:^Num:RW:-:<NoVis>:", "all"), |
376 |
], |
377 |
}, |
378 |
|
379 |
|
380 |
########## |
381 |
#LAL of 6# |
382 |
########## |
383 |
|
384 |
{ |
385 |
"name":"FWF_LAL13", |
386 |
"commentary": "LAL 6 from LAL 6, PoP 20, SChc T (Dry)", |
387 |
"productType":"FWF", |
388 |
"comboFlag": 1, |
389 |
"orderStrings": 1, |
390 |
"checkStrings": ["TODAY", "SLIGHT CHANCE OF DRY THUNDERSTORMS", |
391 |
"LAL.................6","TONIGHT"], |
392 |
"createGrids" : [ |
393 |
("Fcst", "LAL", "SCALAR", 0, 12, 6, "all", 1), |
394 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
395 |
("Fcst", "Wx", "WEATHER", 0, 12, "SChc:T:<NoInten>:<NoVis>:Dry", "all"), |
396 |
], |
397 |
}, |
398 |
|
399 |
{ |
400 |
"name":"FWF_LAL14", |
401 |
"commentary": "LAL 6 from LAL 6, PoP 20, Iso T (Dry)", |
402 |
"productType":"FWF", |
403 |
"comboFlag": 1, |
404 |
"orderStrings": 1, |
405 |
"checkStrings": ["TODAY", "ISOLATED DRY THUNDERSTORMS", |
406 |
"LAL.................6","TONIGHT"], |
407 |
"createGrids" : [ |
408 |
("Fcst", "LAL", "SCALAR", 0, 12, 6, "all", 1), |
409 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, "all", 1), |
410 |
("Fcst", "Wx", "WEATHER", 0, 12, "Iso:T:<NoInten>:<NoVis>:Dry", "all"), |
411 |
], |
412 |
}, |
413 |
|
414 |
|
415 |
|
416 |
######################################################### |
417 |
# More Complex Cases - temporally, spatially and weather# |
418 |
######################################################### |
419 |
|
420 |
#---------------------- |
421 |
# changing through time |
422 |
#---------------------- |
423 |
|
424 |
{ |
425 |
"name":"FWF_LAL15", |
426 |
"commentary": "Changing LAL 1->2, PoP 0->20, NoWx->IsoTRW-", |
427 |
"productType":"FWF", |
428 |
"comboFlag": 1, |
429 |
"orderStrings": 1, |
430 |
"checkStrings": ["TODAY", "ISOLATED SHOWERS AND THUNDERSTORMS AFTER 0900", |
431 |
"LAL.................1 UNTIL 0900...THEN 2","TONIGHT"], |
432 |
"createGrids" : [ |
433 |
("Fcst", "LAL", "SCALAR", 0, 3, 1, "all", 1), |
434 |
("Fcst", "LAL", "SCALAR", 3, 12, 2, "all", 1), |
435 |
("Fcst", "PoP", "SCALAR", 0, 3, 0, "all", 1), |
436 |
("Fcst", "PoP", "SCALAR", 3, 12, 20, "all", 1), |
437 |
("Fcst", "Wx", "WEATHER", 0, 3, "NoWx", "all"), |
438 |
("Fcst", "Wx", "WEATHER", 3, 12, "Iso:T:<NoInten>:<NoVis>:^Iso:RW:-:<NoVis>:", "all"), |
439 |
], |
440 |
}, |
441 |
|
442 |
{ |
443 |
"name":"FWF_LAL16", |
444 |
"commentary": "Changing LAL 1->2, PoP 0->20, NoWx->SChcTRW-", |
445 |
"productType":"FWF", |
446 |
"comboFlag": 1, |
447 |
"orderStrings": 1, |
448 |
"checkStrings": ["TODAY", "SLIGHT CHANCE OF SHOWERS AND THUNDERSTORMS AFTER 0900", |
449 |
"LAL.................1 UNTIL 0900...THEN 2","TONIGHT"], |
450 |
"createGrids" : [ |
451 |
("Fcst", "LAL", "SCALAR", 0, 3, 1, "all", 1), |
452 |
("Fcst", "LAL", "SCALAR", 3, 12, 2, "all", 1), |
453 |
("Fcst", "PoP", "SCALAR", 0, 3, 0, "all", 1), |
454 |
("Fcst", "PoP", "SCALAR", 3, 12, 20, "all", 1), |
455 |
("Fcst", "Wx", "WEATHER", 0, 3, "NoWx", "all"), |
456 |
("Fcst", "Wx", "WEATHER", 3, 12, |
457 |
"SChc:T:<NoInten>:<NoVis>:^SChc:RW:-:<NoVis>:", "all"), |
458 |
], |
459 |
}, |
460 |
|
461 |
{ |
462 |
"name":"FWF_LAL17", |
463 |
"commentary": "Changing LAL 3->4, PoP 20->40, Iso TRW- -> Sct RW-", |
464 |
"productType":"FWF", |
465 |
"comboFlag": 1, |
466 |
"orderStrings": 1, |
467 |
"checkStrings": ["TODAY", "ISOLATED SHOWERS AND THUNDERSTORMS UNTIL 1100...THEN SCATTERED SHOWERS AND THUNDERSTORMS", |
468 |
"LAL.................3 UNTIL 1100...THEN 4","TONIGHT"], |
469 |
"createGrids" : [ |
470 |
("Fcst", "LAL", "SCALAR", 0, 5, 3, "all", 1), |
471 |
("Fcst", "LAL", "SCALAR", 5, 12, 4, "all", 1), |
472 |
("Fcst", "PoP", "SCALAR", 0, 5, 20, "all", 1), |
473 |
("Fcst", "PoP", "SCALAR", 5, 12, 40, "all", 1), |
474 |
("Fcst", "Wx", "WEATHER", 0, 5, |
475 |
"Iso:T:<NoInten>:<NoVis>:^Iso:RW:-:<NoVis>:", "all"), |
476 |
("Fcst", "Wx", "WEATHER", 5, 12, |
477 |
"Sct:T:<NoInten>:<NoVis>:^Sct:RW:-:<NoVis>:", "all"), |
478 |
], |
479 |
}, |
480 |
|
481 |
|
482 |
{ |
483 |
"name":"FWF_LAL18", |
484 |
"commentary": "Changing LAL 5->3, PoP 70->20, Lkly TRW- -> SChc RW-", |
485 |
"productType":"FWF", |
486 |
"comboFlag": 1, |
487 |
"orderStrings": 1, |
488 |
"checkStrings": ["TODAY", |
489 |
"SHOWERS AND THUNDERSTORMS LIKELY UNTIL 1500...THEN SLIGHT CHANCE OF SHOWERS AND THUNDERSTORMS", |
490 |
"LAL.................5 UNTIL 1500...THEN 3", |
491 |
"TONIGHT"], |
492 |
"createGrids" : [ |
493 |
("Fcst", "LAL", "SCALAR", 0, 9, 5, "all", 1), |
494 |
("Fcst", "LAL", "SCALAR", 9, 12, 3, "all", 1), |
495 |
("Fcst", "PoP", "SCALAR", 0, 9, 70, "all", 1), |
496 |
("Fcst", "PoP", "SCALAR", 9, 12, 20, "all", 1), |
497 |
("Fcst", "Wx", "WEATHER", 0, 9, "Lkly:T:<NoInten>:<NoVis>:^Lkly:RW:-:<NoVis>:", "all"), |
498 |
("Fcst", "Wx", "WEATHER", 9, 12, |
499 |
"SChc:T:<NoInten>:<NoVis>:^SChc:RW:-:<NoVis>:", "all"), |
500 |
], |
501 |
}, |
502 |
|
503 |
{ |
504 |
"name":"FWF_LAL19", |
505 |
"commentary": "Changing LAL 1->2->4, PoP 5->20->50, NoWx -> Iso TRW- -> Sct TRW-", |
506 |
"productType":"FWF", |
507 |
"comboFlag": 1, |
508 |
"orderStrings": 1, |
509 |
"checkStrings": ["TODAY", |
510 |
"ISOLATED SHOWERS AND THUNDERSTORMS AFTER 0900 UNTIL 1300...THEN SCATTERED SHOWERS AND THUNDERSTORMS", |
511 |
"LAL.................1 UNTIL 0900...THEN 2 UNTIL 1300...THEN 4", |
512 |
"TONIGHT"], |
513 |
"createGrids" : [ |
514 |
("Fcst", "LAL", "SCALAR", 0, 3, 1, "all", 1), |
515 |
("Fcst", "LAL", "SCALAR", 3, 7, 2, "all", 1), |
516 |
("Fcst", "LAL", "SCALAR", 7, 12, 4, "all", 1), |
517 |
("Fcst", "PoP", "SCALAR", 0, 3, 5, "all", 1), |
518 |
("Fcst", "PoP", "SCALAR", 3, 7, 20, "all", 1), |
519 |
("Fcst", "PoP", "SCALAR", 7, 12, 50, "all", 1), |
520 |
("Fcst", "Wx", "WEATHER", 0, 3, "NoWx", "all"), |
521 |
("Fcst", "Wx", "WEATHER", 3, 7, "Iso:T:<NoInten>:<NoVis>:^Iso:RW:-:<NoVis>:", "all"), |
522 |
("Fcst", "Wx", "WEATHER", 7, 12, "Sct:T:<NoInten>:<NoVis>:^Sct:RW:-:<NoVis>:", "all"), |
523 |
|
524 |
], |
525 |
}, |
526 |
|
527 |
|
528 |
#------------------------- |
529 |
# Varous weather occurring |
530 |
#------------------------- |
531 |
|
532 |
{ |
533 |
"name":"FWF_LAL20", |
534 |
"commentary": "LAL4, PoP 60, Num RW- Sct T", |
535 |
"productType":"FWF", |
536 |
"comboFlag": 1, |
537 |
"orderStrings": 1, |
538 |
"checkStrings": ["TODAY", "NUMEROUS SHOWERS AND SCATTERED THUNDERSTORMS", |
539 |
"LAL.................4","TONIGHT"], |
540 |
"createGrids" : [ |
541 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, "all", 1), |
542 |
("Fcst", "PoP", "SCALAR", 0, 12, 60, "all", 1), |
543 |
("Fcst", "Wx", "WEATHER", 0, 12, "Num:RW:-:<NoVis>:^Sct:T:<NoInten>:<NoVis>:", "all"), |
544 |
], |
545 |
}, |
546 |
|
547 |
{ |
548 |
"name":"FWF_LAL21", |
549 |
"commentary": "LAL3, PoP 30, Sct RW- Iso T", |
550 |
"productType":"FWF", |
551 |
"comboFlag": 1, |
552 |
"orderStrings": 1, |
553 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS AND ISOLATED THUNDERSTORMS", |
554 |
"LAL.................3", "TONIGHT"], |
555 |
"createGrids" : [ |
556 |
("Fcst", "LAL", "SCALAR", 0, 12, 3, "all", 1), |
557 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, "all", 1), |
558 |
("Fcst", "Wx", "WEATHER", 0, 12, "Sct:RW:-:<NoVis>:^Iso:T:<NoInten>:<NoVis>:", "all"), |
559 |
], |
560 |
}, |
561 |
|
562 |
|
563 |
{ |
564 |
"name":"FWF_LAL22", |
565 |
"commentary": "LAL with local effects (2,4)", |
566 |
"productType":"FWF", |
567 |
"comboFlag": 1, |
568 |
"orderStrings": 1, |
569 |
"checkStrings": ["TODAY", "CHANCE OF SHOWERS AND THUNDERSTORMS", |
570 |
"LAL.................4", "TONIGHT"], |
571 |
"createGrids" : [ |
572 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["BelowElev"], 1), |
573 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, ["AboveElev"], 1), |
574 |
("Fcst", "Wx", "WEATHER", 0, 12, "Chc:RW:-:<NoVis>:^Chc:T:<NoInten>:<NoVis>:", "all"), |
575 |
], |
576 |
}, |
577 |
|
578 |
{ |
579 |
"name":"FWF_LAL23", |
580 |
"commentary": "LAL with local effects (2,2)", |
581 |
"productType":"FWF", |
582 |
"comboFlag": 1, |
583 |
"orderStrings": 1, |
584 |
"checkStrings": ["TODAY", "CHANCE OF SHOWERS AND THUNDERSTORMS", |
585 |
"LAL.................2", "TONIGHT"], |
586 |
"createGrids": [ |
587 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["BelowElev"], 1), |
588 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["AboveElev"], 1), |
589 |
("Fcst", "Wx", "WEATHER", 0, 12, "Chc:RW:-:<NoVis>:^Chc:T:<NoInten>:<NoVis>:", "all"), |
590 |
], |
591 |
}, |
592 |
|
593 |
{ |
594 |
"name":"FWF_LAL24", |
595 |
"commentary": "LAL with local effects (2,2), NoWx, results LAL1", |
596 |
"productType":"FWF", |
597 |
"comboFlag": 1, |
598 |
"orderStrings": 1, |
599 |
"checkStrings": ["TODAY", "LAL.................1", "TONIGHT"], |
600 |
"createGrids" : [ |
601 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["BelowElev"], 1), |
602 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["AboveElev"], 1), |
603 |
("Fcst", "Wx", "WEATHER", 0, 12, "NoWx", "all"), |
604 |
], |
605 |
}, |
606 |
|
607 |
{ |
608 |
"name":"FWF_LAL25", |
609 |
"commentary": "LAL 1->4, NoWx -> Chc T", |
610 |
"productType":"FWF", |
611 |
"comboFlag": 1, |
612 |
"orderStrings": 1, |
613 |
"checkStrings": ["TODAY","CHANCE OF THUNDERSTORMS AFTER 0900", |
614 |
"LAL.................1 UNTIL 0900...THEN 4", "TONIGHT"], |
615 |
"createGrids" : [ |
616 |
("Fcst", "LAL", "SCALAR", 0, 3, 1, "all", 1), |
617 |
("Fcst", "LAL", "SCALAR", 3, 12, 4, "all", 1), |
618 |
("Fcst", "Wx", "WEATHER", 0, 3, "NoWx", "all"), |
619 |
("Fcst", "Wx", "WEATHER", 3, 12, "Chc:T:<NoInten>:<NoVis>:", "all"), |
620 |
], |
621 |
}, |
622 |
|
623 |
{ |
624 |
"name":"FWF_LAL26", |
625 |
"productType":"FWF", |
626 |
"commentary": "Iso T does not get into wording", |
627 |
"comboFlag": 1, |
628 |
"orderStrings": 1, |
629 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS", |
630 |
"LAL.................1", "TONIGHT"], |
631 |
"createGrids" : [ |
632 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, ["area3"], 1), |
633 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["area3_pt"], 1), |
634 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, ["area3"], 1), |
635 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, ["area3_pt"], 1), |
636 |
("Fcst", "Wx", "WEATHER", 0, 12, "Sct:RW:-:<NoVis>:", ["area3"]), |
637 |
("Fcst", "Wx", "WEATHER", 0, 12, "Iso:T:<NoInten>:<NoVis>:", ["area3_pt"]), |
638 |
], |
639 |
}, |
640 |
|
641 |
{ |
642 |
"name":"FWF_LAL27", |
643 |
"productType":"FWF", |
644 |
"commentary": "Matching Iso T, Takes Max LAL = 2 even tho for small area", |
645 |
"comboFlag": 1, |
646 |
"orderStrings": 1, |
647 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS AND ISOLATED THUNDERSTORMS", |
648 |
"LAL.................2", "TONIGHT"], |
649 |
"createGrids" : [ |
650 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, ["area3"], 1), |
651 |
("Fcst", "LAL", "SCALAR", 0, 12, 2, ["area3_pt"], 1), |
652 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, "all", 1), |
653 |
("Fcst", "Wx", "WEATHER", 0, 12, |
654 |
"Sct:RW:-:<NoVis>:^Iso:T:<NoInten>:<NoVis>:", ["area3"]), |
655 |
], |
656 |
}, |
657 |
|
658 |
# Matching Iso T, can't find 3. |
659 |
# If the resultValue value (4) is greater than the binHighVal (3), use binHighVal |
660 |
{ |
661 |
"name":"FWF_LAL28", |
662 |
"productType":"FWF", |
663 |
"commentary": "Matching Iso T, can't find 3. If the resultValue value (4) is greater than the binHighVal (3), use binHighVal", |
664 |
"comboFlag": 1, |
665 |
"orderStrings": 1, |
666 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS AND ISOLATED THUNDERSTORMS", |
667 |
"LAL.................3", "TONIGHT"], |
668 |
"createGrids" : [ |
669 |
("Fcst", "LAL", "SCALAR", 0, 12, 1, ["area3"], 1), |
670 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, ["area3_pt"], 1), |
671 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, "all", 1), |
672 |
("Fcst", "Wx", "WEATHER", 0, 12, |
673 |
"Sct:RW:-:<NoVis>:^Iso:T:<NoInten>:<NoVis>:", ["area3"]), |
674 |
], |
675 |
}, |
676 |
|
677 |
{ |
678 |
"name":"FWF_LAL29", |
679 |
"productType":"FWF", |
680 |
"commentary": "Matching Iso T, LAL = 2", |
681 |
"comboFlag": 1, |
682 |
"orderStrings": 1, |
683 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS AND ISOLATED THUNDERSTORMS", |
684 |
"LAL.................3", "TONIGHT"], |
685 |
"createGrids" : [ |
686 |
("Fcst", "LAL", "SCALAR", 0, 12, 3, ["area3"], 1), |
687 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, ["area3_pt"], 1), |
688 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, "all", 1), |
689 |
("Fcst", "Wx", "WEATHER", 0, 12, |
690 |
"Sct:RW:-:<NoVis>:^Iso:T:<NoInten>:<NoVis>:", ["area3"]), |
691 |
], |
692 |
}, |
693 |
|
694 |
|
695 |
{ |
696 |
"name":"FWF_LAL30", |
697 |
"productType":"FWF", |
698 |
"commentary": "LAL (4,5), PoP (50,30), (Sct TRW-,Num TRW-)", |
699 |
"comboFlag": 1, |
700 |
"orderStrings": 1, |
701 |
"checkStrings": ["TODAY", "SCATTERED SHOWERS AND THUNDERSTORMS", |
702 |
"LAL.................4", "TONIGHT"], |
703 |
"createGrids" : [ |
704 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, ["area3"], 1), |
705 |
("Fcst", "LAL", "SCALAR", 0, 12, 5, ["area3_pt"], 1), |
706 |
("Fcst", "PoP", "SCALAR", 0, 12, 50, ["area3"], 1), |
707 |
("Fcst", "PoP", "SCALAR", 0, 12, 30, ["area3_pt"], 1), |
708 |
("Fcst", "Wx", "WEATHER", 0, 12, |
709 |
"Sct:T:<NoInten>:<NoVis>:^Sct:RW:-:<NoVis>:", ["area3"]), |
710 |
("Fcst", "Wx", "WEATHER", 0, 12, |
711 |
"Num:T:<NoInten>:<NoVis>:^Num:RW:-:<NoVis>:", ["area3_pt"]), |
712 |
], |
713 |
}, |
714 |
|
715 |
{ |
716 |
"name":"FWF_LAL31", |
717 |
"productType":"FWF", |
718 |
"commentary": "LAL (4,6), PoP (50,20), (Chc TRW-,Chc TRW- Dry)", |
719 |
"comboFlag": 1, |
720 |
"orderStrings": 1, |
721 |
"checkStrings": ["TODAY", "CHANCE OF THUNDERSTORMS", |
722 |
"LAL.................4", "TONIGHT"], |
723 |
"createGrids" : [ |
724 |
("Fcst", "LAL", "SCALAR", 0, 12, 4, ["area3"], 1), |
725 |
("Fcst", "LAL", "SCALAR", 0, 12, 6, ["area3_pt"], 1), |
726 |
("Fcst", "PoP", "SCALAR", 0, 12, 50, ["area3"], 1), |
727 |
("Fcst", "PoP", "SCALAR", 0, 12, 20, ["area3_pt"], 1), |
728 |
("Fcst", "Wx", "WEATHER", 0, 12,"Chc:T:<NoInten>:<NoVis>:", ["area3"]), |
729 |
("Fcst", "Wx", "WEATHER", 0, 12,"Chc:T:<NoInten>:<NoVis>:Dry", ["area3_pt"]), |
730 |
], |
731 |
}, |
732 |
|
733 |
#### editAreaSuffix |
734 |
{ |
735 |
"name":"EditAreaSuffix1", |
736 |
"productType":"ZFP", |
737 |
"commentary": "PoP 0%, Sky (0,75), (WS.W,None)", |
738 |
"comboFlag": 1, |
739 |
# checkStrings |
740 |
"checkStrings": [ |
741 |
"WINTER STORM WARNING", |
742 |
".TODAY...", "MOSTLY CLOUDY", |
743 |
".TONIGHT...", |
744 |
], |
745 |
"orderStrings": 1, |
746 |
# createGrids |
747 |
"createGrids" : [ |
748 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
749 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
750 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
751 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "WS.W", ["area3"]), |
752 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
753 |
], |
754 |
"fileChanges": [("ZFP_<site>_Definition", "TextUtility", "add", |
755 |
"\nDefinition['editAreaSuffix'] = '_pt'\n", "delete")], |
756 |
"gridsStartTime": "6am Local", |
757 |
"drtTime": "4am Local", |
758 |
}, |
759 |
|
760 |
{ # Tests for TK4577 |
761 |
"name":"EditAreaSuffix2", |
762 |
"productType":"ZFP", |
763 |
"commentary": "Set up editAreaSuffix via commandline (tk4577)", |
764 |
"cmdLineVars" :"{('Product Issuance', 'productIssuance'): 'Morning', ('Issued By', 'issuedBy'): None, 'editAreaSuffix':'_pt'}", |
765 |
"comboFlag": 1, |
766 |
# checkStrings |
767 |
"checkStrings": [ |
768 |
"WINTER STORM WARNING", |
769 |
".TODAY...", "MOSTLY CLOUDY", |
770 |
".TONIGHT...", |
771 |
], |
772 |
"orderStrings": 1, |
773 |
# createGrids |
774 |
"createGrids" : [ |
775 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
776 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
777 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
778 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "WS.W", ["area3"]), |
779 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
780 |
], |
781 |
"gridsStartTime": "6am Local", |
782 |
"drtTime": "4am Local", |
783 |
}, |
784 |
{ # Tests for TK4577 |
785 |
"name":"EditAreaSuffix3", |
786 |
"productType":"ZFP", |
787 |
"commentary": "Set up editAreaSuffix via commandline (tk4577)", |
788 |
"cmdLineVars" :"{('Product Issuance', 'productIssuance'): 'Morning', ('Issued By', 'issuedBy'): None, ('Enter Edit Area Suffix if desired:', 'editAreaSuffix'):'_pt'}", |
789 |
"comboFlag": 1, |
790 |
# checkStrings |
791 |
"checkStrings": [ |
792 |
"WINTER STORM WARNING", |
793 |
".TODAY...", "MOSTLY CLOUDY", |
794 |
".TONIGHT...", |
795 |
], |
796 |
"orderStrings": 1, |
797 |
# createGrids |
798 |
"createGrids" : [ |
799 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
800 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
801 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
802 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "WS.W", ["area3"]), |
803 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
804 |
], |
805 |
"gridsStartTime": "6am Local", |
806 |
"drtTime": "4am Local", |
807 |
}, |
808 |
|
809 |
# TK 4674 |
810 |
{ |
811 |
"name":"EditAreaSuffix4", |
812 |
"productType":"ZFP", |
813 |
"commentary": """ |
814 |
Edit Areas Suffix with Local Hazard using hazard_hook (tk4674) |
815 |
""", |
816 |
"comboFlag": 1, |
817 |
"checkStrings": [ |
818 |
".LOCAL HAZARD IN EFFECT UNTIL 6 PM EST THIS AFTERNOON IN THE MOUNTAINS", |
819 |
".TODAY...", "MOSTLY CLOUDY", |
820 |
".TONIGHT...", |
821 |
], |
822 |
"orderStrings": 1, |
823 |
"createGrids" : [ |
824 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
825 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
826 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
827 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "LocalHazard1", ["area3"]), |
828 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
829 |
], |
830 |
"fileChanges": [ |
831 |
("ZFP_<site>_Definition", "TextUtility", "add", |
832 |
"\nDefinition['editAreaSuffix'] = '_pt'\n", "delete"), |
833 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHazard, "undo"), |
834 |
("ZFP_<site>_Overrides", "TextUtility", "add", hazardHook, "undo"), |
835 |
], |
836 |
"gridsStartTime": "6am Local", |
837 |
"drtTime": "4am Local", |
838 |
}, |
839 |
|
840 |
{ |
841 |
"name":"EditAreaSuffix5", |
842 |
"productType":"ZFP", |
843 |
"commentary": """ |
844 |
Edit Areas Suffix with Local Hazard calling "getLocalHeadlinesTiming" |
845 |
instead of using hard-coded phrasing for local headlines |
846 |
""", |
847 |
"comboFlag": 1, |
848 |
"checkStrings": [ |
849 |
"...LOCAL HAZARD IN EFFECT THROUGH THIS AFTERNOON...", |
850 |
".TODAY...", "MOSTLY CLOUDY", |
851 |
".TONIGHT...", |
852 |
], |
853 |
"orderStrings": 1, |
854 |
"createGrids" : [ |
855 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
856 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
857 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
858 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "LocalHazard1", ["area3"]), |
859 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
860 |
], |
861 |
"fileChanges": [ |
862 |
("ZFP_<site>_Definition", "TextUtility", "add", |
863 |
"\nDefinition['editAreaSuffix'] = '_pt'\n", "undo"), |
864 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHazard, "undo"), |
865 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHeadlinesTiming1, "undo"), |
866 |
], |
867 |
"gridsStartTime": "6am Local", |
868 |
"drtTime": "4am Local", |
869 |
}, |
870 |
{ |
871 |
"name":"EditAreaSuffix6", |
872 |
"productType":"ZFP", |
873 |
"commentary": """ |
874 |
Edit Areas Suffix with Local Hazard using methods for headinesTiming |
875 |
""", |
876 |
"comboFlag": 1, |
877 |
"checkStrings": [ |
878 |
"...LOCAL HAZARD IN EFFECT THROUGH THIS AFTERNOON...", |
879 |
".TODAY...", "MOSTLY CLOUDY", |
880 |
".TONIGHT...", |
881 |
], |
882 |
"orderStrings": 1, |
883 |
"createGrids" : [ |
884 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
885 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
886 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
887 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "LocalHazard1", ["area3"]), |
888 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
889 |
], |
890 |
"fileChanges": [ |
891 |
("ZFP_<site>_Definition", "TextUtility", "add", |
892 |
"\nDefinition['editAreaSuffix'] = '_pt'\n", "undo"), |
893 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHazard, "undo"), |
894 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHeadlinesTiming2, "undo"), |
895 |
], |
896 |
"gridsStartTime": "6am Local", |
897 |
"drtTime": "4am Local", |
898 |
}, |
899 |
|
900 |
|
901 |
|
902 |
# Allow lower case TK 4669 |
903 |
{ |
904 |
"name":"LowerCaseHeadlines", |
905 |
"productType":"ZFP", |
906 |
"commentary": """ |
907 |
Lower case with Local Hazard |
908 |
""", |
909 |
"comboFlag": 1, |
910 |
# checkStrings |
911 |
"checkStrings": [ |
912 |
"...Local Hazard in effect through this afternoon...", |
913 |
".Today...", "Mostly cloudy. Patchy dense fog.", |
914 |
"Ice accumulation around 2 inches. Highs in the upper 70s.", |
915 |
"Near steady temperature in the mid 50s.", |
916 |
".Tonight...", "Very windy.", "Widespread thunderstorms.", |
917 |
"Lows around 60.", "Near steady temperature in the mid 40s.", |
918 |
], |
919 |
"orderStrings": 1, |
920 |
"createGrids" : CreateGrids.Public_createGrids + [ |
921 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
922 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, ["area3"]), |
923 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, ["area3_pt"]), |
924 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "LocalHazard1", ["area3"]), |
925 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "<None>", ["area3_pt"]), |
926 |
], |
927 |
"fileChanges": [ |
928 |
("ZFP_<site>_Definition", "TextUtility", "add", |
929 |
"\nDefinition['editAreaSuffix'] = '_pt'\n", "delete"), |
930 |
("ZFP_<site>_Definition", "TextUtility", "add", |
931 |
"\nDefinition['lowerCase'] = 1\n", "undo"), |
932 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHazard, "undo"), |
933 |
("ZFP_<site>_Overrides", "TextUtility", "add", localHeadlinesTiming1, "undo"), |
934 |
], |
935 |
"gridsStartTime": "6am Local", |
936 |
"drtTime": "4am Local", |
937 |
}, |
938 |
{ |
939 |
"name":"LowerCaseHazards", |
940 |
"productType":"ZFP", |
941 |
"commentary": """ |
942 |
Lower Case with a Hazard |
943 |
""", |
944 |
"comboFlag": 1, |
945 |
# checkStrings |
946 |
"checkStrings": [ |
947 |
"...Winter Storm Warning in effect until 6 PM EST this afternoon...", |
948 |
".Today...", "Mostly cloudy. Patchy dense fog.", |
949 |
"Ice accumulation around 2 inches. Highs in the upper 70s.", |
950 |
"Near steady temperature in the mid 50s.", |
951 |
".Tonight...", "Very windy.", "Widespread thunderstorms.", |
952 |
"Lows around 60.", "Near steady temperature in the mid 40s.", |
953 |
], |
954 |
"orderStrings": 1, |
955 |
# createGrids |
956 |
"createGrids" : CreateGrids.Public_createGrids + [ |
957 |
("Fcst", "PoP", "SCALAR", 0, 12, 0, "all"), |
958 |
("Fcst", "Sky", "SCALAR", 0, 12, 0, "all"), |
959 |
("Fcst", "Sky", "SCALAR", 0, 12, 75, "all"), |
960 |
("Fcst", "Hazards", "DISCRETE", 0, 12, "WS.W", "all"), |
961 |
], |
962 |
"fileChanges": [ |
963 |
("ZFP_<site>_Definition", "TextUtility", "add", |
964 |
"\nDefinition['lowerCase'] = 1\n", "delete"), |
965 |
], |
966 |
"gridsStartTime": "6am Local", |
967 |
"drtTime": "4am Local", |
968 |
}, |
969 |
|
970 |
## Humidity Recovery Local Effect |
971 |
{ |
972 |
"name":"FWF_HumRecLE1", |
973 |
"commentary": "Testing Humidity Recovery Local Effect: No Local Effect", |
974 |
"productType":"FWF", |
975 |
"comboFlag": 1, |
976 |
"orderStrings": 1, |
977 |
"checkStrings": ["HUMIDITY RECOVERY...POOR"], |
978 |
"createGrids": [ |
979 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin-24", "MaxRHEnd-24", 10, ["Valleys"], 1), |
980 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin-24", "MaxRHEnd-24", 10, ["Ridges"], 1), |
981 |
("Fcst", "MaxRH", "SCA16LAR", "MaxRHBegin", "MaxRHEnd", 20, ["Valleys"], 1), |
982 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin", "MaxRHEnd", 20, ["Ridges"], 1), |
983 |
], |
984 |
"fileChanges": [("FWF_<site>_Overrides", "TextUtility", "add", humRec, "delete")], |
985 |
}, |
986 |
|
987 |
## Humidity Recovery Local Effect |
988 |
{ |
989 |
"name":"FWF_HumRecLE2", |
990 |
"commentary": "Testing Humidity Recovery Local Effect: Local Effect", |
991 |
"productType":"FWF", |
992 |
"comboFlag": 1, |
993 |
"orderStrings": 1, |
994 |
"checkStrings": ["HUMIDITY RECOVERY...POOR...EXCEPT EXCELLENT ON THE RIDGES."], |
995 |
"createGrids": [ |
996 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin-24", "MaxRHEnd-24", 10, ["Valleys"], 1), |
997 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin-24", "MaxRHEnd-24", 10, ["Ridges"], 1), |
998 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin", "MaxRHEnd", 10, ["Valleys"], 1), |
999 |
("Fcst", "MaxRH", "SCALAR", "MaxRHBegin", "MaxRHEnd", 75, ["Ridges"], 1), |
1000 |
], |
1001 |
"fileChanges": [("FWF_<site>_Overrides", "TextUtility", "add", humRec, "delete")], |
1002 |
}, |
1003 |
|
1004 |
|
1005 |
{ |
1006 |
"name":"General_CleanUp", |
1007 |
"commentary": "Clean out grids", |
1008 |
"productType": None, |
1009 |
"deleteGrids": TestScript.general_deleteGrids, |
1010 |
"gridsStartTime": "6am Local", |
1011 |
}, |
1012 |
|
1013 |
] |
1014 |
|
1015 |
|
1016 |
import TestScript |
1017 |
def testScript(self, dataMgr): |
1018 |
defaults = { |
1019 |
"cmdLineVars" :"{('Product Issuance', 'productIssuance'): 'Morning', ('Issued By', 'issuedBy'): None}", |
1020 |
} |
1021 |
# Necessary to do drt for scripts |
1022 |
# that start the product with current time |
1023 |
time_4am = self.getAbsFromLocal(2010, 1, 1, 4, 0) |
1024 |
time_6am = self.getAbsFromLocal(2010, 1, 1, 6, 0) |
1025 |
for script in scripts: |
1026 |
if script.get("gridsStartTime", None) == "6am Local": |
1027 |
script["gridsStartTime"] = time_6am |
1028 |
if script.get("drtTime", None) == "4am Local": |
1029 |
script["drtTime"] = time_6am |
1030 |
return TestScript.generalTestScript(self, dataMgr, scripts, defaults) |
1031 |
|
1032 |
|