welements 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ v0.1.0. Initial release
@@ -0,0 +1,62 @@
1
+ # welements
2
+
3
+ http://github.com/matmmalone/welements
4
+
5
+ ## Description
6
+
7
+ welements is a library that provides an API for the National Weather
8
+ Service's National Digital Forecast Database (NDFD). This provides a
9
+ broad array of different forecast elements that can be queried.
10
+
11
+ ## Features
12
+
13
+ - Find detailed forecasts using lat/lng.
14
+ - Access all relevant data the NDFD feed.
15
+
16
+ ## Requirements
17
+
18
+ - libxml-ruby >= 0.9.7
19
+ - geokit >= 1.5.0
20
+
21
+ ## Installation
22
+
23
+ sudo gem install welements
24
+
25
+ ## Usage
26
+
27
+ ### Get current conditions
28
+ forecast = Welements.welements(lat, lng)
29
+ puts "The next hourly forecast temperature is #{forecast.temperature_hourly[0][:value]} Celcius at #{forecast.temperature_hourly[0][:time]}."
30
+
31
+ ## Contact
32
+
33
+ Mat Malone (m2@innerlogic.org)
34
+
35
+ ## Fork
36
+ welements is originally based on Mat Brown's outoftime-noaa project:
37
+ http://github.com/outoftime/noaa. outoftime-noaa Copyright 2008 Mat Brown.
38
+
39
+ ## License
40
+
41
+ (The MIT License)
42
+
43
+ Copyright (c) 2012 Mat Malone
44
+
45
+ Permission is hereby granted, free of charge, to any person obtaining
46
+ a copy of this software and associated documentation files (the
47
+ 'Software'), to deal in the Software without restriction, including
48
+ without limitation the rights to use, copy, modify, merge, publish,
49
+ distribute, sublicense, and/or sell copies of the Software, and to
50
+ permit persons to whom the Software is furnished to do so, subject to
51
+ the following conditions:
52
+
53
+ The above copyright notice and this permission notice shall be
54
+ included in all copies or substantial portions of the Software.
55
+
56
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
57
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
58
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
59
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
60
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
61
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
62
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,25 @@
1
+ begin
2
+ require 'time'
3
+ require 'nokogiri'
4
+ require 'geokit'
5
+ require 'libxml'
6
+ rescue LoadError => e
7
+ if require 'rubygems' then retry
8
+ else raise(e)
9
+ end
10
+ end
11
+
12
+ %w(welements http_service).each { |file| require File.join(File.dirname(__FILE__), 'welements', file) }
13
+
14
+ #
15
+ # The Welements singleton provides methods to conveniently access information from the NWS NDFD feed.
16
+ module Welements
17
+ autoload :VERSION, File.join(File.dirname(__FILE__), 'welements', 'version')
18
+
19
+ class << self
20
+ # Retrieve complex forecast elements
21
+ def welements(lat, lng)
22
+ ForecastParameters.from_xml(HttpService.new.get_welements(lat, lng))
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,12 @@
1
+ module Welements
2
+ class HttpService #:nodoc:
3
+ def initialize(http = Net::HTTP)
4
+ @HTTP = http
5
+ end
6
+
7
+ def get_welements(lat, lng)
8
+ LibXML::XML::Document.string(@HTTP.get(URI.parse("http://graphical.weather.gov/xml/SOAP_server/ndfdXMLclient.php?whichClient=NDFDgen&lat=#{lat}&lon=#{lng}&product=time-series&Unit=m&maxt=maxt&mint=mint&temp=temp&qpf=qpf&pop12=pop12&snow=snow&dew=dew&wspd=wspd&wdir=wdir&sky=sky&wx=wx&waveh=waveh&rh=rh&appt=appt&dryfireo=dryfireo&ptornado=ptornado&phail=phail&wgust=wgust")))
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,3 @@
1
+ module Welements
2
+ VERSION = '0.1.1'
3
+ end
@@ -0,0 +1,146 @@
1
+ module Welements
2
+ #
3
+ #
4
+ class ForecastParameters
5
+
6
+ private_class_method :new
7
+
8
+ def self.from_xml(doc) #:nodoc:
9
+ new(doc)
10
+ end
11
+
12
+ def initialize(doc) #:noinit:
13
+ @doc = doc
14
+ end
15
+
16
+ #
17
+ # The number of days provided by the forecast
18
+ #
19
+ def length
20
+ @length ||= @doc.find("/dwml/data/time-layout[@summarization='24hourly'][1]/start-valid-time").length
21
+ end
22
+
23
+ # datetime of the first reading in the forecast
24
+ def starts
25
+ starts = nil
26
+ @doc.find("/dwml/data/time-layout/start-valid-time/text()").map do |node|
27
+ t = Time.parse(node.to_s)
28
+ starts = t if !starts || t < starts
29
+ end
30
+ @starts = starts
31
+ end
32
+
33
+ # datetime of the last reading in the forecast
34
+ def ends
35
+ ends = nil
36
+ @doc.find("/dwml/data/time-layout/end-valid-time/text()").map do |node|
37
+ t = Time.parse(node.to_s)
38
+ ends = t if !ends || t > ends
39
+ end
40
+ @ends = ends
41
+ end
42
+
43
+ # TODO remove
44
+ def maxima
45
+ @maxima ||= @doc.find("/dwml/data/parameters[1]/temperature[@type='maximum'][@units='Fahrenheit'][1]/value/text()").map do |node|
46
+ node.to_s.to_i
47
+ end
48
+ end
49
+
50
+ # TODO remove
51
+ def minima
52
+ @minima ||= @doc.find("/dwml/data/parameters[1]/temperature[@type='minimum'][@units='Fahrenheit'][1]/value/text()").map do |node|
53
+ node.to_s.to_i
54
+ end
55
+ end
56
+
57
+ def probability_of_precipitation
58
+ build('probability-of-precipitation')
59
+ end
60
+
61
+ def relative_humidity
62
+ build('humidity')
63
+ end
64
+
65
+ def temperature_maximum
66
+ build('temperature', {'type' => 'maximum'})
67
+ end
68
+
69
+ def temperature_minimum
70
+ build('temperature', {'type' => 'minimum'})
71
+ end
72
+
73
+ def temperature_hourly
74
+ build('temperature', {'type' => 'hourly'})
75
+ end
76
+
77
+ def temperature_dew_point
78
+ build('temperature', {'type' => 'dew point'})
79
+ end
80
+
81
+ def temperature_apparent
82
+ build('temperature', {'type' => 'apparent'})
83
+ end
84
+
85
+ def precipitation_liquid
86
+ build('precipitation', {'type' => 'liquid'})
87
+ end
88
+
89
+ def precipitation_snow
90
+ build('precipitation', {'type' => 'snow'})
91
+ end
92
+
93
+ def wind_speed_sustained
94
+ build('wind-speed', {'type' => 'sustained'})
95
+ end
96
+
97
+ def wind_speed_gust
98
+ build('wind-speed', {'type' => 'gust'})
99
+ end
100
+
101
+ def wind_direction
102
+ build('direction', {'type' => 'wind'})
103
+ end
104
+
105
+ def cloud_cover
106
+ build('cloud-amount')
107
+ end
108
+
109
+ def fire_outlook_from_dry_thunderstorms
110
+ build('fire-weather', {'type' => 'risk from dry thunderstorms'},
111
+ :string)
112
+ end
113
+
114
+ #private
115
+
116
+ def build(parameter, attributes={}, value_type=:integer)
117
+ attributes_filter = ''
118
+ attributes.each {|k, v| attributes_filter += "[@#{k}='#{v}']" }
119
+
120
+ values = @doc.find("/dwml/data/parameters[1]/#{parameter}#{attributes_filter}[1]/value/text()").map do |node|
121
+ value_type == :integer ? node.to_s.to_i : node.to_s
122
+ end
123
+
124
+ layout_key = @doc.find("/dwml/data/parameters[1]/#{parameter}#{attributes_filter}[1]").first[:'time-layout']
125
+
126
+ layout = nil
127
+ @doc.find("/dwml/data/time-layout").each do |node|
128
+ node.each_element do |el|
129
+ # the layout key will always be the first element, check it
130
+ # then go on to the next layout node
131
+ layout = node if el.first.to_s == layout_key
132
+ break
133
+ end
134
+ end
135
+
136
+ data = []
137
+ layout.each do |el|
138
+ if el.name == 'start-valid-time'
139
+ data.push({:time => Time.parse(el.first.to_s),
140
+ :value => values[data.length]})
141
+ end
142
+ end
143
+ data
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,116 @@
1
+ <?xml version="1.0"?>
2
+ <dwml version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.nws.noaa.gov/forecasts/xml/DWMLgen/schema/DWML.xsd">
3
+ <head>
4
+ <product srsName="WGS 1984" concise-name="dwmlByDay" operational-mode="official">
5
+ <title>NOAA's National Weather Service Forecast by 24 Hour Period</title>
6
+ <field>meteorological</field>
7
+ <category>forecast</category>
8
+ <creation-date refresh-frequency="PT1H">2008-12-23T21:46:52Z</creation-date>
9
+ </product>
10
+ <source>
11
+ <more-information>http://www.nws.noaa.gov/forecasts/xml/</more-information>
12
+ <production-center>Meteorological Development Laboratory<sub-center>Product Generation Branch</sub-center></production-center>
13
+ <disclaimer>http://www.nws.noaa.gov/disclaimer.html</disclaimer>
14
+ <credit>http://www.weather.gov/</credit>
15
+ <credit-logo>http://www.weather.gov/images/xml_logo.gif</credit-logo>
16
+ <feedback>http://www.weather.gov/feedback.php</feedback>
17
+ </source>
18
+ </head>
19
+ <data>
20
+ <location>
21
+ <location-key>point1</location-key>
22
+ <point latitude="40.72" longitude="-73.99"/>
23
+ </location>
24
+ <moreWeatherInformation applicable-location="point1">http://forecast.weather.gov/MapClick.php?textField1=40.72&amp;textField2=-73.99</moreWeatherInformation>
25
+ <time-layout time-coordinate="local" summarization="24hourly">
26
+ <layout-key>k-p24h-n4-1</layout-key>
27
+ <start-valid-time>2008-12-23T06:00:00-05:00</start-valid-time>
28
+ <end-valid-time>2008-12-24T06:00:00-05:00</end-valid-time>
29
+ <start-valid-time>2008-12-24T06:00:00-05:00</start-valid-time>
30
+ <end-valid-time>2008-12-25T06:00:00-05:00</end-valid-time>
31
+ <start-valid-time>2008-12-25T06:00:00-05:00</start-valid-time>
32
+ <end-valid-time>2008-12-26T06:00:00-05:00</end-valid-time>
33
+ <start-valid-time>2008-12-26T06:00:00-05:00</start-valid-time>
34
+ <end-valid-time>2008-12-27T06:00:00-05:00</end-valid-time>
35
+ </time-layout>
36
+ <time-layout time-coordinate="local" summarization="12hourly">
37
+ <layout-key>k-p12h-n8-2</layout-key>
38
+ <start-valid-time>2008-12-23T06:00:00-05:00</start-valid-time>
39
+ <end-valid-time>2008-12-23T18:00:00-05:00</end-valid-time>
40
+ <start-valid-time>2008-12-23T18:00:00-05:00</start-valid-time>
41
+ <end-valid-time>2008-12-24T06:00:00-05:00</end-valid-time>
42
+ <start-valid-time>2008-12-24T06:00:00-05:00</start-valid-time>
43
+ <end-valid-time>2008-12-24T18:00:00-05:00</end-valid-time>
44
+ <start-valid-time>2008-12-24T18:00:00-05:00</start-valid-time>
45
+ <end-valid-time>2008-12-25T06:00:00-05:00</end-valid-time>
46
+ <start-valid-time>2008-12-25T06:00:00-05:00</start-valid-time>
47
+ <end-valid-time>2008-12-25T18:00:00-05:00</end-valid-time>
48
+ <start-valid-time>2008-12-25T18:00:00-05:00</start-valid-time>
49
+ <end-valid-time>2008-12-26T06:00:00-05:00</end-valid-time>
50
+ <start-valid-time>2008-12-26T06:00:00-05:00</start-valid-time>
51
+ <end-valid-time>2008-12-26T18:00:00-05:00</end-valid-time>
52
+ <start-valid-time>2008-12-26T18:00:00-05:00</start-valid-time>
53
+ <end-valid-time>2008-12-27T06:00:00-05:00</end-valid-time>
54
+ </time-layout>
55
+ <time-layout time-coordinate="local" summarization="24hourly">
56
+ <layout-key>k-p4d-n1-3</layout-key>
57
+ <start-valid-time>2008-12-23T06:00:00-05:00</start-valid-time>
58
+ <end-valid-time>2008-12-27T06:00:00-05:00</end-valid-time>
59
+ </time-layout>
60
+ <parameters applicable-location="point1">
61
+ <temperature type="maximum" units="Fahrenheit" time-layout="k-p24h-n4-1">
62
+ <name>Daily Maximum Temperature</name>
63
+ <value>32</value>
64
+ <value>49</value>
65
+ <value>43</value>
66
+ <value>41</value>
67
+ </temperature>
68
+ <temperature type="minimum" units="Fahrenheit" time-layout="k-p24h-n4-1">
69
+ <name>Daily Minimum Temperature</name>
70
+ <value>31</value>
71
+ <value>41</value>
72
+ <value>33</value>
73
+ <value>39</value>
74
+ </temperature>
75
+ <probability-of-precipitation type="12 hour" units="percent" time-layout="k-p12h-n8-2">
76
+ <name>12 Hourly Probability of Precipitation</name>
77
+ <value>5</value>
78
+ <value>77</value>
79
+ <value>94</value>
80
+ <value>84</value>
81
+ <value>22</value>
82
+ <value>19</value>
83
+ <value>50</value>
84
+ <value>50</value>
85
+ </probability-of-precipitation>
86
+ <weather time-layout="k-p24h-n4-1">
87
+ <name>Weather Type, Coverage, and Intensity</name>
88
+ <weather-conditions weather-summary="Rain">
89
+ <value coverage="definitely" intensity="light" weather-type="rain" qualifier="none"/>
90
+ <value coverage="areas" intensity="none" additive="and" weather-type="fog" qualifier="none"/>
91
+ </weather-conditions>
92
+ <weather-conditions weather-summary="Rain">
93
+ <value coverage="definitely" intensity="light" weather-type="rain" qualifier="none"/>
94
+ <value coverage="areas" intensity="none" additive="and" weather-type="fog" qualifier="none"/>
95
+ </weather-conditions>
96
+ <weather-conditions weather-summary="Slight Chance Rain">
97
+ <value coverage="slight chance" intensity="light" weather-type="rain" qualifier="none"/>
98
+ </weather-conditions>
99
+ <weather-conditions weather-summary="Chance Rain">
100
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none"/>
101
+ </weather-conditions>
102
+ </weather>
103
+ <conditions-icon type="forecast-NWS" time-layout="k-p24h-n4-1">
104
+ <name>Conditions Icons</name>
105
+ <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/ra80.jpg</icon-link>
106
+ <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/ra90.jpg</icon-link>
107
+ <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/ra20.jpg</icon-link>
108
+ <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/ra50.jpg</icon-link>
109
+ </conditions-icon>
110
+ <hazards time-layout="k-p4d-n1-3">
111
+ <name>Watches, Warnings, and Advisories</name>
112
+ <hazard-conditions xsi:nil="true"/>
113
+ </hazards>
114
+ </parameters>
115
+ </data>
116
+ </dwml>
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <current_observation version="1.0"
3
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+ xsi:noNamespaceSchemaLocation="http://www.weather.gov/xml/current_obs/current_observation.xsd">
6
+ <credit>NOAA's National Weather Service</credit>
7
+ <credit_URL>http://weather.gov/</credit_URL>
8
+ <image>
9
+ <url>http://weather.gov/images/xml_logo.gif</url>
10
+ <title>NOAA's National Weather Service</title>
11
+ <link>http://weather.gov</link>
12
+ </image>
13
+ <suggested_pickup>15 minutes after the hour</suggested_pickup>
14
+ <suggested_pickup_period>60</suggested_pickup_period>
15
+ <location>Mount Holly, South Jersey Regional Airport, NJ</location>
16
+ <station_id>KVAY</station_id>
17
+ <latitude>39.95</latitude>
18
+ <longitude>-74.84</longitude>
19
+ <observation_time>Last Updated on Dec 23, 10:54 am EST</observation_time>
20
+ <observation_time_rfc822>Tue, 23 Dec 2008 10:54:00 -0500 EST</observation_time_rfc822>
21
+ <weather>Fair</weather>
22
+ <temperature_string>24 F (-4 C)</temperature_string>
23
+ <temp_f>24</temp_f>
24
+ <temp_c>-4</temp_c>
25
+ <relative_humidity>52</relative_humidity>
26
+ <wind_string>From the Northwest at 3 MPH</wind_string>
27
+ <wind_dir>Northwest</wind_dir>
28
+ <wind_degrees>330</wind_degrees>
29
+ <wind_mph>3.45</wind_mph>
30
+ <wind_gust_mph>10.25</wind_gust_mph>
31
+ <pressure_string>30.70&quot; (1039.5 mb)</pressure_string>
32
+ <pressure_mb>1039.5</pressure_mb>
33
+ <pressure_in>30.70</pressure_in>
34
+ <dewpoint_string>9 F (-13 C)</dewpoint_string>
35
+ <dewpoint_f>9</dewpoint_f>
36
+ <dewpoint_c>-13</dewpoint_c>
37
+ <heat_index_string>NA</heat_index_string>
38
+ <heat_index_f>105</heat_index_f>
39
+ <heat_index_c>41</heat_index_c>
40
+ <windchill_string>NA</windchill_string>
41
+ <windchill_f>19</windchill_f>
42
+ <windchill_c>-7</windchill_c>
43
+ <visibility_mi>10.00</visibility_mi>
44
+ <icon_url_base>http://weather.gov/weather/images/fcicons/</icon_url_base>
45
+ <icon_url_name>skc.jpg</icon_url_name>
46
+ <two_day_history_url>http://www.weather.gov/data/obhistory/KVAY.html</two_day_history_url>
47
+ <ob_url>http://www.nws.noaa.gov/data/METAR/KVAY.1.txt</ob_url>
48
+ <disclaimer_url>http://weather.gov/disclaimer.html</disclaimer_url>
49
+ <copyright_url>http://weather.gov/disclaimer.html</copyright_url>
50
+ <privacy_policy_url>http://weather.gov/notice.html</privacy_policy_url>
51
+ </current_observation>
52
+
@@ -0,0 +1,749 @@
1
+ <?xml version="1.0"?>
2
+ <dwml version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd">
3
+ <head>
4
+ <product srsName="WGS 1984" concise-name="time-series" operational-mode="official">
5
+ <title>NOAA's National Weather Service Forecast Data</title>
6
+ <field>meteorological</field>
7
+ <category>forecast</category>
8
+ <creation-date refresh-frequency="PT1H">2011-12-17T07:55:32Z</creation-date>
9
+ </product>
10
+ <source>
11
+ <more-information>http://graphical.weather.gov/xml/</more-information>
12
+ <production-center>Meteorological Development Laboratory<sub-center>Product Generation Branch</sub-center></production-center>
13
+ <disclaimer>http://www.nws.noaa.gov/disclaimer.html</disclaimer>
14
+ <credit>http://www.weather.gov/</credit>
15
+ <credit-logo>http://www.weather.gov/images/xml_logo.gif</credit-logo>
16
+ <feedback>http://www.weather.gov/feedback.php</feedback>
17
+ </source>
18
+ </head>
19
+ <data>
20
+ <location>
21
+ <location-key>point1</location-key>
22
+ <point latitude="40.72" longitude="-73.99"/>
23
+ </location>
24
+ <moreWeatherInformation applicable-location="point1">http://forecast.weather.gov/MapClick.php?textField1=40.72&amp;textField2=-73.99</moreWeatherInformation>
25
+ <time-layout time-coordinate="local" summarization="none">
26
+ <layout-key>k-p24h-n7-1</layout-key>
27
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
28
+ <end-valid-time>2011-12-17T19:00:00-05:00</end-valid-time>
29
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
30
+ <end-valid-time>2011-12-18T19:00:00-05:00</end-valid-time>
31
+ <start-valid-time>2011-12-19T07:00:00-05:00</start-valid-time>
32
+ <end-valid-time>2011-12-19T19:00:00-05:00</end-valid-time>
33
+ <start-valid-time>2011-12-20T07:00:00-05:00</start-valid-time>
34
+ <end-valid-time>2011-12-20T19:00:00-05:00</end-valid-time>
35
+ <start-valid-time>2011-12-21T07:00:00-05:00</start-valid-time>
36
+ <end-valid-time>2011-12-21T19:00:00-05:00</end-valid-time>
37
+ <start-valid-time>2011-12-22T07:00:00-05:00</start-valid-time>
38
+ <end-valid-time>2011-12-22T19:00:00-05:00</end-valid-time>
39
+ <start-valid-time>2011-12-23T07:00:00-05:00</start-valid-time>
40
+ <end-valid-time>2011-12-23T19:00:00-05:00</end-valid-time>
41
+ </time-layout>
42
+ <time-layout time-coordinate="local" summarization="none">
43
+ <layout-key>k-p24h-n7-2</layout-key>
44
+ <start-valid-time>2011-12-16T19:00:00-05:00</start-valid-time>
45
+ <end-valid-time>2011-12-17T08:00:00-05:00</end-valid-time>
46
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
47
+ <end-valid-time>2011-12-18T08:00:00-05:00</end-valid-time>
48
+ <start-valid-time>2011-12-18T19:00:00-05:00</start-valid-time>
49
+ <end-valid-time>2011-12-19T08:00:00-05:00</end-valid-time>
50
+ <start-valid-time>2011-12-19T19:00:00-05:00</start-valid-time>
51
+ <end-valid-time>2011-12-20T08:00:00-05:00</end-valid-time>
52
+ <start-valid-time>2011-12-20T19:00:00-05:00</start-valid-time>
53
+ <end-valid-time>2011-12-21T08:00:00-05:00</end-valid-time>
54
+ <start-valid-time>2011-12-21T19:00:00-05:00</start-valid-time>
55
+ <end-valid-time>2011-12-22T08:00:00-05:00</end-valid-time>
56
+ <start-valid-time>2011-12-22T19:00:00-05:00</start-valid-time>
57
+ <end-valid-time>2011-12-23T08:00:00-05:00</end-valid-time>
58
+ </time-layout>
59
+ <time-layout time-coordinate="local" summarization="none">
60
+ <layout-key>k-p12h-n14-3</layout-key>
61
+ <start-valid-time>2011-12-16T19:00:00-05:00</start-valid-time>
62
+ <end-valid-time>2011-12-17T07:00:00-05:00</end-valid-time>
63
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
64
+ <end-valid-time>2011-12-17T19:00:00-05:00</end-valid-time>
65
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
66
+ <end-valid-time>2011-12-18T07:00:00-05:00</end-valid-time>
67
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
68
+ <end-valid-time>2011-12-18T19:00:00-05:00</end-valid-time>
69
+ <start-valid-time>2011-12-18T19:00:00-05:00</start-valid-time>
70
+ <end-valid-time>2011-12-19T07:00:00-05:00</end-valid-time>
71
+ <start-valid-time>2011-12-19T07:00:00-05:00</start-valid-time>
72
+ <end-valid-time>2011-12-19T19:00:00-05:00</end-valid-time>
73
+ <start-valid-time>2011-12-19T19:00:00-05:00</start-valid-time>
74
+ <end-valid-time>2011-12-20T07:00:00-05:00</end-valid-time>
75
+ <start-valid-time>2011-12-20T07:00:00-05:00</start-valid-time>
76
+ <end-valid-time>2011-12-20T19:00:00-05:00</end-valid-time>
77
+ <start-valid-time>2011-12-20T19:00:00-05:00</start-valid-time>
78
+ <end-valid-time>2011-12-21T07:00:00-05:00</end-valid-time>
79
+ <start-valid-time>2011-12-21T07:00:00-05:00</start-valid-time>
80
+ <end-valid-time>2011-12-21T19:00:00-05:00</end-valid-time>
81
+ <start-valid-time>2011-12-21T19:00:00-05:00</start-valid-time>
82
+ <end-valid-time>2011-12-22T07:00:00-05:00</end-valid-time>
83
+ <start-valid-time>2011-12-22T07:00:00-05:00</start-valid-time>
84
+ <end-valid-time>2011-12-22T19:00:00-05:00</end-valid-time>
85
+ <start-valid-time>2011-12-22T19:00:00-05:00</start-valid-time>
86
+ <end-valid-time>2011-12-23T07:00:00-05:00</end-valid-time>
87
+ <start-valid-time>2011-12-23T07:00:00-05:00</start-valid-time>
88
+ <end-valid-time>2011-12-23T19:00:00-05:00</end-valid-time>
89
+ </time-layout>
90
+ <time-layout time-coordinate="local" summarization="none">
91
+ <layout-key>k-p3h-n38-4</layout-key>
92
+ <start-valid-time>2011-12-17T04:00:00-05:00</start-valid-time>
93
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
94
+ <start-valid-time>2011-12-17T10:00:00-05:00</start-valid-time>
95
+ <start-valid-time>2011-12-17T13:00:00-05:00</start-valid-time>
96
+ <start-valid-time>2011-12-17T16:00:00-05:00</start-valid-time>
97
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
98
+ <start-valid-time>2011-12-17T22:00:00-05:00</start-valid-time>
99
+ <start-valid-time>2011-12-18T01:00:00-05:00</start-valid-time>
100
+ <start-valid-time>2011-12-18T04:00:00-05:00</start-valid-time>
101
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
102
+ <start-valid-time>2011-12-18T10:00:00-05:00</start-valid-time>
103
+ <start-valid-time>2011-12-18T13:00:00-05:00</start-valid-time>
104
+ <start-valid-time>2011-12-18T16:00:00-05:00</start-valid-time>
105
+ <start-valid-time>2011-12-18T19:00:00-05:00</start-valid-time>
106
+ <start-valid-time>2011-12-18T22:00:00-05:00</start-valid-time>
107
+ <start-valid-time>2011-12-19T01:00:00-05:00</start-valid-time>
108
+ <start-valid-time>2011-12-19T04:00:00-05:00</start-valid-time>
109
+ <start-valid-time>2011-12-19T07:00:00-05:00</start-valid-time>
110
+ <start-valid-time>2011-12-19T10:00:00-05:00</start-valid-time>
111
+ <start-valid-time>2011-12-19T13:00:00-05:00</start-valid-time>
112
+ <start-valid-time>2011-12-19T16:00:00-05:00</start-valid-time>
113
+ <start-valid-time>2011-12-19T19:00:00-05:00</start-valid-time>
114
+ <start-valid-time>2011-12-20T01:00:00-05:00</start-valid-time>
115
+ <start-valid-time>2011-12-20T07:00:00-05:00</start-valid-time>
116
+ <start-valid-time>2011-12-20T13:00:00-05:00</start-valid-time>
117
+ <start-valid-time>2011-12-20T19:00:00-05:00</start-valid-time>
118
+ <start-valid-time>2011-12-21T01:00:00-05:00</start-valid-time>
119
+ <start-valid-time>2011-12-21T07:00:00-05:00</start-valid-time>
120
+ <start-valid-time>2011-12-21T13:00:00-05:00</start-valid-time>
121
+ <start-valid-time>2011-12-21T19:00:00-05:00</start-valid-time>
122
+ <start-valid-time>2011-12-22T01:00:00-05:00</start-valid-time>
123
+ <start-valid-time>2011-12-22T07:00:00-05:00</start-valid-time>
124
+ <start-valid-time>2011-12-22T13:00:00-05:00</start-valid-time>
125
+ <start-valid-time>2011-12-22T19:00:00-05:00</start-valid-time>
126
+ <start-valid-time>2011-12-23T01:00:00-05:00</start-valid-time>
127
+ <start-valid-time>2011-12-23T07:00:00-05:00</start-valid-time>
128
+ <start-valid-time>2011-12-23T13:00:00-05:00</start-valid-time>
129
+ <start-valid-time>2011-12-23T19:00:00-05:00</start-valid-time>
130
+ </time-layout>
131
+ <time-layout time-coordinate="local" summarization="none">
132
+ <layout-key>k-p6h-n11-5</layout-key>
133
+ <start-valid-time>2011-12-17T01:00:00-05:00</start-valid-time>
134
+ <end-valid-time>2011-12-17T07:00:00-05:00</end-valid-time>
135
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
136
+ <end-valid-time>2011-12-17T13:00:00-05:00</end-valid-time>
137
+ <start-valid-time>2011-12-17T13:00:00-05:00</start-valid-time>
138
+ <end-valid-time>2011-12-17T19:00:00-05:00</end-valid-time>
139
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
140
+ <end-valid-time>2011-12-18T01:00:00-05:00</end-valid-time>
141
+ <start-valid-time>2011-12-18T01:00:00-05:00</start-valid-time>
142
+ <end-valid-time>2011-12-18T07:00:00-05:00</end-valid-time>
143
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
144
+ <end-valid-time>2011-12-18T13:00:00-05:00</end-valid-time>
145
+ <start-valid-time>2011-12-18T13:00:00-05:00</start-valid-time>
146
+ <end-valid-time>2011-12-18T19:00:00-05:00</end-valid-time>
147
+ <start-valid-time>2011-12-18T19:00:00-05:00</start-valid-time>
148
+ <end-valid-time>2011-12-19T01:00:00-05:00</end-valid-time>
149
+ <start-valid-time>2011-12-19T01:00:00-05:00</start-valid-time>
150
+ <end-valid-time>2011-12-19T07:00:00-05:00</end-valid-time>
151
+ <start-valid-time>2011-12-19T07:00:00-05:00</start-valid-time>
152
+ <end-valid-time>2011-12-19T13:00:00-05:00</end-valid-time>
153
+ <start-valid-time>2011-12-19T13:00:00-05:00</start-valid-time>
154
+ <end-valid-time>2011-12-19T19:00:00-05:00</end-valid-time>
155
+ </time-layout>
156
+ <time-layout time-coordinate="local" summarization="none">
157
+ <layout-key>k-p6h-n7-6</layout-key>
158
+ <start-valid-time>2011-12-17T01:00:00-05:00</start-valid-time>
159
+ <end-valid-time>2011-12-17T07:00:00-05:00</end-valid-time>
160
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
161
+ <end-valid-time>2011-12-17T13:00:00-05:00</end-valid-time>
162
+ <start-valid-time>2011-12-17T13:00:00-05:00</start-valid-time>
163
+ <end-valid-time>2011-12-17T19:00:00-05:00</end-valid-time>
164
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
165
+ <end-valid-time>2011-12-18T01:00:00-05:00</end-valid-time>
166
+ <start-valid-time>2011-12-18T01:00:00-05:00</start-valid-time>
167
+ <end-valid-time>2011-12-18T07:00:00-05:00</end-valid-time>
168
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
169
+ <end-valid-time>2011-12-18T13:00:00-05:00</end-valid-time>
170
+ <start-valid-time>2011-12-18T13:00:00-05:00</start-valid-time>
171
+ <end-valid-time>2011-12-18T19:00:00-05:00</end-valid-time>
172
+ </time-layout>
173
+ <time-layout time-coordinate="local" summarization="none">
174
+ <layout-key>k-p6h-n19-7</layout-key>
175
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
176
+ <start-valid-time>2011-12-17T13:00:00-05:00</start-valid-time>
177
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
178
+ <start-valid-time>2011-12-18T01:00:00-05:00</start-valid-time>
179
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
180
+ <start-valid-time>2011-12-18T13:00:00-05:00</start-valid-time>
181
+ <start-valid-time>2011-12-18T19:00:00-05:00</start-valid-time>
182
+ <start-valid-time>2011-12-19T01:00:00-05:00</start-valid-time>
183
+ <start-valid-time>2011-12-19T07:00:00-05:00</start-valid-time>
184
+ <start-valid-time>2011-12-19T13:00:00-05:00</start-valid-time>
185
+ <start-valid-time>2011-12-19T19:00:00-05:00</start-valid-time>
186
+ <start-valid-time>2011-12-20T01:00:00-05:00</start-valid-time>
187
+ <start-valid-time>2011-12-20T07:00:00-05:00</start-valid-time>
188
+ <start-valid-time>2011-12-20T13:00:00-05:00</start-valid-time>
189
+ <start-valid-time>2011-12-20T19:00:00-05:00</start-valid-time>
190
+ <start-valid-time>2011-12-21T01:00:00-05:00</start-valid-time>
191
+ <start-valid-time>2011-12-21T07:00:00-05:00</start-valid-time>
192
+ <start-valid-time>2011-12-21T13:00:00-05:00</start-valid-time>
193
+ <start-valid-time>2011-12-21T19:00:00-05:00</start-valid-time>
194
+ </time-layout>
195
+ <time-layout time-coordinate="local" summarization="none">
196
+ <layout-key>k-p3h-n22-8</layout-key>
197
+ <start-valid-time>2011-12-17T04:00:00-05:00</start-valid-time>
198
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
199
+ <start-valid-time>2011-12-17T10:00:00-05:00</start-valid-time>
200
+ <start-valid-time>2011-12-17T13:00:00-05:00</start-valid-time>
201
+ <start-valid-time>2011-12-17T16:00:00-05:00</start-valid-time>
202
+ <start-valid-time>2011-12-17T19:00:00-05:00</start-valid-time>
203
+ <start-valid-time>2011-12-17T22:00:00-05:00</start-valid-time>
204
+ <start-valid-time>2011-12-18T01:00:00-05:00</start-valid-time>
205
+ <start-valid-time>2011-12-18T04:00:00-05:00</start-valid-time>
206
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
207
+ <start-valid-time>2011-12-18T10:00:00-05:00</start-valid-time>
208
+ <start-valid-time>2011-12-18T13:00:00-05:00</start-valid-time>
209
+ <start-valid-time>2011-12-18T16:00:00-05:00</start-valid-time>
210
+ <start-valid-time>2011-12-18T19:00:00-05:00</start-valid-time>
211
+ <start-valid-time>2011-12-18T22:00:00-05:00</start-valid-time>
212
+ <start-valid-time>2011-12-19T01:00:00-05:00</start-valid-time>
213
+ <start-valid-time>2011-12-19T04:00:00-05:00</start-valid-time>
214
+ <start-valid-time>2011-12-19T07:00:00-05:00</start-valid-time>
215
+ <start-valid-time>2011-12-19T10:00:00-05:00</start-valid-time>
216
+ <start-valid-time>2011-12-19T13:00:00-05:00</start-valid-time>
217
+ <start-valid-time>2011-12-19T16:00:00-05:00</start-valid-time>
218
+ <start-valid-time>2011-12-19T19:00:00-05:00</start-valid-time>
219
+ </time-layout>
220
+ <time-layout time-coordinate="local" summarization="none">
221
+ <layout-key>k-p24h-n3-9</layout-key>
222
+ <start-valid-time>2011-12-16T16:00:00-05:00</start-valid-time>
223
+ <end-valid-time>2011-12-17T07:00:00-05:00</end-valid-time>
224
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
225
+ <end-valid-time>2011-12-18T07:00:00-05:00</end-valid-time>
226
+ <start-valid-time>2011-12-18T07:00:00-05:00</start-valid-time>
227
+ <end-valid-time>2011-12-19T07:00:00-05:00</end-valid-time>
228
+ </time-layout>
229
+ <time-layout time-coordinate="local" summarization="none">
230
+ <layout-key>k-p24h-n2-10</layout-key>
231
+ <start-valid-time>2011-12-17T01:00:00-05:00</start-valid-time>
232
+ <end-valid-time>2011-12-17T07:00:00-05:00</end-valid-time>
233
+ <start-valid-time>2011-12-17T07:00:00-05:00</start-valid-time>
234
+ <end-valid-time>2011-12-18T07:00:00-05:00</end-valid-time>
235
+ </time-layout>
236
+ <time-layout time-coordinate="local" summarization="none">
237
+ <layout-key>k-p24h-n1-11</layout-key>
238
+ <start-valid-time>2011-12-17T01:00:00-05:00</start-valid-time>
239
+ <end-valid-time>2011-12-17T07:00:00-05:00</end-valid-time>
240
+ </time-layout>
241
+ <parameters applicable-location="point1">
242
+ <temperature type="maximum" units="Celsius" time-layout="k-p24h-n7-1">
243
+ <name>Daily Maximum Temperature</name>
244
+ <value>6</value>
245
+ <value>3</value>
246
+ <value>8</value>
247
+ <value>8</value>
248
+ <value>9</value>
249
+ <value>9</value>
250
+ <value>8</value>
251
+ </temperature>
252
+ <temperature type="minimum" units="Celsius" time-layout="k-p24h-n7-2">
253
+ <name>Daily Minimum Temperature</name>
254
+ <value>2</value>
255
+ <value>-2</value>
256
+ <value>1</value>
257
+ <value>2</value>
258
+ <value>3</value>
259
+ <value>3</value>
260
+ <value>3</value>
261
+ </temperature>
262
+ <temperature type="hourly" units="Celsius" time-layout="k-p3h-n38-4">
263
+ <name>Temperature</name>
264
+ <value>3</value>
265
+ <value>2</value>
266
+ <value>4</value>
267
+ <value>6</value>
268
+ <value>6</value>
269
+ <value>3</value>
270
+ <value>2</value>
271
+ <value>0</value>
272
+ <value>-2</value>
273
+ <value>-2</value>
274
+ <value>-1</value>
275
+ <value>3</value>
276
+ <value>3</value>
277
+ <value>2</value>
278
+ <value>1</value>
279
+ <value>1</value>
280
+ <value>1</value>
281
+ <value>1</value>
282
+ <value>3</value>
283
+ <value>7</value>
284
+ <value>8</value>
285
+ <value>6</value>
286
+ <value>4</value>
287
+ <value>2</value>
288
+ <value>7</value>
289
+ <value>6</value>
290
+ <value>4</value>
291
+ <value>3</value>
292
+ <value>8</value>
293
+ <value>7</value>
294
+ <value>5</value>
295
+ <value>3</value>
296
+ <value>8</value>
297
+ <value>7</value>
298
+ <value>4</value>
299
+ <value>3</value>
300
+ <value>8</value>
301
+ <value>7</value>
302
+ </temperature>
303
+ <temperature type="dew point" units="Celsius" time-layout="k-p3h-n38-4">
304
+ <name>Dew Point Temperature</name>
305
+ <value>-3</value>
306
+ <value>-4</value>
307
+ <value>-5</value>
308
+ <value>-7</value>
309
+ <value>-8</value>
310
+ <value>-9</value>
311
+ <value>-9</value>
312
+ <value>-9</value>
313
+ <value>-10</value>
314
+ <value>-11</value>
315
+ <value>-11</value>
316
+ <value>-11</value>
317
+ <value>-11</value>
318
+ <value>-9</value>
319
+ <value>-8</value>
320
+ <value>-7</value>
321
+ <value>-7</value>
322
+ <value>-7</value>
323
+ <value>-6</value>
324
+ <value>-4</value>
325
+ <value>-4</value>
326
+ <value>-3</value>
327
+ <value>-2</value>
328
+ <value>-1</value>
329
+ <value>-3</value>
330
+ <value>-2</value>
331
+ <value>-1</value>
332
+ <value>2</value>
333
+ <value>5</value>
334
+ <value>3</value>
335
+ <value>0</value>
336
+ <value>-1</value>
337
+ <value>-1</value>
338
+ <value>-1</value>
339
+ <value>-2</value>
340
+ <value>-1</value>
341
+ <value>1</value>
342
+ <value>1</value>
343
+ </temperature>
344
+ <precipitation type="liquid" units="centimeters" time-layout="k-p6h-n11-5">
345
+ <name>Liquid Precipitation Amount</name>
346
+ <value>0.00</value>
347
+ <value>0.00</value>
348
+ <value>0.00</value>
349
+ <value>0.00</value>
350
+ <value>0.00</value>
351
+ <value>0.00</value>
352
+ <value>0.00</value>
353
+ <value>0.00</value>
354
+ <value>0.00</value>
355
+ <value>0.00</value>
356
+ <value>0.00</value>
357
+ </precipitation>
358
+ <wind-speed type="sustained" units="meters/second" time-layout="k-p3h-n38-4">
359
+ <name>Wind Speed</name>
360
+ <value>3</value>
361
+ <value>4</value>
362
+ <value>5</value>
363
+ <value>6</value>
364
+ <value>6</value>
365
+ <value>6</value>
366
+ <value>5</value>
367
+ <value>4</value>
368
+ <value>4</value>
369
+ <value>4</value>
370
+ <value>4</value>
371
+ <value>3</value>
372
+ <value>4</value>
373
+ <value>3</value>
374
+ <value>2</value>
375
+ <value>1</value>
376
+ <value>0</value>
377
+ <value>2</value>
378
+ <value>4</value>
379
+ <value>5</value>
380
+ <value>6</value>
381
+ <value>4</value>
382
+ <value>4</value>
383
+ <value>3</value>
384
+ <value>3</value>
385
+ <value>2</value>
386
+ <value>3</value>
387
+ <value>3</value>
388
+ <value>5</value>
389
+ <value>5</value>
390
+ <value>5</value>
391
+ <value>4</value>
392
+ <value>3</value>
393
+ <value>1</value>
394
+ <value>2</value>
395
+ <value>2</value>
396
+ <value>1</value>
397
+ <value>3</value>
398
+ </wind-speed>
399
+ <direction type="wind" units="degrees true" time-layout="k-p3h-n38-4">
400
+ <name>Wind Direction</name>
401
+ <value>300</value>
402
+ <value>320</value>
403
+ <value>330</value>
404
+ <value>330</value>
405
+ <value>330</value>
406
+ <value>330</value>
407
+ <value>340</value>
408
+ <value>340</value>
409
+ <value>340</value>
410
+ <value>340</value>
411
+ <value>350</value>
412
+ <value>320</value>
413
+ <value>320</value>
414
+ <value>280</value>
415
+ <value>280</value>
416
+ <value>270</value>
417
+ <value>250</value>
418
+ <value>230</value>
419
+ <value>230</value>
420
+ <value>230</value>
421
+ <value>230</value>
422
+ <value>240</value>
423
+ <value>260</value>
424
+ <value>290</value>
425
+ <value>340</value>
426
+ <value>60</value>
427
+ <value>120</value>
428
+ <value>160</value>
429
+ <value>260</value>
430
+ <value>300</value>
431
+ <value>310</value>
432
+ <value>290</value>
433
+ <value>290</value>
434
+ <value>150</value>
435
+ <value>200</value>
436
+ <value>210</value>
437
+ <value>270</value>
438
+ <value>310</value>
439
+ </direction>
440
+ <cloud-amount type="total" units="percent" time-layout="k-p3h-n38-4">
441
+ <name>Cloud Cover Amount</name>
442
+ <value>59</value>
443
+ <value>32</value>
444
+ <value>42</value>
445
+ <value>51</value>
446
+ <value>64</value>
447
+ <value>78</value>
448
+ <value>59</value>
449
+ <value>40</value>
450
+ <value>56</value>
451
+ <value>58</value>
452
+ <value>62</value>
453
+ <value>46</value>
454
+ <value>31</value>
455
+ <value>17</value>
456
+ <value>13</value>
457
+ <value>9</value>
458
+ <value>11</value>
459
+ <value>13</value>
460
+ <value>19</value>
461
+ <value>24</value>
462
+ <value>36</value>
463
+ <value>48</value>
464
+ <value>67</value>
465
+ <value>72</value>
466
+ <value>62</value>
467
+ <value>72</value>
468
+ <value>87</value>
469
+ <value>94</value>
470
+ <value>92</value>
471
+ <value>67</value>
472
+ <value>25</value>
473
+ <value>26</value>
474
+ <value>26</value>
475
+ <value>31</value>
476
+ <value>59</value>
477
+ <value>60</value>
478
+ <value>76</value>
479
+ <value>81</value>
480
+ </cloud-amount>
481
+ <water-state time-layout="k-p6h-n19-7">
482
+ <waves type="significant" units="meters">
483
+ <name>Wave Height</name>
484
+ <value xsi:nil="true"/>
485
+ <value xsi:nil="true"/>
486
+ <value xsi:nil="true"/>
487
+ <value xsi:nil="true"/>
488
+ <value xsi:nil="true"/>
489
+ <value xsi:nil="true"/>
490
+ <value xsi:nil="true"/>
491
+ <value xsi:nil="true"/>
492
+ <value xsi:nil="true"/>
493
+ <value xsi:nil="true"/>
494
+ <value xsi:nil="true"/>
495
+ <value xsi:nil="true"/>
496
+ <value xsi:nil="true"/>
497
+ <value xsi:nil="true"/>
498
+ <value xsi:nil="true"/>
499
+ <value xsi:nil="true"/>
500
+ <value xsi:nil="true"/>
501
+ <value xsi:nil="true"/>
502
+ <value xsi:nil="true"/>
503
+ </waves>
504
+ </water-state>
505
+ <precipitation type="snow" units="centimeters" time-layout="k-p6h-n7-6">
506
+ <name>Snow Amount</name>
507
+ <value>0.00</value>
508
+ <value>0.00</value>
509
+ <value>0.00</value>
510
+ <value>0.00</value>
511
+ <value>0.00</value>
512
+ <value>0.00</value>
513
+ <value>0.00</value>
514
+ </precipitation>
515
+ <probability-of-precipitation type="12 hour" units="percent" time-layout="k-p12h-n14-3">
516
+ <name>12 Hourly Probability of Precipitation</name>
517
+ <value>14</value>
518
+ <value>14</value>
519
+ <value>14</value>
520
+ <value>1</value>
521
+ <value>3</value>
522
+ <value>2</value>
523
+ <value>20</value>
524
+ <value>26</value>
525
+ <value>42</value>
526
+ <value>42</value>
527
+ <value>16</value>
528
+ <value>14</value>
529
+ <value>25</value>
530
+ <value>25</value>
531
+ </probability-of-precipitation>
532
+ <fire-weather type="risk from dry thunderstorms" time-layout="k-p24h-n3-9">
533
+ <name>Fire Weather Outlook from Dry Thunderstorms</name>
534
+ <value>No Areas</value>
535
+ <value>No Areas</value>
536
+ <value>No Areas</value>
537
+ </fire-weather>
538
+ <convective-hazard>
539
+ <severe-component type="tornadoes" units="percent" time-layout="k-p24h-n2-10">
540
+ <name>Probability of Tornadoes</name>
541
+ <value>0</value>
542
+ <value>0</value>
543
+ </severe-component>
544
+ </convective-hazard>
545
+ <convective-hazard>
546
+ <severe-component type="hail" units="percent" time-layout="k-p24h-n1-11">
547
+ <name>Probability of Hail</name>
548
+ <value>0</value>
549
+ </severe-component>
550
+ </convective-hazard>
551
+ <humidity type="relative" units="percent" time-layout="k-p3h-n38-4">
552
+ <name>Relative Humidity</name>
553
+ <value>64</value>
554
+ <value>64</value>
555
+ <value>53</value>
556
+ <value>40</value>
557
+ <value>35</value>
558
+ <value>39</value>
559
+ <value>44</value>
560
+ <value>49</value>
561
+ <value>53</value>
562
+ <value>53</value>
563
+ <value>44</value>
564
+ <value>35</value>
565
+ <value>37</value>
566
+ <value>43</value>
567
+ <value>49</value>
568
+ <value>56</value>
569
+ <value>58</value>
570
+ <value>56</value>
571
+ <value>52</value>
572
+ <value>44</value>
573
+ <value>43</value>
574
+ <value>53</value>
575
+ <value>64</value>
576
+ <value>78</value>
577
+ <value>49</value>
578
+ <value>55</value>
579
+ <value>70</value>
580
+ <value>93</value>
581
+ <value>79</value>
582
+ <value>74</value>
583
+ <value>70</value>
584
+ <value>72</value>
585
+ <value>53</value>
586
+ <value>57</value>
587
+ <value>65</value>
588
+ <value>75</value>
589
+ <value>60</value>
590
+ <value>65</value>
591
+ </humidity>
592
+ <temperature type="apparent" units="Celsius" time-layout="k-p3h-n38-4">
593
+ <name>Apparent Temperature</name>
594
+ <value>0</value>
595
+ <value>-2</value>
596
+ <value>0</value>
597
+ <value>2</value>
598
+ <value>2</value>
599
+ <value>-1</value>
600
+ <value>-3</value>
601
+ <value>-4</value>
602
+ <value>-6</value>
603
+ <value>-7</value>
604
+ <value>-5</value>
605
+ <value>0</value>
606
+ <value>-1</value>
607
+ <value>-1</value>
608
+ <value>-1</value>
609
+ <value>-1</value>
610
+ <value>1</value>
611
+ <value>-1</value>
612
+ <value>0</value>
613
+ <value>4</value>
614
+ <value>8</value>
615
+ <value>3</value>
616
+ <value>1</value>
617
+ <value>-1</value>
618
+ <value>5</value>
619
+ <value>5</value>
620
+ <value>2</value>
621
+ <value>0</value>
622
+ <value>8</value>
623
+ <value>4</value>
624
+ <value>2</value>
625
+ <value>0</value>
626
+ <value>8</value>
627
+ <value>6</value>
628
+ <value>3</value>
629
+ <value>1</value>
630
+ <value>8</value>
631
+ <value>5</value>
632
+ </temperature>
633
+ <wind-speed type="gust" units="meters/second" time-layout="k-p3h-n22-8">
634
+ <name>Wind Speed Gust</name>
635
+ <value>4</value>
636
+ <value>7</value>
637
+ <value>8</value>
638
+ <value>9</value>
639
+ <value>9</value>
640
+ <value>9</value>
641
+ <value>8</value>
642
+ <value>7</value>
643
+ <value>7</value>
644
+ <value>5</value>
645
+ <value>5</value>
646
+ <value>4</value>
647
+ <value>5</value>
648
+ <value>4</value>
649
+ <value>2</value>
650
+ <value>3</value>
651
+ <value>2</value>
652
+ <value>3</value>
653
+ <value>5</value>
654
+ <value>8</value>
655
+ <value>10</value>
656
+ <value>5</value>
657
+ </wind-speed>
658
+ <weather time-layout="k-p3h-n38-4">
659
+ <name>Weather Type, Coverage, and Intensity</name>
660
+ <weather-conditions/>
661
+ <weather-conditions/>
662
+ <weather-conditions/>
663
+ <weather-conditions/>
664
+ <weather-conditions/>
665
+ <weather-conditions/>
666
+ <weather-conditions/>
667
+ <weather-conditions/>
668
+ <weather-conditions/>
669
+ <weather-conditions/>
670
+ <weather-conditions/>
671
+ <weather-conditions/>
672
+ <weather-conditions/>
673
+ <weather-conditions/>
674
+ <weather-conditions/>
675
+ <weather-conditions/>
676
+ <weather-conditions/>
677
+ <weather-conditions/>
678
+ <weather-conditions/>
679
+ <weather-conditions/>
680
+ <weather-conditions/>
681
+ <weather-conditions>
682
+ <value coverage="slight chance" intensity="light" weather-type="rain showers" qualifier="none">
683
+ <visibility units="meters">8.05</visibility>
684
+ </value>
685
+ </weather-conditions>
686
+ <weather-conditions>
687
+ <value coverage="slight chance" intensity="light" weather-type="rain showers" qualifier="none">
688
+ <visibility units="meters">8.05</visibility>
689
+ </value>
690
+ </weather-conditions>
691
+ <weather-conditions>
692
+ <value coverage="slight chance" intensity="light" weather-type="rain showers" qualifier="none">
693
+ <visibility units="meters">8.05</visibility>
694
+ </value>
695
+ </weather-conditions>
696
+ <weather-conditions>
697
+ <value coverage="slight chance" intensity="light" weather-type="rain showers" qualifier="none">
698
+ <visibility units="meters">8.05</visibility>
699
+ </value>
700
+ </weather-conditions>
701
+ <weather-conditions>
702
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none">
703
+ <visibility units="meters">8.05</visibility>
704
+ </value>
705
+ </weather-conditions>
706
+ <weather-conditions>
707
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none">
708
+ <visibility units="meters">8.05</visibility>
709
+ </value>
710
+ </weather-conditions>
711
+ <weather-conditions>
712
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none">
713
+ <visibility units="meters">8.05</visibility>
714
+ </value>
715
+ </weather-conditions>
716
+ <weather-conditions>
717
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none">
718
+ <visibility units="meters">8.05</visibility>
719
+ </value>
720
+ </weather-conditions>
721
+ <weather-conditions>
722
+ <value coverage="slight chance" intensity="light" weather-type="rain showers" qualifier="none">
723
+ <visibility units="meters">8.05</visibility>
724
+ </value>
725
+ </weather-conditions>
726
+ <weather-conditions/>
727
+ <weather-conditions/>
728
+ <weather-conditions/>
729
+ <weather-conditions/>
730
+ <weather-conditions/>
731
+ <weather-conditions>
732
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none">
733
+ <visibility units="meters">8.05</visibility>
734
+ </value>
735
+ </weather-conditions>
736
+ <weather-conditions>
737
+ <value coverage="chance" intensity="light" weather-type="rain" qualifier="none">
738
+ <visibility units="meters">8.05</visibility>
739
+ </value>
740
+ </weather-conditions>
741
+ <weather-conditions>
742
+ <value coverage="slight chance" intensity="light" weather-type="rain showers" qualifier="none">
743
+ <visibility units="meters">8.05</visibility>
744
+ </value>
745
+ </weather-conditions>
746
+ </weather>
747
+ </parameters>
748
+ </data>
749
+ </dwml>