noaa_weather_client 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +1 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/.yardopts +2 -0
  8. data/Gemfile +8 -0
  9. data/LICENSE.txt +22 -0
  10. data/README.md +107 -0
  11. data/Rakefile +8 -0
  12. data/bin/noaa_weather_client +43 -0
  13. data/data/xml/current_observation.xsd +79 -0
  14. data/data/xml/dwml.xsd +97 -0
  15. data/data/xml/location.xsd +142 -0
  16. data/data/xml/meta_data.xsd +100 -0
  17. data/data/xml/moreWeatherInformation.xsd +23 -0
  18. data/data/xml/ndfd_data.xsd +43 -0
  19. data/data/xml/parameters.xsd +1173 -0
  20. data/data/xml/summarizationType.xsd +29 -0
  21. data/data/xml/time_layout.xsd +51 -0
  22. data/lib/noaa_weather_client.rb +9 -0
  23. data/lib/noaa_weather_client/cli.rb +53 -0
  24. data/lib/noaa_weather_client/cli/templates.rb +53 -0
  25. data/lib/noaa_weather_client/client.rb +61 -0
  26. data/lib/noaa_weather_client/errors.rb +7 -0
  27. data/lib/noaa_weather_client/responses/current_observation.rb +93 -0
  28. data/lib/noaa_weather_client/responses/forecast.rb +84 -0
  29. data/lib/noaa_weather_client/responses/generic_response.rb +9 -0
  30. data/lib/noaa_weather_client/responses/lat_lon_list.rb +25 -0
  31. data/lib/noaa_weather_client/responses/reactive_xml_response.rb +29 -0
  32. data/lib/noaa_weather_client/responses/station.rb +28 -0
  33. data/lib/noaa_weather_client/responses/stations.rb +41 -0
  34. data/lib/noaa_weather_client/responses/validatable_xml_response.rb +22 -0
  35. data/lib/noaa_weather_client/rest_client_factory.rb +12 -0
  36. data/lib/noaa_weather_client/services/calculate_distance_between_lat_lon.rb +20 -0
  37. data/lib/noaa_weather_client/services/current_observations.rb +32 -0
  38. data/lib/noaa_weather_client/services/find_nearest_station.rb +16 -0
  39. data/lib/noaa_weather_client/services/forecast_by_day.rb +52 -0
  40. data/lib/noaa_weather_client/services/postal_code_to_coordinate.rb +36 -0
  41. data/lib/noaa_weather_client/services/rest_service.rb +28 -0
  42. data/lib/noaa_weather_client/services/soap_service.rb +16 -0
  43. data/lib/noaa_weather_client/services/weather_stations.rb +32 -0
  44. data/lib/noaa_weather_client/soap_client_factory.rb +17 -0
  45. data/lib/noaa_weather_client/station_filters.rb +8 -0
  46. data/lib/noaa_weather_client/version.rb +3 -0
  47. data/lib/noaa_weather_client/xml_parser_factory.rb +9 -0
  48. data/noaa_weather_client.gemspec +27 -0
  49. data/spec/fixtures/vcr_cassettes/current_observations.yml +25890 -0
  50. data/spec/fixtures/vcr_cassettes/forecast_by_day_3.yml +772 -0
  51. data/spec/fixtures/vcr_cassettes/forecast_by_day_7.yml +829 -0
  52. data/spec/fixtures/vcr_cassettes/nearest_weather_station.yml +25842 -0
  53. data/spec/fixtures/vcr_cassettes/postal_code_to_coordinate.yml +75 -0
  54. data/spec/fixtures/vcr_cassettes/weather_stations.yml +25842 -0
  55. data/spec/fixtures/xml/forecast.xml +144 -0
  56. data/spec/lib/noaa_client/client_spec.rb +93 -0
  57. data/spec/lib/noaa_client/responses/current_observation_spec.rb +122 -0
  58. data/spec/lib/noaa_client/responses/forecast_spec.rb +66 -0
  59. data/spec/lib/noaa_client/responses/lat_lon_list_spec.rb +30 -0
  60. data/spec/lib/noaa_client/responses/station_spec.rb +53 -0
  61. data/spec/lib/noaa_client/responses/stations_spec.rb +86 -0
  62. data/spec/lib/noaa_client/rest_client_factory_spec.rb +15 -0
  63. data/spec/lib/noaa_client/services/calculate_distance_between_lat_lon_spec.rb +16 -0
  64. data/spec/lib/noaa_client/services/current_observations_spec.rb +47 -0
  65. data/spec/lib/noaa_client/services/find_nearest_station_spec.rb +36 -0
  66. data/spec/lib/noaa_client/services/forecast_by_day_spec.rb +62 -0
  67. data/spec/lib/noaa_client/services/postal_code_to_coordinate_spec.rb +41 -0
  68. data/spec/lib/noaa_client/services/rest_service_spec.rb +45 -0
  69. data/spec/lib/noaa_client/services/soap_service_spec.rb +56 -0
  70. data/spec/lib/noaa_client/services/weather_stations_spec.rb +40 -0
  71. data/spec/lib/noaa_client/soap_client_factory_spec.rb +13 -0
  72. data/spec/lib/noaa_client/xml_parser_factory_spec.rb +14 -0
  73. data/spec/spec_helper.rb +31 -0
  74. metadata +228 -0
@@ -0,0 +1,829 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl
6
+ body:
7
+ encoding: UTF-8
8
+ string: ""
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - Apache/2.2.15 (Red Hat)
23
+ Last-Modified:
24
+ - Thu, 15 Aug 2013 20:49:00 GMT
25
+ Accept-Ranges:
26
+ - bytes
27
+ Content-Length:
28
+ - "28697"
29
+ Content-Type:
30
+ - application/wsdl+xml
31
+ Date:
32
+ - Wed, 26 Feb 2014 21:45:25 GMT
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: |
38
+ <?xml version="1.0"?>
39
+
40
+ <!-- **********************************************************************
41
+
42
+ ndfdXML.wsdl
43
+
44
+ John L. Schattel MDL 4 July 2007
45
+ Aniesha L. Alford
46
+ Red Hat Linux Apache Server
47
+
48
+ SOURCE CODE CONTROL INFORMATION
49
+
50
+ Name:
51
+ %PM%
52
+ %PID%
53
+
54
+ Status:
55
+ %PS%
56
+
57
+ History:
58
+ %PL%
59
+
60
+ Change Document History:
61
+ %PIRC%
62
+
63
+ ************************************************************************* -->
64
+
65
+ <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
66
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
67
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
68
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
69
+ xmlns:si="http://soapinterop.org/xsd"
70
+ xmlns:tns="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl"
71
+ xmlns:typens="http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd"
72
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
73
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
74
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
75
+ targetNamespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl">
76
+ <types>
77
+ <xsd:schema targetNamespace="http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd">
78
+ <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
79
+ <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
80
+
81
+ <xsd:simpleType name="sectorType">
82
+ <xsd:restriction base='xsd:string'>
83
+ <xsd:enumeration value='conus'/>
84
+ <xsd:enumeration value='nhemi'/>
85
+ <xsd:enumeration value='alaska'/>
86
+ <xsd:enumeration value='guam'/>
87
+ <xsd:enumeration value='hawaii'/>
88
+ <xsd:enumeration value='puertori'/>
89
+ <xsd:enumeration value='npacocn'/>
90
+ </xsd:restriction>
91
+ </xsd:simpleType>
92
+
93
+ <xsd:simpleType name="unitType">
94
+ <xsd:restriction base='xsd:string'>
95
+ <xsd:enumeration value='e'/>
96
+ <xsd:enumeration value='m'/>
97
+ </xsd:restriction>
98
+ </xsd:simpleType>
99
+
100
+ <xsd:simpleType name="formatType">
101
+ <xsd:restriction base='xsd:string'>
102
+ <xsd:enumeration value='24 hourly'/>
103
+ <xsd:enumeration value='12 hourly'/>
104
+ </xsd:restriction>
105
+ </xsd:simpleType>
106
+
107
+ <xsd:simpleType name="productType">
108
+ <xsd:restriction base='xsd:string'>
109
+ <xsd:enumeration value='time-series'/>
110
+ <xsd:enumeration value='glance'/>
111
+ </xsd:restriction>
112
+ </xsd:simpleType>
113
+
114
+ <xsd:simpleType name="latLonPairType">
115
+ <xsd:restriction base='xsd:string'>
116
+ <xsd:pattern value="[\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+" />
117
+ </xsd:restriction>
118
+ </xsd:simpleType>
119
+
120
+ <xsd:simpleType name="listLatLonType">
121
+ <xsd:restriction base='xsd:string'>
122
+ <xsd:pattern value="[\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+( [\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+)*" />
123
+ </xsd:restriction>
124
+ </xsd:simpleType>
125
+
126
+ <xsd:simpleType name="zipCodeType">
127
+ <xsd:restriction base='xsd:string'>
128
+ <xsd:pattern value="\d{5}(\-\d{4})?" />
129
+ </xsd:restriction>
130
+ </xsd:simpleType>
131
+
132
+ <xsd:simpleType name="zipCodeListType">
133
+ <xsd:restriction base='xsd:string'>
134
+ <xsd:pattern value="\d{5}(\-\d{4})?( \d{5}(\-\d{4})?)*" />
135
+ </xsd:restriction>
136
+ </xsd:simpleType>
137
+
138
+ <xsd:simpleType name="featureTypeType">
139
+ <xsd:restriction base='xsd:string'>
140
+ <xsd:enumeration value='Forecast_Gml2Point'/>
141
+ <xsd:enumeration value='Forecast_Gml2AllWx'/>
142
+ <xsd:enumeration value='Forecast_GmlsfPoint'/>
143
+ <xsd:enumeration value='Forecast_GmlObs'/>
144
+ <xsd:enumeration value='NdfdMultiPointCoverage'/>
145
+ <xsd:enumeration value='Ndfd_KmlPoint'/>
146
+ </xsd:restriction>
147
+ </xsd:simpleType>
148
+
149
+ <xsd:simpleType name="compTypeType">
150
+ <xsd:restriction base='xsd:string'>
151
+ <xsd:enumeration value='IsEqual'/>
152
+ <xsd:enumeration value='Between'/>
153
+ <xsd:enumeration value='GreaterThan'/>
154
+ <xsd:enumeration value='GreaterThanEqualTo'/>
155
+ <xsd:enumeration value='LessThan'/>
156
+ <xsd:enumeration value='LessThanEqualTo'/>
157
+ </xsd:restriction>
158
+ </xsd:simpleType>
159
+
160
+ <xsd:simpleType name="listCityNamesType">
161
+ <xsd:restriction base='xsd:string'>
162
+ <xsd:pattern value="[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z](\|[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z])*" />
163
+ </xsd:restriction>
164
+ </xsd:simpleType>
165
+
166
+ <xsd:simpleType name="displayLevelType">
167
+ <xsd:restriction base='xsd:integer'>
168
+ <xsd:enumeration value='1'/>
169
+ <xsd:enumeration value='2'/>
170
+ <xsd:enumeration value='3'/>
171
+ <xsd:enumeration value='4'/>
172
+ <xsd:enumeration value='12'/>
173
+ <xsd:enumeration value='34'/>
174
+ <xsd:enumeration value='1234'/>
175
+ </xsd:restriction>
176
+ </xsd:simpleType>
177
+
178
+ <xsd:complexType name="weatherParametersType">
179
+ <xsd:all>
180
+ <xsd:element name="maxt" type="xsd:boolean"/>
181
+ <xsd:element name="mint" type="xsd:boolean"/>
182
+ <xsd:element name="temp" type="xsd:boolean"/>
183
+ <xsd:element name="dew" type="xsd:boolean"/>
184
+ <xsd:element name="pop12" type="xsd:boolean"/>
185
+ <xsd:element name="qpf" type="xsd:boolean"/>
186
+ <xsd:element name="sky" type="xsd:boolean"/>
187
+ <xsd:element name="snow" type="xsd:boolean"/>
188
+ <xsd:element name="wspd" type="xsd:boolean"/>
189
+ <xsd:element name="wdir" type="xsd:boolean"/>
190
+ <xsd:element name="wx" type="xsd:boolean"/>
191
+ <xsd:element name="waveh" type="xsd:boolean"/>
192
+ <xsd:element name="icons" type="xsd:boolean"/>
193
+ <xsd:element name="rh" type="xsd:boolean"/>
194
+ <xsd:element name="appt" type="xsd:boolean"/>
195
+ <xsd:element name="incw34" type="xsd:boolean"/>
196
+ <xsd:element name="incw50" type="xsd:boolean"/>
197
+ <xsd:element name="incw64" type="xsd:boolean"/>
198
+ <xsd:element name="cumw34" type="xsd:boolean"/>
199
+ <xsd:element name="cumw50" type="xsd:boolean"/>
200
+ <xsd:element name="cumw64" type="xsd:boolean"/>
201
+ <xsd:element name="critfireo" type="xsd:boolean"/>
202
+ <xsd:element name="dryfireo" type="xsd:boolean"/>
203
+ <xsd:element name="conhazo" type="xsd:boolean"/>
204
+ <xsd:element name="ptornado" type="xsd:boolean"/>
205
+ <xsd:element name="phail" type="xsd:boolean"/>
206
+ <xsd:element name="ptstmwinds" type="xsd:boolean"/>
207
+ <xsd:element name="pxtornado" type="xsd:boolean"/>
208
+ <xsd:element name="pxhail" type="xsd:boolean"/>
209
+ <xsd:element name="pxtstmwinds" type="xsd:boolean"/>
210
+ <xsd:element name="ptotsvrtstm" type="xsd:boolean"/>
211
+ <xsd:element name="pxtotsvrtstm" type="xsd:boolean"/>
212
+ <xsd:element name="tmpabv14d" type="xsd:boolean"/>
213
+ <xsd:element name="tmpblw14d" type="xsd:boolean"/>
214
+ <xsd:element name="tmpabv30d" type="xsd:boolean"/>
215
+ <xsd:element name="tmpblw30d" type="xsd:boolean"/>
216
+ <xsd:element name="tmpabv90d" type="xsd:boolean"/>
217
+ <xsd:element name="tmpblw90d" type="xsd:boolean"/>
218
+ <xsd:element name="prcpabv14d" type="xsd:boolean"/>
219
+ <xsd:element name="prcpblw14d" type="xsd:boolean"/>
220
+ <xsd:element name="prcpabv30d" type="xsd:boolean"/>
221
+ <xsd:element name="prcpblw30d" type="xsd:boolean"/>
222
+ <xsd:element name="prcpabv90d" type="xsd:boolean"/>
223
+ <xsd:element name="prcpblw90d" type="xsd:boolean"/>
224
+ <xsd:element name="precipa_r" type="xsd:boolean"/>
225
+ <xsd:element name="sky_r" type="xsd:boolean"/>
226
+ <xsd:element name="td_r" type="xsd:boolean"/>
227
+ <xsd:element name="temp_r" type="xsd:boolean"/>
228
+ <xsd:element name="wdir_r" type="xsd:boolean"/>
229
+ <xsd:element name="wspd_r" type="xsd:boolean"/>
230
+ <xsd:element name="wwa" type="xsd:boolean"/>
231
+ <xsd:element name="tstmprb" type="xsd:boolean"/>
232
+ <xsd:element name="tstmcat" type="xsd:boolean"/>
233
+ <xsd:element name="wgust" type="xsd:boolean"/>
234
+ <xsd:element name="iceaccum" type="xsd:boolean"/>
235
+ <xsd:element name="maxrh" type="xsd:boolean"/>
236
+ <xsd:element name="minrh" type="xsd:boolean"/>
237
+ </xsd:all>
238
+ </xsd:complexType>
239
+
240
+ </xsd:schema>
241
+ </types>
242
+
243
+ <message name="NDFDgenRequest">
244
+ <part name="latitude" type="xsd:decimal" />
245
+ <part name="longitude" type="xsd:decimal" />
246
+ <part name="product" type="typens:productType" />
247
+ <part name="startTime" type="xsd:dateTime" />
248
+ <part name="endTime" type="xsd:dateTime" />
249
+ <part name="Unit" type="typens:unitType" />
250
+ <part name="weatherParameters" type="typens:weatherParametersType" />
251
+ </message>
252
+
253
+ <message name="NDFDgenResponse">
254
+ <part name="dwmlOut" type="xsd:string" />
255
+ </message>
256
+
257
+ <message name="NDFDgenLatLonListRequest">
258
+ <part name="listLatLon" type="typens:listLatLonType" />
259
+ <part name="product" type="typens:productType" />
260
+ <part name="startTime" type="xsd:dateTime" />
261
+ <part name="endTime" type="xsd:dateTime" />
262
+ <part name="Unit" type="typens:unitType" />
263
+ <part name="weatherParameters" type="typens:weatherParametersType" />
264
+ </message>
265
+
266
+ <message name="NDFDgenLatLonListResponse">
267
+ <part name="dwmlOut" type="xsd:string" />
268
+ </message>
269
+
270
+ <message name="LatLonListSubgridRequest">
271
+ <part name="lowerLeftLatitude" type="xsd:decimal" />
272
+ <part name="lowerLeftLongitude" type="xsd:decimal" />
273
+ <part name="upperRightLatitude" type="xsd:decimal" />
274
+ <part name="upperRightLongitude" type="xsd:decimal" />
275
+ <part name="resolution" type="xsd:decimal" />
276
+ </message>
277
+
278
+ <message name="LatLonListSubgridResponse">
279
+ <part name="listLatLonOut" type="typens:listLatLonType" />
280
+ </message>
281
+
282
+ <message name="LatLonListLineRequest">
283
+ <part name="endPoint1Lat" type="xsd:decimal" />
284
+ <part name="endPoint1Lon" type="xsd:decimal" />
285
+ <part name="endPoint2Lat" type="xsd:decimal" />
286
+ <part name="endPoint2Lon" type="xsd:decimal" />
287
+ </message>
288
+
289
+ <message name="LatLonListLineResponse">
290
+ <part name="listLatLonOut" type="typens:listLatLonType" />
291
+ </message>
292
+
293
+ <message name="LatLonListZipCodeRequest">
294
+ <part name="zipCodeList" type="typens:zipCodeListType" />
295
+ </message>
296
+
297
+ <message name="LatLonListZipCodeResponse">
298
+ <part name="listLatLonOut" type="typens:listLatLonType" />
299
+ </message>
300
+
301
+ <message name="LatLonListSquareRequest">
302
+ <part name="centerPointLat" type="xsd:decimal" />
303
+ <part name="centerPointLon" type="xsd:decimal" />
304
+ <part name="distanceLat" type="xsd:decimal" />
305
+ <part name="distanceLon" type="xsd:decimal" />
306
+ <part name="resolution" type="xsd:decimal" />
307
+ </message>
308
+
309
+ <message name="LatLonListSquareResponse">
310
+ <part name="listLatLonOut" type="typens:listLatLonType" />
311
+ </message>
312
+
313
+ <message name="CornerPointsRequest">
314
+ <part name="sector" type="typens:sectorType" />
315
+ </message>
316
+
317
+ <message name="CornerPointsResponse">
318
+ <part name="listLatLonOut" type="typens:listLatLonType" />
319
+ </message>
320
+
321
+ <message name="LatLonListCityNamesRequest">
322
+ <part name="displayLevel" type="typens:displayLevelType" />
323
+ </message>
324
+
325
+ <message name="LatLonListCityNamesResponse">
326
+ <part name="listCityNamesOut" type="typens:listCityNamesType" />
327
+ </message>
328
+
329
+ <message name="NDFDgenByDayRequest">
330
+ <part name="latitude" type="xsd:decimal" />
331
+ <part name="longitude" type="xsd:decimal" />
332
+ <part name="startDate" type="xsd:date" />
333
+ <part name="numDays" type="xsd:integer" />
334
+ <part name="Unit" type="typens:unitType" />
335
+ <part name="format" type="typens:formatType" />
336
+ </message>
337
+
338
+ <message name="NDFDgenByDayResponse">
339
+ <part name="dwmlByDayOut" type="xsd:string" />
340
+ </message>
341
+
342
+ <message name="NDFDgenByDayLatLonListRequest">
343
+ <part name="listLatLon" type="typens:listLatLonType" />
344
+ <part name="startDate" type="xsd:date" />
345
+ <part name="numDays" type="xsd:integer" />
346
+ <part name="Unit" type="typens:unitType" />
347
+ <part name="format" type="typens:formatType" />
348
+ </message>
349
+
350
+ <message name="NDFDgenByDayLatLonListResponse">
351
+ <part name="dwmlByDayOut" type="xsd:string" />
352
+ </message>
353
+
354
+ <message name="GmlLatLonListRequest">
355
+ <part name="listLatLon" type="typens:listLatLonType" />
356
+ <part name="requestedTime" type="xsd:dateTime" />
357
+ <part name="featureType" type="typens:featureTypeType" />
358
+ <part name="weatherParameters" type="typens:weatherParametersType" />
359
+ </message>
360
+
361
+ <message name="GmlLatLonListResponse">
362
+ <part name="dwGmlOut" type="xsd:string" />
363
+ </message>
364
+
365
+ <message name="GmlTimeSeriesRequest">
366
+ <part name="listLatLon" type="typens:listLatLonType" />
367
+ <part name="startTime" type="xsd:dateTime" />
368
+ <part name="endTime" type="xsd:dateTime" />
369
+ <part name="compType" type="typens:compTypeType" />
370
+ <part name="featureType" type="typens:featureTypeType" />
371
+ <part name="propertyName" type="xsd:string" />
372
+ </message>
373
+
374
+ <message name="GmlTimeSeriesResponse">
375
+ <part name="dwGmlOut" type="xsd:string" />
376
+ </message>
377
+
378
+ <portType name="ndfdXMLPortType">
379
+
380
+ <operation name="NDFDgen">
381
+ <documentation>Returns National Weather Service digital weather forecast data</documentation>
382
+ <input message="tns:NDFDgenRequest"/>
383
+ <output message="tns:NDFDgenResponse"/>
384
+ </operation>
385
+
386
+ <operation name="NDFDgenByDay">
387
+ <documentation>Returns National Weather Service digital weather forecast data summarized over either 24- or 12-hourly periods</documentation>
388
+ <input message="tns:NDFDgenByDayRequest"/>
389
+ <output message="tns:NDFDgenByDayResponse"/>
390
+ </operation>
391
+
392
+ <operation name="NDFDgenLatLonList">
393
+ <documentation>Returns National Weather Service digital weather forecast data</documentation>
394
+ <input message="tns:NDFDgenLatLonListRequest"/>
395
+ <output message="tns:NDFDgenLatLonListResponse"/>
396
+ </operation>
397
+
398
+ <operation name="NDFDgenByDayLatLonList">
399
+ <documentation>Returns National Weather Service digital weather forecast data summarized over either 24- or 12-hourly periods</documentation>
400
+ <input message="tns:NDFDgenByDayLatLonListRequest"/>
401
+ <output message="tns:NDFDgenByDayLatLonListResponse"/>
402
+ </operation>
403
+
404
+ <operation name="GmlLatLonList">
405
+ <documentation>Returns National Weather Service digital weather forecast data encoded in GML for a single time</documentation>
406
+ <input message="tns:GmlLatLonListRequest"/>
407
+ <output message="tns:GmlLatLonListResponse"/>
408
+ </operation>
409
+
410
+ <operation name="GmlTimeSeries">
411
+ <documentation>Returns National Weather Service digital weather forecast data encoded in GML for a time period</documentation>
412
+ <input message="tns:GmlTimeSeriesRequest"/>
413
+ <output message="tns:GmlTimeSeriesResponse"/>
414
+ </operation>
415
+
416
+ <operation name="LatLonListSubgrid">
417
+ <documentation>Returns a list of latitude and longitude pairs in a rectangular subgrid defined by the lower left and upper right points</documentation>
418
+ <input message="tns:LatLonListSubgridRequest"/>
419
+ <output message="tns:LatLonListSubgridResponse"/>
420
+ </operation>
421
+
422
+ <operation name="LatLonListLine">
423
+ <documentation>Returns a list of latitude and longitude pairs along a line defined by the latitude and longitude of the 2 endpoints</documentation>
424
+ <input message="tns:LatLonListLineRequest"/>
425
+ <output message="tns:LatLonListLineResponse"/>
426
+ </operation>
427
+
428
+ <operation name="LatLonListZipCode">
429
+ <documentation>Returns a list of latitude and longitude pairs with each pair corresponding to an input zip code.</documentation>
430
+ <input message="tns:LatLonListZipCodeRequest"/>
431
+ <output message="tns:LatLonListZipCodeResponse"/>
432
+ </operation>
433
+
434
+ <operation name="LatLonListSquare">
435
+ <documentation>Returns a list of latitude and longitude pairs in a rectangle defined by a central point and distance from that point in the latitudinal and longitudinal directions</documentation>
436
+ <input message="tns:LatLonListSquareRequest"/>
437
+ <output message="tns:LatLonListSquareResponse"/>
438
+ </operation>
439
+
440
+ <operation name="CornerPoints">
441
+ <documentation>Returns four latitude and longitude pairs for corners of an NDFD grid and the minimum resolution that will return the entire grid</documentation>
442
+ <input message="tns:CornerPointsRequest"/>
443
+ <output message="tns:CornerPointsResponse"/>
444
+ </operation>
445
+
446
+ <operation name="LatLonListCityNames">
447
+ <documentation>Returns a list of latitude and longitude pairs paired with the city names they correspond to</documentation>
448
+ <input message="tns:LatLonListCityNamesRequest"/>
449
+ <output message="tns:LatLonListCityNamesResponse"/>
450
+ </operation>
451
+
452
+ </portType>
453
+
454
+ <binding name="ndfdXMLBinding" type="tns:ndfdXMLPortType">
455
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
456
+
457
+ <operation name="NDFDgen">
458
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#NDFDgen" style="rpc"/>
459
+ <input>
460
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
461
+ </input>
462
+ <output>
463
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
464
+ </output>
465
+ </operation>
466
+
467
+ <operation name="NDFDgenByDay">
468
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#NDFDgenByDay" style="rpc"/>
469
+ <input>
470
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
471
+ </input>
472
+ <output>
473
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
474
+ </output>
475
+ </operation>
476
+
477
+ <operation name="NDFDgenLatLonList">
478
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#NDFDgenLatLonList" style="rpc"/>
479
+ <input>
480
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
481
+ </input>
482
+ <output>
483
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
484
+ </output>
485
+ </operation>
486
+
487
+ <operation name="NDFDgenByDayLatLonList">
488
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#NDFDgenByDayLatLonList" style="rpc"/>
489
+ <input>
490
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
491
+ </input>
492
+ <output>
493
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
494
+ </output>
495
+ </operation>
496
+
497
+ <operation name="GmlLatLonList">
498
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#GmlLatLonList" style="rpc"/>
499
+ <input>
500
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
501
+ </input>
502
+ <output>
503
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
504
+ </output>
505
+ </operation>
506
+
507
+ <operation name="GmlTimeSeries">
508
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#GmlTimeSeries" style="rpc"/>
509
+ <input>
510
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
511
+ </input>
512
+ <output>
513
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
514
+ </output>
515
+ </operation>
516
+
517
+ <operation name="LatLonListSubgrid">
518
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListSubgrid" style="rpc"/>
519
+ <input>
520
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
521
+ </input>
522
+ <output>
523
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
524
+ </output>
525
+ </operation>
526
+
527
+ <operation name="LatLonListLine">
528
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListLine" style="rpc"/>
529
+ <input>
530
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
531
+ </input>
532
+ <output>
533
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
534
+ </output>
535
+ </operation>
536
+
537
+ <operation name="LatLonListZipCode">
538
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListZipCode" style="rpc"/>
539
+ <input>
540
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
541
+ </input>
542
+ <output>
543
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
544
+ </output>
545
+ </operation>
546
+
547
+ <operation name="LatLonListSquare">
548
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListSquare" style="rpc"/>
549
+ <input>
550
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
551
+ </input>
552
+ <output>
553
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
554
+ </output>
555
+ </operation>
556
+
557
+ <operation name="CornerPoints">
558
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#CornerPoints" style="rpc"/>
559
+ <input>
560
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
561
+ </input>
562
+ <output>
563
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
564
+ </output>
565
+ </operation>
566
+
567
+ <operation name="LatLonListCityNames">
568
+ <soap:operation soapAction="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListCityNames" style="rpc"/>
569
+ <input>
570
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
571
+ </input>
572
+ <output>
573
+ <soap:body use="encoded" namespace="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
574
+ </output>
575
+ </operation>
576
+
577
+ </binding>
578
+
579
+ <service name="ndfdXML">
580
+ <documentation>The service has 12 exposed functions, NDFDgen, NDFDgenLatLonList, NDFDgenByDay, NDFDgenByDayLatLonList,
581
+ LatLonListSubgrid, LatLonListLine, LatLonListZipCode, CornerPoints, LatLonListSquare, GmlLatLonList, GmlTimeSeries, and LatLonListCityNames.
582
+ For the NDFDgen function, the client needs to provide a latitude and longitude pair and the product type. The Unit will default
583
+ to U.S. Standard (english) unless Metric is chosen by client. The client also needs to provide the start and end time (Local)
584
+ of the period that it wants data for (if shorter than the 7 days is wanted). For the time-series product, the client needs to
585
+ provide an array of boolean values corresponding to which NDFD values are desired.
586
+ For the NDFDgenByDay function, the client needs to provide a latitude and longitude pair, the date (Local) it wants to start
587
+ retrieving data for and the number of days worth of data. The Unit will default to U.S. Standard (english) unless Metric is
588
+ chosen by client. The client also needs to provide the format that is desired.
589
+ For the multi point versions, NDFDgenLatLonList and NDFDgenByDayLatLonList a space delimited list of latitude and longitude
590
+ pairs are substituted for the single latitude and longitude input. Each latitude and longitude
591
+ pair is composed of a latitude and longitude delimited by a comma.
592
+ For the LatLonListSubgrid, the user provides a comma delimited latitude and longitude pair for the lower left and for
593
+ the upper right corners of a rectangular subgrid. The function can also take a integer
594
+ resolution to reduce the number of grid points returned. The service then returns a list of
595
+ latitude and longitude pairs for all the grid points contained in the subgrid.
596
+ weather values should appear in the time series product.
597
+ For the LatLonListLine, The inputs are the same as the function NDFDgen except the latitude and longitude pair is
598
+ replaced by two latitude and longitude pairs, one for each end point a line. The two points are delimited with a space.
599
+ The service then returns data for all the NDFD points on the line formed by the two points.
600
+ For the LatLonListZipCode function, the input is the same as the NDFDgen function except the latitude and longitude values
601
+ are relaced by a zip code for the 50 United States and Puerto Rico.
602
+ For the LatLonListSquare function, the input is the same as the NDFDgen function except the latitude and longitude values
603
+ are relaced by a zip code for the 50 United States and Puerto Rico.
604
+ For the CornerPoints function, the service requires a valid NDFD grid name. The function returns a
605
+ list of four latitude and longitude pairs, one for each corner of the NDFD grid. The function
606
+ also returns the minimum resolution required to return the entire grid below the maximum points
607
+ threshold.
608
+ For the GmlLatLonList function, the service requires a list of latitude and longitude pairs, the time (UTC) the user
609
+ wants data for, the GML feature type and the array of boolean values corresponding to which NDFD values are desired.
610
+ For the GmlTimeSeries function, the service requires a list of latitude and longitude pairs, the start and end time (UTC) the user
611
+ wants data for, a comparison type (IsEqual, Between, GreaterThan, GreaterThan, GreaterThanEqualTo, LessThan, and
612
+ LessThanEqualTo), the GML feature type and The input variable "propertyName" contains a comma delimited string of NDFD element to
613
+ indicate which weather parameters are being requested.
614
+ For the LatLonListCityNames function, the services requires a detail level that that ranges from 1 to 4. Level 1 generally represents
615
+ large main cities. Level 2 represents progressively smaller cities or large cities that are close to another even larger city. Levels
616
+ 3 and 4 are part one and two of a list of cities that help increase the areal coverage of the cities dataset. This functions
617
+ returns a list of latitude and longitude values along with a seperate list of city name for those point.</documentation>
618
+
619
+ <port name="ndfdXMLPort" binding="tns:ndfdXMLBinding">
620
+ <soap:address location="http://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php"/>
621
+ </port>
622
+ </service>
623
+
624
+ </definitions>
625
+
626
+ http_version:
627
+ recorded_at: Wed, 26 Feb 2014 21:45:25 GMT
628
+ - request:
629
+ method: post
630
+ uri: http://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php
631
+ body:
632
+ encoding: UTF-8
633
+ string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins0="http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd"><env:Body><tns:NDFDgenByDay><latitude>37.1962</latitude><longitude>-93.2861</longitude><startDate>2014-02-26</startDate><numDays>7</numDays><unit>e</unit><format>24 hourly</format></tns:NDFDgenByDay></env:Body></env:Envelope>
634
+ headers:
635
+ Soapaction:
636
+ - "\"http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#NDFDgenByDay\""
637
+ Content-Type:
638
+ - text/xml;charset=UTF-8
639
+ Content-Length:
640
+ - "571"
641
+ Accept-Encoding:
642
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
643
+ Accept:
644
+ - "*/*"
645
+ User-Agent:
646
+ - Ruby
647
+ response:
648
+ status:
649
+ code: 200
650
+ message: OK
651
+ headers:
652
+ Server:
653
+ - Apache/2.2.15 (Red Hat)
654
+ X-Soap-Server:
655
+ - NuSOAP/0.9.5 (1.123)
656
+ Content-Type:
657
+ - text/xml; charset=ISO-8859-1
658
+ Vary:
659
+ - Accept-Encoding
660
+ Cache-Control:
661
+ - max-age=180
662
+ Expires:
663
+ - Wed, 26 Feb 2014 21:48:25 GMT
664
+ Date:
665
+ - Wed, 26 Feb 2014 21:45:25 GMT
666
+ Content-Length:
667
+ - "11309"
668
+ Connection:
669
+ - keep-alive
670
+ body:
671
+ encoding: UTF-8
672
+ string: |-
673
+ <?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:NDFDgenByDayResponse xmlns:ns1="http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl"><dwmlByDayOut xsi:type="xsd:string">&lt;?xml version=&quot;1.0&quot;?&gt;
674
+ &lt;dwml version=&quot;1.0&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;http://www.nws.noaa.gov/forecasts/xml/DWMLgen/schema/DWML.xsd&quot;&gt;
675
+ &lt;head&gt;
676
+ &lt;product srsName=&quot;WGS 1984&quot; concise-name=&quot;dwmlByDay&quot; operational-mode=&quot;official&quot;&gt;
677
+ &lt;title&gt;NOAA&apos;s National Weather Service Forecast by 24 Hour Period&lt;/title&gt;
678
+ &lt;field&gt;meteorological&lt;/field&gt;
679
+ &lt;category&gt;forecast&lt;/category&gt;
680
+ &lt;creation-date refresh-frequency=&quot;PT1H&quot;&gt;2014-02-26T21:45:25Z&lt;/creation-date&gt;
681
+ &lt;/product&gt;
682
+ &lt;source&gt;
683
+ &lt;more-information&gt;http://www.nws.noaa.gov/forecasts/xml/&lt;/more-information&gt;
684
+ &lt;production-center&gt;Meteorological Development Laboratory&lt;sub-center&gt;Product Generation Branch&lt;/sub-center&gt;&lt;/production-center&gt;
685
+ &lt;disclaimer&gt;http://www.nws.noaa.gov/disclaimer.html&lt;/disclaimer&gt;
686
+ &lt;credit&gt;http://www.weather.gov/&lt;/credit&gt;
687
+ &lt;credit-logo&gt;http://www.weather.gov/images/xml_logo.gif&lt;/credit-logo&gt;
688
+ &lt;feedback&gt;http://www.weather.gov/feedback.php&lt;/feedback&gt;
689
+ &lt;/source&gt;
690
+ &lt;/head&gt;
691
+ &lt;data&gt;
692
+ &lt;location&gt;
693
+ &lt;location-key&gt;point1&lt;/location-key&gt;
694
+ &lt;point latitude=&quot;37.20&quot; longitude=&quot;-93.29&quot;/&gt;
695
+ &lt;/location&gt;
696
+ &lt;moreWeatherInformation applicable-location=&quot;point1&quot;&gt;http://forecast.weather.gov/MapClick.php?textField1=37.20&amp;amp;textField2=-93.29&lt;/moreWeatherInformation&gt;
697
+ &lt;time-layout time-coordinate=&quot;local&quot; summarization=&quot;24hourly&quot;&gt;
698
+ &lt;layout-key&gt;k-p24h-n7-1&lt;/layout-key&gt;
699
+ &lt;start-valid-time&gt;2014-02-26T06:00:00-06:00&lt;/start-valid-time&gt;
700
+ &lt;end-valid-time&gt;2014-02-27T06:00:00-06:00&lt;/end-valid-time&gt;
701
+ &lt;start-valid-time&gt;2014-02-27T06:00:00-06:00&lt;/start-valid-time&gt;
702
+ &lt;end-valid-time&gt;2014-02-28T06:00:00-06:00&lt;/end-valid-time&gt;
703
+ &lt;start-valid-time&gt;2014-02-28T06:00:00-06:00&lt;/start-valid-time&gt;
704
+ &lt;end-valid-time&gt;2014-03-01T06:00:00-06:00&lt;/end-valid-time&gt;
705
+ &lt;start-valid-time&gt;2014-03-01T06:00:00-06:00&lt;/start-valid-time&gt;
706
+ &lt;end-valid-time&gt;2014-03-02T06:00:00-06:00&lt;/end-valid-time&gt;
707
+ &lt;start-valid-time&gt;2014-03-02T06:00:00-06:00&lt;/start-valid-time&gt;
708
+ &lt;end-valid-time&gt;2014-03-03T06:00:00-06:00&lt;/end-valid-time&gt;
709
+ &lt;start-valid-time&gt;2014-03-03T06:00:00-06:00&lt;/start-valid-time&gt;
710
+ &lt;end-valid-time&gt;2014-03-04T06:00:00-06:00&lt;/end-valid-time&gt;
711
+ &lt;start-valid-time&gt;2014-03-04T06:00:00-06:00&lt;/start-valid-time&gt;
712
+ &lt;end-valid-time&gt;2014-03-05T06:00:00-06:00&lt;/end-valid-time&gt;
713
+ &lt;/time-layout&gt;
714
+ &lt;time-layout time-coordinate=&quot;local&quot; summarization=&quot;12hourly&quot;&gt;
715
+ &lt;layout-key&gt;k-p12h-n14-2&lt;/layout-key&gt;
716
+ &lt;start-valid-time&gt;2014-02-26T06:00:00-06:00&lt;/start-valid-time&gt;
717
+ &lt;end-valid-time&gt;2014-02-26T18:00:00-06:00&lt;/end-valid-time&gt;
718
+ &lt;start-valid-time&gt;2014-02-26T18:00:00-06:00&lt;/start-valid-time&gt;
719
+ &lt;end-valid-time&gt;2014-02-27T06:00:00-06:00&lt;/end-valid-time&gt;
720
+ &lt;start-valid-time&gt;2014-02-27T06:00:00-06:00&lt;/start-valid-time&gt;
721
+ &lt;end-valid-time&gt;2014-02-27T18:00:00-06:00&lt;/end-valid-time&gt;
722
+ &lt;start-valid-time&gt;2014-02-27T18:00:00-06:00&lt;/start-valid-time&gt;
723
+ &lt;end-valid-time&gt;2014-02-28T06:00:00-06:00&lt;/end-valid-time&gt;
724
+ &lt;start-valid-time&gt;2014-02-28T06:00:00-06:00&lt;/start-valid-time&gt;
725
+ &lt;end-valid-time&gt;2014-02-28T18:00:00-06:00&lt;/end-valid-time&gt;
726
+ &lt;start-valid-time&gt;2014-02-28T18:00:00-06:00&lt;/start-valid-time&gt;
727
+ &lt;end-valid-time&gt;2014-03-01T06:00:00-06:00&lt;/end-valid-time&gt;
728
+ &lt;start-valid-time&gt;2014-03-01T06:00:00-06:00&lt;/start-valid-time&gt;
729
+ &lt;end-valid-time&gt;2014-03-01T18:00:00-06:00&lt;/end-valid-time&gt;
730
+ &lt;start-valid-time&gt;2014-03-01T18:00:00-06:00&lt;/start-valid-time&gt;
731
+ &lt;end-valid-time&gt;2014-03-02T06:00:00-06:00&lt;/end-valid-time&gt;
732
+ &lt;start-valid-time&gt;2014-03-02T06:00:00-06:00&lt;/start-valid-time&gt;
733
+ &lt;end-valid-time&gt;2014-03-02T18:00:00-06:00&lt;/end-valid-time&gt;
734
+ &lt;start-valid-time&gt;2014-03-02T18:00:00-06:00&lt;/start-valid-time&gt;
735
+ &lt;end-valid-time&gt;2014-03-03T06:00:00-06:00&lt;/end-valid-time&gt;
736
+ &lt;start-valid-time&gt;2014-03-03T06:00:00-06:00&lt;/start-valid-time&gt;
737
+ &lt;end-valid-time&gt;2014-03-03T18:00:00-06:00&lt;/end-valid-time&gt;
738
+ &lt;start-valid-time&gt;2014-03-03T18:00:00-06:00&lt;/start-valid-time&gt;
739
+ &lt;end-valid-time&gt;2014-03-04T06:00:00-06:00&lt;/end-valid-time&gt;
740
+ &lt;start-valid-time&gt;2014-03-04T06:00:00-06:00&lt;/start-valid-time&gt;
741
+ &lt;end-valid-time&gt;2014-03-04T18:00:00-06:00&lt;/end-valid-time&gt;
742
+ &lt;start-valid-time&gt;2014-03-04T18:00:00-06:00&lt;/start-valid-time&gt;
743
+ &lt;end-valid-time&gt;2014-03-05T06:00:00-06:00&lt;/end-valid-time&gt;
744
+ &lt;/time-layout&gt;
745
+ &lt;time-layout time-coordinate=&quot;local&quot; summarization=&quot;24hourly&quot;&gt;
746
+ &lt;layout-key&gt;k-p7d-n1-3&lt;/layout-key&gt;
747
+ &lt;start-valid-time&gt;2014-02-26T06:00:00-06:00&lt;/start-valid-time&gt;
748
+ &lt;end-valid-time&gt;2014-03-05T06:00:00-06:00&lt;/end-valid-time&gt;
749
+ &lt;/time-layout&gt;
750
+ &lt;parameters applicable-location=&quot;point1&quot;&gt;
751
+ &lt;temperature type=&quot;maximum&quot; units=&quot;Fahrenheit&quot; time-layout=&quot;k-p24h-n7-1&quot;&gt;
752
+ &lt;name&gt;Daily Maximum Temperature&lt;/name&gt;
753
+ &lt;value&gt;28&lt;/value&gt;
754
+ &lt;value&gt;37&lt;/value&gt;
755
+ &lt;value&gt;39&lt;/value&gt;
756
+ &lt;value&gt;39&lt;/value&gt;
757
+ &lt;value&gt;26&lt;/value&gt;
758
+ &lt;value&gt;26&lt;/value&gt;
759
+ &lt;value&gt;26&lt;/value&gt;
760
+ &lt;/temperature&gt;
761
+ &lt;temperature type=&quot;minimum&quot; units=&quot;Fahrenheit&quot; time-layout=&quot;k-p24h-n7-1&quot;&gt;
762
+ &lt;name&gt;Daily Minimum Temperature&lt;/name&gt;
763
+ &lt;value&gt;18&lt;/value&gt;
764
+ &lt;value&gt;22&lt;/value&gt;
765
+ &lt;value&gt;26&lt;/value&gt;
766
+ &lt;value&gt;26&lt;/value&gt;
767
+ &lt;value&gt;16&lt;/value&gt;
768
+ &lt;value&gt;11&lt;/value&gt;
769
+ &lt;value xsi:nil=&quot;true&quot;/&gt;
770
+ &lt;/temperature&gt;
771
+ &lt;probability-of-precipitation type=&quot;12 hour&quot; units=&quot;percent&quot; time-layout=&quot;k-p12h-n14-2&quot;&gt;
772
+ &lt;name&gt;12 Hourly Probability of Precipitation&lt;/name&gt;
773
+ &lt;value&gt;20&lt;/value&gt;
774
+ &lt;value&gt;0&lt;/value&gt;
775
+ &lt;value&gt;0&lt;/value&gt;
776
+ &lt;value&gt;6&lt;/value&gt;
777
+ &lt;value&gt;60&lt;/value&gt;
778
+ &lt;value&gt;16&lt;/value&gt;
779
+ &lt;value&gt;25&lt;/value&gt;
780
+ &lt;value&gt;60&lt;/value&gt;
781
+ &lt;value&gt;64&lt;/value&gt;
782
+ &lt;value&gt;43&lt;/value&gt;
783
+ &lt;value&gt;19&lt;/value&gt;
784
+ &lt;value&gt;13&lt;/value&gt;
785
+ &lt;value&gt;11&lt;/value&gt;
786
+ &lt;value xsi:nil=&quot;true&quot;/&gt;
787
+ &lt;/probability-of-precipitation&gt;
788
+ &lt;weather time-layout=&quot;k-p24h-n7-1&quot;&gt;
789
+ &lt;name&gt;Weather Type, Coverage, and Intensity&lt;/name&gt;
790
+ &lt;weather-conditions weather-summary=&quot;Sunny&quot;/&gt;
791
+ &lt;weather-conditions weather-summary=&quot;Mostly Sunny&quot;/&gt;
792
+ &lt;weather-conditions weather-summary=&quot;Sleet Likely&quot;&gt;
793
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; weather-type=&quot;ice pellets&quot; qualifier=&quot;none&quot;/&gt;
794
+ &lt;/weather-conditions&gt;
795
+ &lt;weather-conditions weather-summary=&quot;Wintry Mix Likely&quot;&gt;
796
+ &lt;value coverage=&quot;chance&quot; intensity=&quot;none&quot; weather-type=&quot;thunderstorms&quot; qualifier=&quot;none&quot;/&gt;
797
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; additive=&quot;and&quot; weather-type=&quot;freezing rain&quot; qualifier=&quot;none&quot;/&gt;
798
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; additive=&quot;and&quot; weather-type=&quot;snow&quot; qualifier=&quot;none&quot;/&gt;
799
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; additive=&quot;and&quot; weather-type=&quot;ice pellets&quot; qualifier=&quot;none&quot;/&gt;
800
+ &lt;/weather-conditions&gt;
801
+ &lt;weather-conditions weather-summary=&quot;Wintry Mix Likely&quot;&gt;
802
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; weather-type=&quot;freezing rain&quot; qualifier=&quot;none&quot;/&gt;
803
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; additive=&quot;and&quot; weather-type=&quot;snow&quot; qualifier=&quot;none&quot;/&gt;
804
+ &lt;value coverage=&quot;likely&quot; intensity=&quot;light&quot; additive=&quot;and&quot; weather-type=&quot;ice pellets&quot; qualifier=&quot;none&quot;/&gt;
805
+ &lt;/weather-conditions&gt;
806
+ &lt;weather-conditions weather-summary=&quot;Mostly Cloudy&quot;/&gt;
807
+ &lt;weather-conditions weather-summary=&quot;Mostly Cloudy&quot;/&gt;
808
+ &lt;/weather&gt;
809
+ &lt;conditions-icon type=&quot;forecast-NWS&quot; time-layout=&quot;k-p24h-n7-1&quot;&gt;
810
+ &lt;name&gt;Conditions Icons&lt;/name&gt;
811
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/skc.jpg&lt;/icon-link&gt;
812
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/few.jpg&lt;/icon-link&gt;
813
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/ip60.jpg&lt;/icon-link&gt;
814
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/mix60.jpg&lt;/icon-link&gt;
815
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/mix60.jpg&lt;/icon-link&gt;
816
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/bkn.jpg&lt;/icon-link&gt;
817
+ &lt;icon-link&gt;http://www.nws.noaa.gov/weather/images/fcicons/bkn.jpg&lt;/icon-link&gt;
818
+ &lt;/conditions-icon&gt;
819
+ &lt;hazards time-layout=&quot;k-p7d-n1-3&quot;&gt;
820
+ &lt;name&gt;Watches, Warnings, and Advisories&lt;/name&gt;
821
+ &lt;hazard-conditions xsi:nil=&quot;true&quot;/&gt;
822
+ &lt;/hazards&gt;
823
+ &lt;/parameters&gt;
824
+ &lt;/data&gt;
825
+ &lt;/dwml&gt;
826
+ </dwmlByDayOut></ns1:NDFDgenByDayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
827
+ http_version:
828
+ recorded_at: Wed, 26 Feb 2014 21:45:25 GMT
829
+ recorded_with: VCR 2.8.0