barometer 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0f0ccdc7bdbe2c204520c8e83a96a65e8713218
4
- data.tar.gz: 857448624a6845d4212d5072a04e7e7e804667d8
3
+ metadata.gz: aba54e310507a8264e4d26aae36ad1472068ec02
4
+ data.tar.gz: 34d75870221001f09638c1599b0175ada86ef0f6
5
5
  SHA512:
6
- metadata.gz: e06c1684eb7a0128e885112f24a3f4be74b3232092c76518b2d2c7b9eb1908a18a76727898c2d455d9a765d992cd0246f19c6035849abb557f655f77e12183ad
7
- data.tar.gz: 68bf94862598ae243583813e28e52437ab97b777f4dcfec2c3543786f5b479827eb580f6fcff3254f34b7a7de9e3f65b6cd082f11e35ba75e435ff3548fe283a
6
+ metadata.gz: e9a4326fc090ef2125f4d91346abcf241baeaac0c5da988d708e36934ec5dc40ba235ad42347a9017fdb30281e7821f6ecaa85a3770a58024f93c469479dea60
7
+ data.tar.gz: c7aac93a1ab052cc00e9cda6459effc48ee294d683defeca2e45686327c582ecf77aea03b7c79e476f9317b47c5ed75892d437ea4a3d90ea4ba506fdff41795d
@@ -0,0 +1,13 @@
1
+ {
2
+ "lib/barometer/*.rb": {
3
+ "alternate": "spec/{}_spec.rb",
4
+ "command": "source",
5
+ "template": ["module Barometer", "end"]
6
+ },
7
+ "spec/*_spec.rb": {
8
+ "alternate": "lib/barometer/{}.rb",
9
+ "command": "spec",
10
+ "template": ["require_relative 'spec_helper'", "", "module Barometer", "end"]
11
+ },
12
+ "README.md": { "command": "doc" }
13
+ }
@@ -4,7 +4,6 @@ rvm:
4
4
  - 2.1.0
5
5
  - 2.0.0
6
6
  - 1.9.3
7
- - 1.9.2
8
7
  branches:
9
8
  only:
10
9
  - master
data/README.md CHANGED
@@ -19,7 +19,7 @@ support the query directly. See the "[Queries](#queries)" section for more info.
19
19
 
20
20
  ## Key Features
21
21
 
22
- * works with ruby 1.9.x, 2.x (see
22
+ * works with ruby 1.9.3, 2.x (see
23
23
  [Travis CI status](https://travis-ci.org/attack/barometer) to confirm)
24
24
  * supports 5 weather services, more planned
25
25
  * the same query can be used with any supported weather service
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.rdoc_options = ['--charset=UTF-8']
20
20
 
21
21
  s.platform = Gem::Platform::RUBY
22
- s.required_ruby_version = '>= 1.9.0'
22
+ s.required_ruby_version = '>= 1.9.3'
23
23
 
24
24
  s.add_dependency 'httpclient'
25
25
  s.add_dependency 'tzinfo', '>= 0.3.14'
@@ -1,3 +1,3 @@
1
1
  module Barometer
2
- VERSION = '0.9.5'
2
+ VERSION = '0.9.6'
3
3
  end
@@ -36,4 +36,3 @@ end
36
36
 
37
37
  require_relative 'weather_services/wunderground_v1'
38
38
  require_relative 'weather_services/yahoo'
39
- require_relative 'weather_services/noaa'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barometer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Gangl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-13 00:00:00.000000000 Z
11
+ date: 2014-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -130,6 +130,7 @@ extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
132
  - ".gitignore"
133
+ - ".projections.json"
133
134
  - ".travis.yml"
134
135
  - Gemfile
135
136
  - LICENSE
@@ -225,19 +226,6 @@ files:
225
226
  - lib/barometer/weather.rb
226
227
  - lib/barometer/weather_service.rb
227
228
  - lib/barometer/weather_services/base.rb
228
- - lib/barometer/weather_services/noaa.rb
229
- - lib/barometer/weather_services/noaa/current_api.rb
230
- - lib/barometer/weather_services/noaa/current_query.rb
231
- - lib/barometer/weather_services/noaa/current_response.rb
232
- - lib/barometer/weather_services/noaa/forecast_api.rb
233
- - lib/barometer/weather_services/noaa/forecast_query.rb
234
- - lib/barometer/weather_services/noaa/forecast_response.rb
235
- - lib/barometer/weather_services/noaa/response/current_location.rb
236
- - lib/barometer/weather_services/noaa/response/current_station.rb
237
- - lib/barometer/weather_services/noaa/response/current_weather.rb
238
- - lib/barometer/weather_services/noaa/response/forecasted_weather.rb
239
- - lib/barometer/weather_services/noaa/response/location.rb
240
- - lib/barometer/weather_services/noaa/response/timezone.rb
241
229
  - lib/barometer/weather_services/response.rb
242
230
  - lib/barometer/weather_services/response/location.rb
243
231
  - lib/barometer/weather_services/response/time_zone.rb
@@ -278,7 +266,6 @@ files:
278
266
  - spec/cassettes/Service_ToWoeId.json
279
267
  - spec/cassettes/Service_YahooGeocode.json
280
268
  - spec/cassettes/WeatherService_ForecastIo.json
281
- - spec/cassettes/WeatherService_Noaa.json
282
269
  - spec/cassettes/WeatherService_WundergroundV1.json
283
270
  - spec/cassettes/WeatherService_Yahoo.json
284
271
  - spec/data/attributes/distance_spec.rb
@@ -342,9 +329,6 @@ files:
342
329
  - spec/utils/time_spec.rb
343
330
  - spec/utils/versioned_registration_spec.rb
344
331
  - spec/weather_services/base_spec.rb
345
- - spec/weather_services/noaa/current_response_spec.rb
346
- - spec/weather_services/noaa/forecast_response_spec.rb
347
- - spec/weather_services/noaa_spec.rb
348
332
  - spec/weather_services/wunderground_v1/current_response_spec.rb
349
333
  - spec/weather_services/wunderground_v1/forecast_response_spec.rb
350
334
  - spec/weather_services/wunderground_v1_spec.rb
@@ -365,7 +349,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
365
349
  requirements:
366
350
  - - ">="
367
351
  - !ruby/object:Gem::Version
368
- version: 1.9.0
352
+ version: 1.9.3
369
353
  required_rubygems_version: !ruby/object:Gem::Requirement
370
354
  requirements:
371
355
  - - ">="
@@ -393,7 +377,6 @@ test_files:
393
377
  - spec/cassettes/Service_ToWoeId.json
394
378
  - spec/cassettes/Service_YahooGeocode.json
395
379
  - spec/cassettes/WeatherService_ForecastIo.json
396
- - spec/cassettes/WeatherService_Noaa.json
397
380
  - spec/cassettes/WeatherService_WundergroundV1.json
398
381
  - spec/cassettes/WeatherService_Yahoo.json
399
382
  - spec/data/attributes/distance_spec.rb
@@ -457,9 +440,6 @@ test_files:
457
440
  - spec/utils/time_spec.rb
458
441
  - spec/utils/versioned_registration_spec.rb
459
442
  - spec/weather_services/base_spec.rb
460
- - spec/weather_services/noaa/current_response_spec.rb
461
- - spec/weather_services/noaa/forecast_response_spec.rb
462
- - spec/weather_services/noaa_spec.rb
463
443
  - spec/weather_services/wunderground_v1/current_response_spec.rb
464
444
  - spec/weather_services/wunderground_v1/forecast_response_spec.rb
465
445
  - spec/weather_services/wunderground_v1_spec.rb
@@ -1,33 +0,0 @@
1
- require_relative 'noaa/forecast_api'
2
- require_relative 'noaa/forecast_response'
3
- require_relative 'noaa/current_api'
4
- require_relative 'noaa/current_response'
5
-
6
- module Barometer
7
- module WeatherService
8
- class Noaa
9
- def self.call(query, config={})
10
- Noaa.new(query).measure!
11
- end
12
-
13
- def initialize(query)
14
- @query = query
15
- end
16
-
17
- def measure!
18
- forecast_weather_api = ForecastApi.new(query)
19
- response = ForecastResponse.new.parse(forecast_weather_api.get)
20
- forecast_weather_api.query.add_conversion(:coordinates, response.location.coordinates)
21
-
22
- current_weather_api = CurrentApi.new(forecast_weather_api.query)
23
- CurrentResponse.new(response).parse(current_weather_api.get)
24
- end
25
-
26
- private
27
-
28
- attr_reader :query
29
- end
30
- end
31
- end
32
-
33
- Barometer::WeatherService.register(:noaa, Barometer::WeatherService::Noaa)
@@ -1,25 +0,0 @@
1
- require_relative 'current_query'
2
-
3
- module Barometer
4
- module WeatherService
5
- class Noaa
6
- class CurrentApi < Utils::Api
7
- def initialize(query)
8
- @query = CurrentQuery.new(query)
9
- end
10
-
11
- def url
12
- "http://w1.weather.gov/xml/current_obs/#{@query.to_param}.xml"
13
- end
14
-
15
- def params
16
- nil
17
- end
18
-
19
- def unwrap_nodes
20
- ['current_observation']
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,30 +0,0 @@
1
- require 'delegate'
2
-
3
- module Barometer
4
- module WeatherService
5
- class Noaa
6
- class CurrentQuery < SimpleDelegator
7
- attr_reader :converted_query
8
-
9
- def self.accepted_formats
10
- [:noaa_station_id]
11
- end
12
-
13
- def initialize(query)
14
- super
15
- @converted_query = convert_query
16
- end
17
-
18
- def to_param
19
- converted_query.q
20
- end
21
-
22
- private
23
-
24
- def convert_query
25
- convert!(*self.class.accepted_formats)
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,29 +0,0 @@
1
- require_relative 'response/timezone'
2
- require_relative 'response/current_location'
3
- require_relative 'response/current_station'
4
- require_relative 'response/current_weather'
5
-
6
- module Barometer
7
- module WeatherService
8
- class Noaa
9
- class CurrentResponse
10
- def initialize(response)
11
- @response = response
12
- end
13
-
14
- def parse(payload)
15
- response.timezone = Noaa::Response::TimeZone.new(payload).parse
16
- response.location = Noaa::Response::CurrentLocation.new(payload, response).parse
17
- response.station = Noaa::Response::CurrentStation.new(payload, response).parse
18
- response.current = Noaa::Response::CurrentWeather.new(payload).parse
19
-
20
- response
21
- end
22
-
23
- private
24
-
25
- attr_reader :response
26
- end
27
- end
28
- end
29
- end
@@ -1,25 +0,0 @@
1
- require_relative 'forecast_query'
2
-
3
- module Barometer
4
- module WeatherService
5
- class Noaa
6
- class ForecastApi < Utils::Api
7
- def initialize(query)
8
- @query = ForecastQuery.new(query)
9
- end
10
-
11
- def url
12
- 'http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php'
13
- end
14
-
15
- def params
16
- {format: '24 hourly', numDays: '7'}.merge(@query.to_param)
17
- end
18
-
19
- def unwrap_nodes
20
- ['dwml', 'data']
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,39 +0,0 @@
1
- require 'delegate'
2
-
3
- module Barometer
4
- module WeatherService
5
- class Noaa
6
- class ForecastQuery < SimpleDelegator
7
- attr_reader :converted_query
8
-
9
- def self.accepted_formats
10
- [:zipcode, :coordinates]
11
- end
12
-
13
- def initialize(query)
14
- super
15
- @converted_query = convert_query
16
- end
17
-
18
- def to_param
19
- case converted_query.format.to_sym
20
- when :short_zipcode
21
- {zipCodeList: converted_query.q}
22
- when :zipcode
23
- {zipCodeList: converted_query.q}
24
- when :coordinates
25
- {lat: converted_query.q.split(',')[0], lon: converted_query.q.split(',')[1]}
26
- else
27
- {}
28
- end
29
- end
30
-
31
- private
32
-
33
- def convert_query
34
- convert!(*self.class.accepted_formats)
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,28 +0,0 @@
1
- require_relative 'response/location'
2
- require_relative 'response/forecasted_weather'
3
-
4
- module Barometer
5
- module WeatherService
6
- class Noaa
7
- class ForecastResponse
8
- def initialize
9
- @response = Barometer::Response.new
10
- end
11
-
12
- def parse(payload)
13
- response.add_query(payload.query)
14
-
15
- response.location = Noaa::Response::Location.new(payload).parse
16
- response.station = response.location
17
- response.forecast = Noaa::Response::ForecastedWeather.new(payload).parse
18
-
19
- response
20
- end
21
-
22
- private
23
-
24
- attr_reader :response
25
- end
26
- end
27
- end
28
- end
@@ -1,42 +0,0 @@
1
- module Barometer
2
- module WeatherService
3
- class Noaa
4
- class Response
5
- class CurrentLocation < WeatherService::Response::Location
6
- def initialize(payload, response)
7
- super(payload)
8
- @location = response.location
9
- end
10
-
11
- private
12
-
13
- attr_reader :location
14
-
15
- def name
16
- payload.fetch('location')
17
- end
18
-
19
- def city
20
- payload.using(/^(.*?),/).fetch('location')
21
- end
22
-
23
- def state_code
24
- payload.using(/,(.*?)$/).fetch('location')
25
- end
26
-
27
- def country_code
28
- 'US'
29
- end
30
-
31
- def latitude
32
- location.latitude
33
- end
34
-
35
- def longitude
36
- location.longitude
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,46 +0,0 @@
1
- module Barometer
2
- module WeatherService
3
- class Noaa
4
- class Response
5
- class CurrentStation < WeatherService::Response::Location
6
- def initialize(payload, response)
7
- super(payload)
8
- @station = response.station
9
- end
10
-
11
- private
12
-
13
- attr_reader :station
14
-
15
- def id
16
- payload.fetch('station_id')
17
- end
18
-
19
- def name
20
- payload.fetch('location')
21
- end
22
-
23
- def city
24
- payload.using(/^(.*?),/).fetch('location')
25
- end
26
-
27
- def state_code
28
- payload.using(/,(.*?)$/).fetch('location')
29
- end
30
-
31
- def country_code
32
- 'US'
33
- end
34
-
35
- def latitude
36
- station.latitude
37
- end
38
-
39
- def longitude
40
- station.longitude
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,82 +0,0 @@
1
- module Barometer
2
- module WeatherService
3
- class Noaa
4
- class Response
5
- class CurrentWeather
6
- def initialize(payload)
7
- @payload = payload
8
- @current = Barometer::Response::Current.new
9
- end
10
-
11
- def parse
12
- current.observed_at = observed_at, '%a, %d %b %Y %H:%M:%S %z'
13
- current.stale_at = stale_at
14
- current.humidity = humidity
15
- current.condition = condition
16
- current.icon = icon
17
- current.temperature = temperature
18
- current.dew_point = dew_point
19
- current.wind_chill = wind_chill
20
- current.wind = wind
21
- current.pressure = pressure
22
- current.visibility = visibility
23
-
24
- current
25
- end
26
-
27
- private
28
-
29
- attr_reader :payload, :current
30
-
31
- def units
32
- payload.units
33
- end
34
-
35
- def observed_at
36
- payload.fetch('observation_time_rfc822')
37
- end
38
-
39
- def stale_at
40
- current.observed_at + (60 * 60 * 1) if current.observed_at
41
- end
42
-
43
- def humidity
44
- payload.fetch('relative_humidity')
45
- end
46
-
47
- def condition
48
- payload.fetch('weather')
49
- end
50
-
51
- def icon
52
- payload.using(/(.*).(jpg|png)$/).fetch('icon_url_name')
53
- end
54
-
55
- def temperature
56
- [units, payload.fetch('temp_c'), payload.fetch('temp_f')]
57
- end
58
-
59
- def dew_point
60
- [units, payload.fetch('dewpoint_c'), payload.fetch('dewpoint_f')]
61
- end
62
-
63
- def wind_chill
64
- [units, payload.fetch('windchill_c'), payload.fetch('windchill_f')]
65
- end
66
-
67
- def wind
68
- [:imperial, payload.fetch('wind_mph').to_f, payload.fetch('wind_degrees').to_i]
69
- end
70
-
71
- def pressure
72
- [units, payload.fetch('pressure_mb'), payload.fetch('pressure_in')]
73
- end
74
-
75
- def visibility
76
- [:imperial, payload.fetch('visibility_mi').to_f]
77
- end
78
- end
79
- end
80
- end
81
- end
82
- end
@@ -1,90 +0,0 @@
1
- module Barometer
2
- module WeatherService
3
- class Noaa
4
- class Response
5
- class ForecastedWeather
6
- def initialize(payload)
7
- @payload = payload
8
- @predictions = Barometer::Response::PredictionCollection.new
9
- end
10
-
11
- def parse
12
- each_prediction do |prediction, index, shared_index|
13
- prediction.starts_at = start_times[index]
14
- prediction.ends_at = end_times[index]
15
- prediction.icon = icons[shared_index]
16
- prediction.condition = summaries[shared_index]
17
- prediction.pop = precipitations[index]
18
- prediction.high = [:imperial, high_temperatures[shared_index]]
19
- prediction.low = [:imperial, low_temperatures[shared_index]]
20
- end
21
-
22
- predictions
23
- end
24
-
25
- private
26
-
27
- attr_reader :payload, :predictions
28
-
29
- def total_forecasts
30
- high_temperatures.count * 2
31
- end
32
-
33
- def each_forecast
34
- (0...total_forecasts).each do |index|
35
- yield index, shared_index(index)
36
- end
37
- end
38
-
39
- def each_prediction
40
- each_forecast do |index, shared_index|
41
- predictions.build do |prediction|
42
- yield prediction, index, shared_index
43
- end
44
- end
45
- end
46
-
47
- def shared_index(index)
48
- (index / 2).floor
49
- end
50
-
51
- def times
52
- @times ||= payload.fetch('time_layout').detect{|layout| layout['layout_key'] == 'k-p12h-n14-2'}
53
- end
54
-
55
- def start_times
56
- @start_times ||= times['start_valid_time']
57
- end
58
-
59
- def end_times
60
- @end_times ||= times['end_valid_time']
61
- end
62
-
63
- def temperatures
64
- @temperatures ||= payload.fetch('parameters', 'temperature')
65
- end
66
-
67
- def high_temperatures
68
- @high_temperatures ||= temperatures.detect{|t| t['@type'] == 'maximum'}.fetch('value', [])
69
- end
70
-
71
- def low_temperatures
72
- @low_temperatures ||= temperatures.detect{|t| t['@type'] == 'minimum'}.fetch('value', [])
73
- end
74
-
75
- def precipitations
76
- @precipitations ||= payload.fetch('parameters', 'probability_of_precipitation', 'value').map(&:to_i)
77
- end
78
-
79
- def summaries
80
- @summaries ||= payload.fetch('parameters', 'weather', 'weather_conditions').map{|c| c['@weather_summary'] }
81
- end
82
-
83
- def icons
84
- @icons ||= payload.fetch('parameters', 'conditions_icon', 'icon_link').map{|l| l.match(/(\w*)\.[a-zA-Z]{3}$/)[1] }
85
- end
86
- end
87
- end
88
- end
89
- end
90
- end
@@ -1,19 +0,0 @@
1
- module Barometer
2
- module WeatherService
3
- class Noaa
4
- class Response
5
- class Location < WeatherService::Response::Location
6
- private
7
-
8
- def latitude
9
- payload.fetch('location', 'point', '@latitude')
10
- end
11
-
12
- def longitude
13
- payload.fetch('location', 'point', '@longitude')
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,15 +0,0 @@
1
- module Barometer
2
- module WeatherService
3
- class Noaa
4
- class Response
5
- class TimeZone < WeatherService::Response::TimeZone
6
- private
7
-
8
- def time_zone
9
- payload.using(/ ([A-Z]*)$/).fetch('observation_time')
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1 +0,0 @@
1
- {"http_interactions":[{"request":{"method":"get","uri":"http://forecast.weather.gov/MapClick.php?textField1=34.10&textField2=-118.41","body":{"encoding":"UTF-8","string":""},"headers":{}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Cache-Control":["max-age=883"],"Transfer-Encoding":["chunked"],"Server":["Apache/2.2.15 (Red Hat)"],"Content-Type":["text/html; charset=UTF-8"],"Connection":["Transfer-Encoding","keep-alive"],"Date":["Sat, 09 Feb 2013 18:43:03 GMT"],"Expires":["Sat, 09 Feb 2013 18:57:46 GMT"]},"body":{"encoding":"UTF-8","string":"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<link rel=\"schema.DC\" href=\"http://purl.org/dc/elements/1.1/\" /><title>NOAA National Weather Service</title><meta name=\"DC.title\" content=\"NOAA National Weather Service\" /><meta name=\"DC.description\" content=\"NOAA National Weather Service National Weather Service\" /><meta name=\"DC.creator\" content=\"US Department of Commerce, NOAA, National Weather Service\" /><meta name=\"DC.date.created\" scheme=\"ISO8601\" content=\"\" /><meta name=\"DC.language\" scheme=\"DCTERMS.RFC1766\" content=\"EN-US\" /><meta name=\"DC.keywords\" content=\"weather, National Weather Service\" /><meta name=\"DC.publisher\" content=\"NOAA's National Weather Service\" /><meta name=\"DC.contributor\" content=\"National Weather Service\" /><meta name=\"DC.rights\" content=\"http://www.weather.gov/disclaimer.php\" /><meta name=\"rating\" content=\"General\" /><meta name=\"robots\" content=\"index,follow\" />\r\n\r\n<link href=\"/css/weatherstyle.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n<link href=\"/css/template.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n<link href=\"/css/myfcst.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/ForecastSearch.css\" />\r\n<link href=\"/css/pointforecast.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.6.4.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/jquery.hoverIntent.minified.js\"></script>\r\n<script type=\"text/javascript\" src=\"http://maps.googleapis.com/maps/api/js?v=3&client=gme-noaa&channel=NWS...PointClick&sensor=false\"></script>\r\n<script type=\"text/javascript\" src=\"/js/ForecastSearch.js\"></script>\r\n\r\n<script type=\"text/javascript\">\r\nfunction MM_jumpMenu(targ,selObj,restore)\r\n{ \r\n\t//v3.0\r\n\teval(targ+\".location='\"+selObj.options[selObj.selectedIndex].value+\"'\");\r\n\tif (restore) selObj.selectedIndex=0;\r\n}\r\n\r\n</script>\r\n<script type=\"text/javascript\" src=\"/js/topNavMenu.js\"></script>\r\n\r\n</head>\r\n\r\n<body>\r\n\r\n\t\t<div class=\"header\">\r\n\t\t\t<div class=\"header-content\">\r\n\t\t\t<a href=\"http://www.weather.gov\" class=\"header-nws\"><img src=\"/css/images/header.png\" /></a>\r\n\t\t\t<a href=\"http://www.commerce.gov\" class=\"header-doc\"><img src=\"/css/images/header_doc.png\" /></a>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"header-shadow\">\r\n\t\t\t<div class=\"header-shadow-content\"></div>\r\n\t\t</div>\r\n\t\r\n\r\n<div class=\"center\">\r\n\r\n\t <div class=\"content\">\r\n <div class=\"topnav\">\r\n <ul id=\"topnav\">\r\n <li>\r\n <script type=\"text/javascript\">\r\n function goBack()\r\n {\r\n if (document.referrer.toLowerCase().indexOf(\"weather.gov\") != -1)\r\n {\r\n history.back();\r\n }\r\n else\r\n {\r\n document.location.href = \"http://www.weather.gov\";\r\n }\r\n }\r\n </script>\r\n <div class=\"topMenuNavList home\">\r\n <a href=\"#\" onclick=\"goBack();\">HOME</a>\r\n </div>\r\n </li>\r\n <li>\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.weather.gov/forecastmaps\">FORECAST</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul> <li> <a href=\"/\">Local</a> </li> <li> <a href=\"http://graphical.weather.gov\">Graphical</a> </li> <li> <a href=\"http://www.aviationweather.gov/\">Aviation</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/marine/home.htm\">Marine</a> </li> <li> <a href=\"http://water.weather.gov/ahps/\">Rivers and Lakes</a> </li> <li> <a href=\"http://www.nhc.noaa.gov/\">Hurricanes</a> </li> <li> <a href=\"http://www.spc.noaa.gov/\">Severe Weather</a> </li> <li> <a href=\"http://www.srh.noaa.gov/ridge2/fire/\">Fire Weather</a> </li> <li> <a href=\"http://aa.usno.navy.mil/data/docs/RS_OneDay.php\">Sun/Moon</a> </li> <li> <a href=\"http://www.nws.noaa.gov/climate/\">Long Range Forecasts</a> </li> <li> <a href=\"http://www.cpc.ncep.noaa.gov\">Climate Prediction</a> </li></ul> </div>\r\n </li>\r\n <li>\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.nws.noaa.gov/climate\">PAST WEATHER</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul> <li> <a href=\"http://www.nws.noaa.gov/climate/\">Past Weather</a> </li> <li> <a href=\"http://www.nws.noaa.gov/climate/\">Heating/Cooling Days</a> </li> <li> <a href=\"http://www.nws.noaa.gov/climate/\">Monthly Temperatures</a> </li> <li> <a href=\"http://www.nws.noaa.gov/climate/\">Records</a> </li> <li> <a href=\"http://aa.usno.navy.mil/\">Astronomical Data</a> </li></ul> </div>\r\n </li>\r\n <li>\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.weather.gov/safety\">WEATHER SAFETY</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul> <li> <a href=\"http://www.nws.noaa.gov/com/weatherreadynation\">Weather-Ready Nation</a> </li> <li> <a href=\"http://www.nws.noaa.gov/nwr/\">NOAA Weather Radio</a> </li> <li> <a href=\"http://www.nws.noaa.gov/stormready/\">StormReady</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/heat/index.shtml\">Heat</a> </li> <li> <a href=\"http://www.lightningsafety.noaa.gov/\">Lightning</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/hurricane/index.shtml\">Hurricanes</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/severeweather/index.shtml\">Thunderstorms, Tornadoes, Floods</a> </li> <li> <a href=\"http://www.ripcurrents.noaa.gov/\">Rip Currents</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/winter/index.shtml\">Winter Weather</a> </li> <li> <a href=\"http://www.nws.noaa.gov/os/uv/\">Ultra Violet Radiation</a> </li> <li> <a href=\"http://www.nws.noaa.gov/airquality/\">Air Quality</a> </li> <li> <a href=\"http://www.nws.noaa.gov/os/water/tadd/\">Turn Around, Don't Drown</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/hazstats.shtml\">Damage/Fatality/Injury Statistics</a> </li> <li> <a href=\"http://www.redcross.org/\">Red Cross</a> </li> <li> <a href=\"http://www.fema.gov\">Federal Emergency Management Agency (FEMA)</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/brochures.shtml\">Brochures</a> </li></ul> </div>\r\n </li>\r\n <li>\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.weather.gov/informationcenter\">INFORMATION CENTER</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul> <li> <a href=\"http://www.noaawatch.gov/briefing.php\">Daily Briefing </a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/marine/home.htm\">Marine</a> </li> <li> <a href=\"http://www.nws.noaa.gov/climate/\">Climate </a> </li> <li> <a href=\"http://www.spaceweather.gov\">Space Weather</a> </li> <li> <a href=\"http://radar.srh.noaa.gov/fire/\">Fire Weather</a> </li> <li> <a href=\"http://www.aviationweather.gov/\">Aviation</a> </li> <li> <a href=\"http://www.tsunami.gov\">Tsunami</a> </li> <li> <a href=\"http://mag.ncep.noaa.gov/NCOMAGWEB/appcontroller\">Forecast Models</a> </li> <li> <a href=\"http://water.weather.gov/ahps/\">Water</a> </li> <li> <a href=\"http://www.nws.noaa.gov/gis\">GIS</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/coop/\">Cooperative Observers</a> </li> <li> <a href=\"http://www.nws.noaa.gov/skywarn/\">Storm Spotters</a> </li> <li> <a href=\"http://wiki.citizen.apps.gov/nws_developers/index.php/Main_Page\">For Developers</a> </li> <li> <a href=\"http://economics.noaa.gov\">Facts and Figures</a> </li></ul> </div>\r\n </li>\r\n <li>\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.weather.gov/news\">NEWS</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul> <li> <a href=\"/news\">NWS News</a> </li> <li> <a href=\"http://www.nws.noaa.gov/com/weatherreadynation/calendar.html\">Events</a> </li> <li> <a href=\"http://www.weather.gov/socialmedia\">Social Media</a> </li> <li> <a href=\"http://www.nws.noaa.gov/om/brochures.shtml\">Pubs/Brochures/Booklets </a> </li> <li> <a href=\"http://www.nws.noaa.gov/pa/nws_contacts.php\">NWS Media Contacts</a> </li></ul> </div>\r\n </li>\r\n <li>\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.weather.gov/search\">SEARCH</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul class=\"no-links\">\r\n <li><!-- Begin search code -->\r\n <div id=\"site-search\">\r\n <form method=\"get\" action=\"http://search.usa.gov/search\" style=\"margin-bottom: 0; margin-top: 0;\">\r\n <input type=\"hidden\" name=\"v:project\" value=\"firstgov\" /> \r\n <label for=\"query\">Search For</label> \r\n <input type=\"text\" name=\"query\" id=\"query\" size=\"12\" /> \r\n <input type=\"submit\" value=\"Go\" />\r\n <p>\r\n <input type=\"radio\" name=\"affiliate\" checked=\"checked\" value=\"nws.noaa.gov\" id=\"nws\" /> \r\n <label for=\"nws\" class=\"search-scope\">NWS</label> \r\n <input type=\"radio\" name=\"affiliate\" value=\"noaa.gov\" id=\"noaa\" /> \r\n <label for=\"noaa\" class=\"search-scope\">All NOAA</label>\r\n </p>\r\n </form>\r\n </div>\r\n </li>\r\n </ul> </div>\r\n </li>\r\n <li class=\"last\">\t\r\n <div class=\"topMenuNavList section-link\">\r\n \t<a href=\"http://www.weather.gov/about\">ABOUT</a> </div>\r\n <div style=\"opacity: 0;\" class=\"sub\">\r\n <ul> <li> <a href=\"http://www.weather.gov/about\">About NWS</a> </li> <li> <a href=\"http://www.weather.gov/organization\">Organization</a> </li> <li> <a href=\"http://www.nws.noaa.gov/sp\">Strategic Plan</a> </li> <li> <a href=\"https://sites.google.com/a/noaa.gov/nws-best-practices/\">For NWS Employees</a> </li> <li> <a href=\"http://www.nws.noaa.gov/ia/home.htm\">International</a> </li> <li> <a href=\"http://www.weather.gov/organization\">National Centers</a> </li> <li> <a href=\"http://www.nws.noaa.gov/tg\">Products and Services</a> </li> <li> <a href=\"http://www.weather.gov/contact\">Contact Us</a> </li> <li> <a href=\"http://www.nws.noaa.gov/glossary\">Glossary</a> </li></ul> </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n \r\n\t\r\n\t<div class=\"center-content\">\r\n\t\t\r\n\t\t\t\t<div class=\"one-sixth-first\">\r\n\t\t\t<div id=\"forecast-lookup\">\r\n\t\t\t\t<form name=\"getForecast\" id=\"getForecast\" action=\"http://forecast.weather.gov/zipcity.php\" method=\"get\">\r\n <label for=\"inputstring\">Local forecast by <br>\"City, St\" or ZIP code</label>\r\n <input id=\"inputstring\" name=\"inputstring\" type=\"text\" value=\"Enter location ...\" onclick=\"this.value=''\" />\r\n <input name=\"btnSearch\" id=\"btnSearch\" type=\"submit\" value=\"Go\" />\r\n <div id=\"txtError\">\r\n <div id=\"errorNoResults\" style=\"display:none;\">Sorry, the location you searched for was not found. Please try another search.</div>\r\n <div id=\"errorMultipleResults\" style=\"display:none\">Multiple locations were found. Please select one of the following:</div>\r\n <div id=\"errorChoices\" style=\"display:none\"></div>\r\n <input id=\"btnCloseError\" type=\"button\" value=\"Close\" style=\"display:none\" />\r\n </div>\r\n <div id=\"txtHelp\"><a style=\"text-decoration: underline;\" href=\"javascript:void(window.open('http://weather.gov/ForecastSearchHelp.html','locsearchhelp','status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=1,height=500,width=530').focus());\">Location Help</a></div>\r\n </form>\r\n\r\n\t\t\t</div><!-- <div id=\"forecast-lookup\"> -->\r\n\t\t</div><!-- <div class=\"one-sixth-first\"> -->\r\n\t\r\n\t\t<div class=\"five-sixth-last\"><div id=\"topnews\"><h1 style='font-size:11pt;'>Major Winter Storm Continues to Impact Northeast</h1><p>The major winter storm that has brought more than two feet of snow strong winds across parts of the Northeast and New England continues to impact the region Saturday morning. Heavy snow, along with strong wind gusts, are expected to continue across much of New England early Saturday morning, before beginning to slowly taper off from west to east later in the morning and into the afternoon. <br /><a href='http://1.usa.gov/11qoD8L' target='_blank'>Read More...</a></p></div></div>\r\n\t\t\r\n \t<script language=javascript>document.title =' 7-Day Forecast for Latitude 34.1\\u00B0N and Longitude 118.42\\u00B0W (Elev. 774 ft)';</script><script type=\"text/javascript\" src=\"JavaScript/google_map.js\"></script><script type=\"text/javascript\"> var smap=1; var gmsite = 'lox'; var gmscale =10; var gmsi=0; var gmlng=''; var gmtype = 'text';</script><div class=\"one-fourth-last\"></div><div class=\"div-full locationHeader\">\n\t<div class=\"five-sixth-first point-forecast-area-title\">4 Miles W Hollywood CA</div>\n\t<div class=\"one-sixth-last locationheader-options\"><a href=\"http://forecast.weather.gov/MapClick.php?lat=34.10&lon=-118.41&FcstType=textr&unit=0&lg=sp\"><b>En Espa&ntilde;ol</b></a></div>\n</div>\n<div class=\"full-width-borderbottom current-conditions\">\n\t<div class=\"one-third-first\">\n\t\t<div class=\"div-half\">\n\t\t\t<p class=\"feature\"><img src=\"/images/wtf/large/sct.png\" alt=\"\" width=\"134\" height=\"134\" /></p>\n\t\t</div>\n\t\t<div class=\"div-half-right\">\n\t\t\t<p class=\"myforecast-current\">Fair</p>\n\t\t\t<p class=\"myforecast-current-lrg\">52&deg;F</p>\n\t\t\t<p><span class=\"myforecast-current-sm\">11&deg;C</span></p>\n\t\t</div>\n\t</div>\n\t<div class=\"one-third-first\">\n\t\t<ul class=\"current-conditions-detail\">\n\t\t\t<li><span class=\"label\">Humidity</span>59%</li>\n\t\t\t<li><span class=\"label\">Wind Speed</span>E 5 MPH</li>\n\t\t\t<li><span class=\"label\">Barometer</span>30.05 in (1017.7 mb)</li>\n\t\t\t<li><span class=\"label\">Dewpoint</span>38&deg;F (3&deg;C)</li>\n\t\t\t<li><span class=\"label\">Visibility</span>10.00 mi</li>\n\t\t</ul>\n<p class=\"current-conditions-timestamp\">Last Update on 09 Feb 9:51 am PST </p><br>\t</div>\n\t<div class=\"one-third-last\">\n\t\t<p style=\"font-size: 8pt;\">Current conditions at</p>\n\t\t<p class=\"current-conditions-location\">Santa Monica, Santa Monica Municipal Airport (KSMO)</p>\n\t\t<p> Lat: 34.01583 Lon: -118.45139 Elev: 174ft.<br /></p>\n\t\t<div class=\"current-conditions-extra\">\n\t\t\t<p><a href=\"http://www.wrh.noaa.gov/total_forecast/other_obs.php?wfo=lox&zone=CAZ041\">More Local Wx</a> | <a href=\"http://www.wrh.noaa.gov/mesowest/getobext.php?wfo=lox&sid=KSMO&num=72&raw=0\">3 Day History</a> | <a href=http://mobile.weather.gov/index.php?lat=34.01583&lon=-118.45139>Mobile Weather</a></p>\n\t\t</div>\n<!-- AddThis Button BEGIN -->\n\t\t<div class=\"addthis_toolbox addthis_default_style \">\n\t\t\t<a href=\"http://www.addthis.com/bookmark.php?v=250&amp;pubid=xa-4b05b2d91f18c9cc\" class=\"addthis_button_compact\">Share</a>\n\t\t\t<span class=\"addthis_separator\">|</span>\n\t\t\t<a class=\"addthis_button_preferred_1\"></a>\n\t\t\t<a class=\"addthis_button_preferred_2\"></a>\n\t\t\t<a class=\"addthis_button_preferred_3\"></a>\n\t\t\t<a class=\"addthis_button_preferred_4\"></a>\n\t\t\t<a class=\"addthis_button_preferred_5\"></a>\n\t\t</div>\n\t\t<script type=\"text/javascript\" src=\"http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4b05b2d91f18c9cc\"></script>\n<!-- AddThis Button END -->\n\t</div>\n</div>\n<div class=\"partial-width-borderbottom point-forecast-icons\">\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Today<br><br></p>\n <p><img src=\"/images/wtf/medium/few.png\" width=\"86\" height=\"86\" alt=\"Sunny\" title=\"Sunny\" /></p>\n <p>Sunny<br><br></p>\n <p class=\"point-forecast-icons-high\">High: 55 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Tonight<br><br></p>\n <p><img src=\"/images/wtf/medium/nfew.png\" width=\"86\" height=\"86\" alt=\"Mostly Clear\" title=\"Mostly Clear\" /></p>\n <p>Mostly<br>Clear<br></p>\n <p class=\"point-forecast-icons-low\">Low: 42 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Sunday<br><br></p>\n <p><img src=\"/images/wtf/medium/few.png\" width=\"86\" height=\"86\" alt=\"Sunny\" title=\"Sunny\" /></p>\n <p>Sunny<br><br></p>\n <p class=\"point-forecast-icons-high\">High: 58 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Sunday<br>Night</p>\n <p><img src=\"/images/wtf/medium/nfew.png\" width=\"86\" height=\"86\" alt=\"Mostly Clear\" title=\"Mostly Clear\" /></p>\n <p>Mostly<br>Clear<br></p>\n <p class=\"point-forecast-icons-low\">Low: 44 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Monday<br><br></p>\n <p><img src=\"/images/wtf/medium/few.png\" width=\"86\" height=\"86\" alt=\"Sunny\" title=\"Sunny\" /></p>\n <p>Sunny<br><br></p>\n <p class=\"point-forecast-icons-high\">High: 60 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Monday<br>Night</p>\n <p><img src=\"/images/wtf/medium/nfew.png\" width=\"86\" height=\"86\" alt=\"Mostly Clear\" title=\"Mostly Clear\" /></p>\n <p>Mostly<br>Clear<br></p>\n <p class=\"point-forecast-icons-low\">Low: 45 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Tuesday<br><br></p>\n <p><img src=\"/images/wtf/medium/few.png\" width=\"86\" height=\"86\" alt=\"Sunny\" title=\"Sunny\" /></p>\n <p>Sunny<br><br></p>\n <p class=\"point-forecast-icons-high\">High: 64 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Tuesday<br>Night</p>\n <p><img src=\"/images/wtf/medium/nfew.png\" width=\"86\" height=\"86\" alt=\"Mostly Clear\" title=\"Mostly Clear\" /></p>\n <p>Mostly<br>Clear<br></p>\n <p class=\"point-forecast-icons-low\">Low: 46 &deg;F</p>\n </div>\n <div class=\"one-ninth-first\">\n <p class=\"txt-ctr-caps\">Wednesday<br><br></p>\n <p><img src=\"/images/wtf/medium/few.png\" width=\"86\" height=\"86\" alt=\"Sunny\" title=\"Sunny\" /></p>\n <p>Sunny<br><br></p>\n <p class=\"point-forecast-icons-high\">High: 66 &deg;F</p>\n </div>\n</div>\n<div class=\"partial-width-borderbottom\">\n\t<div class=\"two-third-first point-forecast-7-day\">\n<div class=\"hazardous-conditions\">\n<h1>Hazardous Weather Conditions</h1>\n<ul><li><a href=\"showsigwx.php?warnzone=CAZ041&warncounty=CAC037&firewxzone=CAZ241&local_place1=&product1=Hazardous+Weather+Outlook\">Hazardous Weather Outlook</a></li>\n</ul>\n</div>\n\t\t<h1>7-DAY FORECAST</h1>\n <ul class=\"point-forecast-7-day\">\n <li class=\"row-odd\"><span class=\"label\">Today</span> Sunny, with a high near 55. South wind around 5 mph. </li>\n <li class=\"row-even\"><span class=\"label\">Tonight</span> Mostly clear, with a low around 42. South wind around 5 mph becoming east after midnight. </li>\n <li class=\"row-odd\"><span class=\"label\">Sunday</span> Sunny, with a high near 58. Calm wind becoming south around 5 mph in the morning. </li>\n <li class=\"row-even\"><span class=\"label\">Sunday Night</span> Mostly clear, with a low around 44. South wind around 5 mph becoming north in the evening. </li>\n <li class=\"row-odd\"><span class=\"label\">Monday</span> Sunny, with a high near 60. North northeast wind around 5 mph becoming calm in the morning. </li>\n <li class=\"row-even\"><span class=\"label\">Monday Night</span> Mostly clear, with a low around 45.</li>\n <li class=\"row-odd\"><span class=\"label\">Tuesday</span> Sunny, with a high near 64.</li>\n <li class=\"row-even\"><span class=\"label\">Tuesday Night</span> Mostly clear, with a low around 46.</li>\n <li class=\"row-odd\"><span class=\"label\">Wednesday</span> Sunny, with a high near 66.</li>\n <li class=\"row-even\"><span class=\"label\">Wednesday Night</span> Mostly clear, with a low around 48.</li>\n <li class=\"row-odd\"><span class=\"label\">Thursday</span> Sunny, with a high near 70.</li>\n <li class=\"row-even\"><span class=\"label\">Thursday Night</span> Mostly clear, with a low around 49.</li>\n <li class=\"row-odd\"><span class=\"label\">Friday</span> Sunny, with a high near 73.</li>\n </ul>\n\t\t<p>&nbsp;</p>\n\t\t<h1>ADDITIONAL FORECASTS AND INFORMATION</h1>\n\t\t<p class=\"myforecast-location\"><a href=\"MapClick.php?zoneid=CAZ041\">Zone Area Forecast for Los Angeles County Coast including Downtown Los Angeles, CA</a></p>\n\t\t<div class=\"div-full\">\n\t\t\t<p>&nbsp;</p>\n\t\t\t<div class=\"div-third\"><a href=\"http://forecast.weather.gov/product.php?site=NWS&issuedby=LOX&product=AFD&format=CI&version=1&glossary=1\">Forecast Discussion</a><br />\n\t\t\t\t<a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=text&TextType=2\">Printable Forecast</a><br />\n\t\t\t\t<a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=text&TextType=1\">Text Only Forecast</a></div>\n\t\t\t<div class=\"div-third\"><a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=graphical\">Hourly Weather Graph</a><br />\n\t\t\t\t<a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=digital\">Tabular Forecast</a><br />\n\t\t\t\t<a href=\"afm/PointClick.php?lat=34.10000&lon=-118.41000\">Quick Forecast</a></div>\n\t\t\t<div class=\"div-third\"><a href=\"http://weather.gov/aq/probe_aq_data.php?latitude=34.10000&longitude=-118.41000\">Air Quality Forecasts</a><br/><a href=\"http://forecast.weather.gov/MapClick.php?lat=34.10&lon=-118.41&FcstType=text&unit=1&lg=en\">International System of Units</a><br />\n\t\t\t\t<a href=\"http://www.srh.weather.gov/srh/jetstream/webweather/pinpoint_max.htm\">About Point Forecasts</a><br />\n\t\t\t<a href=\"http://www.wrh.noaa.gov/forecast/wxtables/index.php?lat=34.10000&lon=-118.41000\">Forecast Weather Table Interface</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"div-full\">\n\t\t\t<div class=\"div-third\"><br>\n\t\t\t<a href=\"http://www.wrh.noaa.gov/mesowest/mwmap.php?map=lox\" target=\"_self\">Observation Map (Regional)</a><br />\n\t\t\t<a href=\"http://www.wrh.noaa.gov/mesowest/mwmap.php?map=la\" target=\"_self\">Observation Map (Los Angeles)</a><br />\n\t\t\t</div>\n\t\t\t<div class=\"div-third\"><br>\n\t\t\t<a href=\"http://www.wrh.noaa.gov/warnings.php?wfo=lox\" target=\"_self\">Warnings</a><br />\n\t\t\t<a href=\"http://www.wrh.noaa.gov/forecasts/graphical/sectors/lox.php\" target=\"_self\">Experimental Graphical Forecasts</a><br />\n\t\t\t</div>\n\t\t\t<div class=\"div-third\"><br>\n\t\t\t<a href=\"http://www.wrh.noaa.gov/lox/getprod.php?pil=qps&sid=lox&format=pre\" target=\"_self\">Quantitative Precipitation Forecast</a><br />\n\t\t\t<a href=\"http://www.weather.gov/climate/index.php?wfo=lox\" target=\"_self\">Climatology</a><br />\n\t\t\t</div>\n\t\t\t<p>&nbsp;</p>\n\t\t</div>\n\t</div>\n\t<div class=\"one-third-last point-forecast-right\">\n\t\t<div id=\"point-forecast-info\">\n\t\t\t<h2 class=\"wfo-label\"><a href=http://www.wrh.noaa.gov/lox>NWS Los Angeles/Oxnard, CA</a></h2>\n\t\t\t<ul class=\"point-forecast-info\">\n\t\t\t\t<li><span class=\"label\">Point Forecast:</span> 4 Miles W Hollywood CA<br>34.1&deg;N 118.42&deg;W (Elev. 774 ft)</li>\n\t\t\t\t<li><span class=\"label\"><a href=\"http://www.weather.gov/glossary/index.php?word=Last+update\">Last Update</a>:</span> 10:21 am PST Feb 9, 2013</li>\n\t\t\t\t<li><span class=\"label\"><a href=\"http://www.weather.gov/glossary/index.php?word=forecast+valid+for\">Forecast Valid</a>:</span> 11am PST Feb 9, 2013-6pm PST Feb 15, 2013<p><a href=\"http://forecast.weather.gov/product.php?site=NWS&issuedby=LOX&product=AFD&format=CI&version=1&glossary=1\">Forecast Discussion</a></p>\n\t\t\t\t<p class=\"forecast-downloads\"><a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=kml\"><img src=\"/images/wtf/kml_badge.png\" width=\"45\" height=\"17\" alt=\"Get as KML\" /></a> <a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=dwml\"><img src=\"/images/wtf/xml_badge.png\" width=\"45\" height=\"17\" alt=\"Get as XML\" /></a></p>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n<div class='point-forecast-map'><div class='point-forecast-map-header'>Click Map for Forecast<div class='disclaimer'><a href='http://www.weather.gov/credits.php#googlemapping'>Disclaimer</a></div></div><form name=\"littleform\" method=\"post\" action=\"#\"><div id=\"gmap\"><noscript><center><br><br><b>Map function requires Javascript and a compatible browser.</b></center></noscript></div><div class=\"point-forecast-map-footer\"><img src=\"/images/wtf/maplegend.gif\" width=\"240\" height=\"16\" alt=\"Map Legend\"><p><strong>Lat/Lon:</strong> 34.1&deg;N 118.42&deg;W&nbsp;&nbsp; <strong>Elevation:</strong> 774 ft</p></div></form></div>\t\t<div id=\"radar\">\n\t\t\t<h2>RADAR &amp; SATELLITE IMAGES</h2>\n\t\t\t<div class=\"div-full\"><a href=\"http://radar.weather.gov/radar.php?rid=vtx&product=N0R&overlay=11101111&loop=no\"><img src=\"http://radar.weather.gov/Thumbs/VTX_Thumb.gif\" class=\"radar-thumb\" alt=\"Link to Local Radar Data\" title=\"Link to Local Radar Data\"></a>&nbsp;<a href=\"http://www.wrh.noaa.gov/satellite/?wfo=lox\"><img src=\"http://sat.wrh.noaa.gov/satellite/4km/WR/IR4.thumbnail.jpg\" class=\"satellite-thumb\" alt=\"Link to Satellite Data\" title=\"Link to Satellite Data\"></a></div>\n\t\t</div>\n\t\t<div id=\"hourly\">\n\t\t\t<h2>HOURLY WEATHER GRAPH </h2>\n\t\t\t<p class=\"feature\"><a href=\"MapClick.php?lat=34.10000&lon=-118.41&unit=0&lg=english&FcstType=graphical\"><img src=\"/images/wtf/medium/hourlyweather.png\" width=\"300\" height=\"158\" /></a></p>\n\t\t</div>\n\t\t<div id=\"ndfd\">\n\t\t\t<h2>NATIONAL DIGITAL FORECAST DATABASE</h2>\n\t\t\t<p><a href=\"http://www.weather.gov/forecasts/graphical/sectors/pacsouthwest.php?element=MaxT\"><img src=\"http://www.weather.gov/forecasts/graphical/images/thumbnail/latest_MaxMinT_pacsouthwest_thumbnail.png\" border=\"0\" alt=\"National Digital Forecast Database Maximum Temperature Forecast\" title=\"National Digital Forecast Database Maximum Temperature Forecast\" width=\"147\" height=\"150\"></a>&nbsp;<a href=\"http://www.weather.gov/forecasts/graphical/sectors/pacsouthwest.php?element=Wx\"><img src=\"http://www.weather.gov/forecasts/graphical/images/thumbnail/latest_Wx_pacsouthwest_thumbnail.png\" border=\"0\" alt=\"National Digital Forecast Database Weather Element Forecast\" title=\"National Digital Forecast Database Weather Element Forecast\" width=\"147\" height=\"150\"></a></p>\n\t\t</div>\n\t</div>\n</div>\n<script language='javascript'>window.load = load_google_map(34.10000, -118.41000, 34.084, -118.432, 34.106, -118.437, 34.11, -118.41, 34.088, -118.405, 11);</script>\r\n\r\n\t\t<!-- <div class=\"full-width-first\">\r\n\t\t\t\t\t <div class=\"full-width-first communication-links\">\r\n \t<div class =\"one-third-first nopad\">\r\n \t<div class=\"myforecast-current\" style=\"float:left;padding:0px 20px 0px 0px;\">\r\n \t<a style=\"text-decoration:none;\" href=\"http://twitter.com/usNWSgov\" target=\"_blank\">\r\n \t\t<img src=\"/css/images/twitter.png\" width=\"16\" height=\"16\" />&nbsp;&nbsp;Follow us on Twitter\r\n \t</a>\r\n \t</div>\r\n \t<div class=\"myforecast-current\" style=\"float:left;padding:0px 20px 0px 0px;\">\r\n \t<a style=\"text-decoration:none;\" href=\"http://www.facebook.com/US.National.Weather.Service.gov\" target=\"_blank\">\r\n \t\t<img src=\"/css/images/fb.png\" width=\"16\" height=\"16\" />&nbsp;&nbsp;Follow us on Facebook\r\n \t</a>\r\n </div>\r\n \t </div>\r\n <div class =\"one-half-last nopad\">\r\n \t<span class=\"txt-rt myforecast-current\">\r\n \t<div class=\"myforecast-current\" style=\"float:left;padding:0px 20px 0px 0px;\">\r\n \t\t<a href=\"/rss_page.php?site_name=nws\" target=\"_blank\" style=\"text-decoration:none;font-size:11px;\">\r\n\t\t\t\t\t\t\t<img src=\"/css/images/rss.png\" width=\"16\" height=\"16\" />&nbsp;&nbsp;NWS RSS Feed\r\n\t\t\t\t\t\t</a>\r\n \t</div>\r\n \t<a href=\"http://www.weather.gov/cgi-bin/nwsexit.pl?url=https://service.govdelivery.com/service/multi_subscribe.html%3Fcode=USNWS\" class=\"icon\">\r\n \t\t\t\t<img src=\"/css/images/email.png\" title=\"Sign Up For Email Notifications\" alt=\"Sign Up For Email Notifications\" width=\"16\" height=\"16\" />\r\n \t\t\t</a> \r\n\t\t\t\t\r\n\t\t\t\t\t<form action=\"https://public.govdelivery.com/accounts/USNWS/subscribers/qualify\" class=\"govdelivery\" method=\"get\"> \r\n \t\t\t<label for=\"email\" style=\"display:none;\">Sign up for Email Notifications</label>\r\n \t\t\t<input id=\"email\" name=\"email\" type=\"text\" value=\"Sign Up for Email Notifications\" onFocus=\"this.value='';\"/>\r\n \t\t\t<input class=\"form_button\" name=\"commit\" type=\"submit\" value=\"Subscribe\" /> \r\n\t\t\t\t\t</form>\r\n \t</span>\r\n </div>\r\n </div>\r\n \t\t<div style=\"clear:both;\"></div>\r\n\t\r\n\t\t</div>\r\n\t\t-->\r\n\t\t\r\n\t\t<div style=\"clear:both;\"></div>\r\n\t\t\r\n\t</div><!-- <div class=\"center-content\"> -->\r\n\r\n</div><!-- end of <div class=\"center\"> -->\r\n\r\n<!-- sitemap area -->\r\n<div class=\"footer\">\r\n\t\t\t<style type=\"text/css\">\r\n\t\t.footer-column-head a:link, .footer-column-head a:visited {\r\n\t\tcolor: #ED7A08;\t\t\r\n\t\t}\r\n\t\t</style>\r\n\t\t<div class=\"footer-content\">\r\n\t\t\t\t\t\t\t<div class=\"footer-column\" style=\"padding:10px 10px;\">\r\n \t\t\t\t\t<p>\r\n\t\t\t\t\t<span class=\"footer-column-head\">\r\n\t\t\t\t\t\t<a href=\"http://alerts.weather.gov\">ACTIVE ALERTS</a>\r\n\t\t\t\t\t</span><br />\r\n\t\t\t\t\t \t\t\t\t<a href=\" http://alerts.weather.gov\">Warnings By State</a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.hpc.ncep.noaa.gov/ww.shtml\">Excessive Rainfall and Winter Weather Forecasts</a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://water.weather.gov/ahps/?current_color=flood&current_type=all&fcst_type=obs&conus_map=d_map\">River Flooding </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov\">Latest Warnings</a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.spc.noaa.gov/products/outlook/\">Thunderstorm/Tornado Outlook </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nhc.noaa.gov/\">Hurricanes </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.spc.noaa.gov/products/fire_wx/\">Fire Weather Outlooks </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.cpc.ncep.noaa.gov/products/stratosphere/uv_index/uv_alert.shtml\">UV Alerts </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.drought.gov/\">Drought </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.swpc.noaa.gov/alerts/index.html\">Space Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/nwr/\">NOAA Weather Radio </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://alerts.weather.gov/\">NWS CAP Feeds </a><br />\r\n \t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>&nbsp;</p>\r\n\t\t\t\t\t<p class=\"footer-column-head\">\r\n \t\t\t\t\t<a href=\" http://www.nws.noaa.gov/climate/\">PAST WEATHER</a>\r\n \t\t\t\t</p>\r\n \t\t\t\t<p>\r\n \t\t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/climate/\">Past Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.cpc.ncep.noaa.gov/products/MD_index.shtml\">Climate Monitoring </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/climate/\">Heating/Cooling Days </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/climate/\">Monthly Temps </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/climate/\">Records </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://aa.usno.navy.mil/\">Astronomical Data </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.ncdc.noaa.gov/oa/mpp/\">Certified Weather Data </a><br />\r\n \t\t\t \t\t\t\t</p>\r\n \t\t\t\t \t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"footer-column\" style=\"padding:10px 10px;\">\r\n \t\t\t\t\t<p>\r\n\t\t\t\t\t<span class=\"footer-column-head\">\r\n\t\t\t\t\t\t<a href=\"http://www.weather.gov/current\">CURRENT CONDITIONS</a>\r\n\t\t\t\t\t</span><br />\r\n\t\t\t\t\t \t\t\t\t<a href=\" http://www.weather.gov/Radar\">Radar </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.cpc.ncep.noaa.gov/products/monitoring_and_data/\">Climate Monitoring </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://water.weather.gov/ahps/\">River Levels </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://water.weather.gov/precip/\">Observed Precipitation </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.nws.noaa.gov/om/osd/portal.shtml\">Surface Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://weather.noaa.gov/fax/barotrop.shtml\">Upper Air </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.ndbc.noaa.gov/\">Marine and Buoy Reports </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nohrsc.nws.gov/interactive/html/map.html\">Snow Cover </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.goes.noaa.gov\">Satellite </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.swpc.noaa.gov/\">Space Weather </a><br />\r\n \t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>&nbsp;</p>\r\n\t\t\t\t\t<p class=\"footer-column-head\">\r\n \t\t\t\t\t<a href=\"http://weather.gov/forecastmaps\">FORECAST</a>\r\n \t\t\t\t</p>\r\n \t\t\t\t<p>\r\n \t\t\t\t \t\t\t\t<a href=\" http://www.weather.gov/\">Local Forecast </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.spc.noaa.gov/\">Severe Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.hpc.ncep.noaa.gov/\">Current Outlook Maps </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.cpc.ncep.noaa.gov/products/Drought\">Drought </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://radar.srh.noaa.gov/fire/\">Fire Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.hpc.ncep.noaa.gov/\">Fronts/Precipitation Maps </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/forecasts/graphical/\">Current Graphical Forecast Maps </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://water.weather.gov/ahps/forecasts.php\">Rivers </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/om/marine/home.htm\">Marine </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.opc.ncep.noaa.gov/marine_areas.php\">Offshore and High Seas</a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nhc.noaa.gov/\">Hurricanes </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://aviationweather.gov\">Aviation Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.cpc.ncep.noaa.gov/products/OUTLOOKS_index.html\">Climatic Outlook </a><br />\r\n \t\t\t \t\t\t\t</p>\r\n \t\t\t\t \t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"footer-column\" style=\"padding:10px 10px;\">\r\n\t\t\t\t\t<span class=\"footer-column-head\">\r\n\t\t\t\t\t\t<a href=\"http://www.weather.gov/informationcenter\">INFORMATION CENTER</a>\r\n\t\t\t\t\t</span><br />\r\n\t\t\t\t\t \t\t\t\t<a href=\" http://www.spaceweather.gov\">Space Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.tsunami.gov\">Tsunami</a><br />\r\n \t\t\t \t\t\t\t<a href=\"https://wiki.citizen.apps.gov/nws_developers/index.php/Main_Page\">For Developers </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.nws.noaa.gov/skywarn/\">Storm Spotters </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/om/coop/\">Cooperative Observers </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.nws.noaa.gov/gis\">GIS</a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://water.weather.gov/ahps/\">Water </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://mag.ncep.noaa.gov/NCOMAGWEB/appcontroller\">Forecast Models </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.aviationweather.gov/\">Aviation </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.weather.gov/fire\">Fire Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.nws.noaa.gov/climate\">Climate </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/om/marine/home.htm\">Marine </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.noaawatch.gov/briefing.php\">Daily Briefing </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.economics.noaa.gov\">Facts and Figures </a><br />\r\n \t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"footer-column\" style=\"padding:10px 10px;\">\r\n\t\t\t\t\t<span class=\"footer-column-head\">\r\n\t\t\t\t\t\t<a href=\"http://weather.gov/safety\">WEATHER SAFETY</a>\r\n\t\t\t\t\t</span><br />\r\n\t\t\t\t\t \t\t\t\t<a href=\"http://www.weather.gov/nwr/\">NOAA Weather Radio</a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.weather.gov/stormready/\">StormReady</a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.nws.noaa.gov/om/heat/index.shtml\">Heat </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.lightningsafety.noaa.gov/\">Lightning </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nhc.noaa.gov/prepare/\">Hurricanes </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/severeweather/index.shtml\">Thunderstorms </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/severeweather/index.shtml\">Tornadoes </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/severeweather/index.shtml\">Severe Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.ripcurrents.noaa.gov/\">Rip Currents </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/severeweather/index.shtml\">Floods </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/winter/index.shtml\">Winter Weather </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/os/uv/\">Ultra Violet Radiation </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/airquality/\">Air Quality </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/hazstats.shtml\">Damage/Fatality/Injury Statistics </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.redcross.org/\">Red Cross </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.fema.gov/\">Federal Emergency Management Agency (FEMA) </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/brochures.shtml\">Brochures </a><br />\r\n \t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"footer-column\" style=\"padding:10px 10px;\">\r\n \t\t\t\t\t<p>\r\n\t\t\t\t\t<span class=\"footer-column-head\">\r\n\t\t\t\t\t\t<a href=\"http://weather.gov/news\">NEWS</a>\r\n\t\t\t\t\t</span><br />\r\n\t\t\t\t\t \t\t\t\t<a href=\" http://weather.gov/news\">Newsroom</a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://weather.gov/socialmedia\">Social Media </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://www.nws.noaa.gov/com/weatherreadynation/calendar.html\">Events</a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/brochures.shtml\">Pubs/Brochures/Booklets </a><br />\r\n \t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>&nbsp;</p>\r\n\t\t\t\t\t<p class=\"footer-column-head\">\r\n \t\t\t\t\t<a href=\"http://weather.gov/education\">EDUCATION</a>\r\n \t\t\t\t</p>\r\n \t\t\t\t<p>\r\n \t\t\t\t \t\t\t\t<a href=\" http://www.economics.noaa.gov\">NOAA Economics </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.education.noaa.gov/Weather_and_Atmosphere/\">NOAA Education Resources </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/glossary/\">Glossary </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.srh.noaa.gov/srh/jetstream/\">JetStream </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/training/\">NWS Training Portal </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.lib.noaa.gov/\">NOAA Library </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/reachout/kidspage.shtml\">Play Time for Kids </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.education.noaa.gov/Weather_and_Atmosphere/\">For Students </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.nws.noaa.gov/om/edures.shtml\">For Teachers </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/brochures.shtml\">Brochures </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/om/reachout/links.shtml\">Other Links </a><br />\r\n \t\t\t \t\t\t\t</p>\r\n \t\t\t\t \t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"footer-column\" style=\"padding:10px 10px;\">\r\n\t\t\t\t\t<span class=\"footer-column-head\">\r\n\t\t\t\t\t\t<a href=\"http://weather.gov/about\">ABOUT</a>\r\n\t\t\t\t\t</span><br />\r\n\t\t\t\t\t \t\t\t\t<a href=\"http://weather.gov/organization\">Organization </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/sp/\">Strategic Plan </a><br />\r\n \t\t\t \t\t\t\t<a href=\"https://sites.google.com/a/noaa.gov/nws-best-practices/\">For NWS Employees </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/ia/home.htm\">International </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://weather.gov/organization\">National Centers </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/tg/\">Products and Services </a><br />\r\n \t\t\t \t\t\t\t<a href=\" http://www.weather.gov/glossary/\">Glossary </a><br />\r\n \t\t\t \t\t\t\t<a href=\"http://weather.gov/contact\">Contact Us </a><br />\r\n \t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\r\n</div><!-- end of <div class=\"footer\"> -->\r\n\t\t\r\n<!-- legal footer area -->\r\n<div class=\"footer-legal\">\r\n\t\t\t<div class=\"footer-legal-content\">\r\n\t\t\t<div class=\"footer-legal-gov\">\r\n\t\t\t\t<a href=\"http://www.usa.gov\"><img src=\"/css/images/usa_gov.png\" width=\"110\" height=\"30\" /></a>\r\n\t\t\t</div> \r\n\t\t\t\r\n\t\t\t<div class=\"footer-legal-column\">\r\n \t\t\t\t<p> \r\n <a href=\"http://www.commerce.gov\">US Dept of Commerce</a><br />\r\n \t\t\t\t<a href=\"http://www.noaa.gov\">National Oceanic and Atmospheric Administration</a><br />\r\n \t\t\t\t<a href=\"http://www.weather.gov\">National Weather Service</a><br />\r\n \t\t\t\t<a href=\"http://weather.gov/lox\">Los Angeles, CA</a><br /> \t\t\t</p>\r\n \t\t\t</div>\r\n \t\t\t\r\n \t\t\t<div class=\"footer-legal-column2\">\r\n \t\t\t\t<a href=\"http://weather.gov/disclaimer\">Disclaimer</a><br />\r\n \t\t\t\t<a href=\"http://www.cio.noaa.gov/Policy_Programs/info_quality.html\">Information Quality</a><br />\r\n \t\t\t\t<a href=\"http://weather.gov/help\">Help</a><br />\r\n \t\t\t\t<a href=\"http://www.weather.gov/glossary\">Glossary</a>\r\n \t\t\t</div>\r\n\r\n \t\t\t<div class=\"footer-legal-column3\">\r\n \t\t\t\t<a href=\"http://weather.gov/privacy\">Privacy Policy</a><br />\r\n \t\t\t\t<a href=\"http://www.rdc.noaa.gov/~foia\">Freedom of Information Act (FOIA)</a><br />\r\n \t\t\t\t<a href=\"http://weather.gov/about\">About Us</a><br />\r\n \t\t\t\t<a href=\"http://weather.gov/careers\">Career Opportunities</a>\r\n \t\t\t</div>\r\n \t\t</div>\r\n\t\r\n</div><!-- end of <div class=\"footer-legal\"> -->\r\n\t\t\r\n\r\n</body>\r\n</html>"},"http_version":null},"recorded_at":"Sat, 09 Feb 2013 18:43:04 GMT"},{"request":{"method":"get","uri":"http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?format=24%20hourly&numDays=7&zipCodeList=90210","body":{"encoding":"UTF-8","string":""},"headers":{}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["Apache/2.2.15 (Red Hat)"],"Content-Length":["7879"],"Content-Type":["text/xml"],"Cache-Control":["max-age=163"],"Expires":["Sat, 26 Oct 2013 14:45:02 GMT"],"Date":["Sat, 26 Oct 2013 14:42:19 GMT"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"<?xml version=\"1.0\"?>\n<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\">\n <head>\n <product srsName=\"WGS 1984\" concise-name=\"dwmlByDay\" operational-mode=\"official\">\n <title>NOAA's National Weather Service Forecast by 24 Hour Period</title>\n <field>meteorological</field>\n <category>forecast</category>\n <creation-date refresh-frequency=\"PT1H\">2013-10-26T14:42:17Z</creation-date>\n </product>\n <source>\n <more-information>http://www.nws.noaa.gov/forecasts/xml/</more-information>\n <production-center>Meteorological Development Laboratory<sub-center>Product Generation Branch</sub-center></production-center>\n <disclaimer>http://www.nws.noaa.gov/disclaimer.html</disclaimer>\n <credit>http://www.weather.gov/</credit>\n <credit-logo>http://www.weather.gov/images/xml_logo.gif</credit-logo>\n <feedback>http://www.weather.gov/feedback.php</feedback>\n </source>\n </head>\n <data>\n <location>\n <location-key>point1</location-key>\n <point latitude=\"34.10\" longitude=\"-118.41\"/>\n </location>\n <moreWeatherInformation applicable-location=\"point1\">http://forecast.weather.gov/MapClick.php?textField1=34.10&amp;textField2=-118.41</moreWeatherInformation>\n <time-layout time-coordinate=\"local\" summarization=\"24hourly\">\n <layout-key>k-p24h-n7-1</layout-key>\n <start-valid-time>2013-10-26T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-27T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-27T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-28T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-28T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-29T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-29T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-30T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-30T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-31T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-31T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-11-01T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-11-01T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-11-02T06:00:00-07:00</end-valid-time>\n </time-layout>\n <time-layout time-coordinate=\"local\" summarization=\"12hourly\">\n <layout-key>k-p12h-n14-2</layout-key>\n <start-valid-time>2013-10-26T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-26T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-26T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-27T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-27T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-27T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-27T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-28T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-28T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-28T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-28T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-29T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-29T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-29T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-29T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-30T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-30T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-30T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-30T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-31T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-31T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-31T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-10-31T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-11-01T06:00:00-07:00</end-valid-time>\n <start-valid-time>2013-11-01T06:00:00-07:00</start-valid-time>\n <end-valid-time>2013-11-01T18:00:00-07:00</end-valid-time>\n <start-valid-time>2013-11-01T18:00:00-07:00</start-valid-time>\n <end-valid-time>2013-11-02T06:00:00-07:00</end-valid-time>\n </time-layout>\n <time-layout time-coordinate=\"local\" summarization=\"24hourly\">\n <layout-key>k-p1h-n1-3</layout-key>\n <start-valid-time>2013-10-26T08:00:00-07:00</start-valid-time>\n <end-valid-time>2013-10-26T09:00:00-07:00</end-valid-time>\n </time-layout>\n <parameters applicable-location=\"point1\">\n <temperature type=\"maximum\" units=\"Fahrenheit\" time-layout=\"k-p24h-n7-1\">\n <name>Daily Maximum Temperature</name>\n <value>80</value>\n <value>75</value>\n <value>63</value>\n <value>63</value>\n <value>69</value>\n <value>73</value>\n <value>78</value>\n </temperature>\n <temperature type=\"minimum\" units=\"Fahrenheit\" time-layout=\"k-p24h-n7-1\">\n <name>Daily Minimum Temperature</name>\n <value>59</value>\n <value>56</value>\n <value>52</value>\n <value>53</value>\n <value>54</value>\n <value>56</value>\n <value xsi:nil=\"true\"/>\n </temperature>\n <probability-of-precipitation type=\"12 hour\" units=\"percent\" time-layout=\"k-p12h-n14-2\">\n <name>12 Hourly Probability of Precipitation</name>\n <value>4</value>\n <value>4</value>\n <value>3</value>\n <value>7</value>\n <value>37</value>\n <value>48</value>\n <value>17</value>\n <value>13</value>\n <value>13</value>\n <value>6</value>\n <value>5</value>\n <value>5</value>\n <value>5</value>\n <value xsi:nil=\"true\"/>\n </probability-of-precipitation>\n <weather time-layout=\"k-p24h-n7-1\">\n <name>Weather Type, Coverage, and Intensity</name>\n <weather-conditions weather-summary=\"Mostly Sunny\"/>\n <weather-conditions weather-summary=\"Partly Sunny\"/>\n <weather-conditions weather-summary=\"Chance Rain Showers\">\n <value coverage=\"chance\" intensity=\"light\" weather-type=\"rain showers\" qualifier=\"none\"/>\n </weather-conditions>\n <weather-conditions weather-summary=\"Partly Sunny\"/>\n <weather-conditions weather-summary=\"Mostly Sunny\"/>\n <weather-conditions weather-summary=\"Mostly Sunny\"/>\n <weather-conditions weather-summary=\"Mostly Sunny\"/>\n </weather>\n <conditions-icon type=\"forecast-NWS\" time-layout=\"k-p24h-n7-1\">\n <name>Conditions Icons</name>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/few.jpg</icon-link>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/sct.jpg</icon-link>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/hi_shwrs50.jpg</icon-link>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/sct.jpg</icon-link>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/few.jpg</icon-link>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/few.jpg</icon-link>\n <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/few.jpg</icon-link>\n </conditions-icon>\n <hazards time-layout=\"k-p1h-n1-3\">\n <name>Watches, Warnings, and Advisories</name>\n <hazard-conditions>\n <hazard hazardCode=\"FG.Y\" phenomena=\"Dense Fog\" significance=\"Advisory\" hazardType=\"long duration\">\n <hazardTextURL>http://forecast.weather.gov/wwamap/wwatxtget.php?cwa=lox&amp;wwa=Dense%20Fog%20Advisory</hazardTextURL>\n </hazard>\n </hazard-conditions>\n </hazards>\n </parameters>\n </data>\n</dwml>\n"},"http_version":null},"recorded_at":"Sat, 26 Oct 2013 14:42:19 GMT"},{"request":{"method":"get","uri":"http://w1.weather.gov/xml/current_obs/KSMO.xml","body":{"encoding":"UTF-8","string":""},"headers":{}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["Apache/2.2.15 (Red Hat)"],"Last-Modified":["Sat, 26 Oct 2013 14:02:19 GMT"],"Accept-Ranges":["bytes"],"Content-Length":["2106"],"Content-Type":["application/xml"],"Date":["Sat, 26 Oct 2013 14:42:19 GMT"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> \r\n<?xml-stylesheet href=\"latest_ob.xsl\" type=\"text/xsl\"?>\r\n<current_observation version=\"1.0\"\r\n\t xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\r\n\t xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n\t xsi:noNamespaceSchemaLocation=\"http://www.weather.gov/view/current_observation.xsd\">\r\n\t<credit>NOAA's National Weather Service</credit>\r\n\t<credit_URL>http://weather.gov/</credit_URL>\r\n\t<image>\r\n\t\t<url>http://weather.gov/images/xml_logo.gif</url>\r\n\t\t<title>NOAA's National Weather Service</title>\r\n\t\t<link>http://weather.gov</link>\r\n\t</image>\r\n\t<suggested_pickup>15 minutes after the hour</suggested_pickup>\r\n\t<suggested_pickup_period>60</suggested_pickup_period>\n\t<location>Santa Monica Muni, CA</location>\n\t<station_id>KSMO</station_id>\n\t<latitude>34.03</latitude>\n\t<longitude>-118.45</longitude>\n\t<observation_time>Last Updated on Oct 26 2013, 6:51 am PDT</observation_time>\r\n <observation_time_rfc822>Sat, 26 Oct 2013 06:51:00 -0700</observation_time_rfc822>\n\t<weather>Fog</weather>\n\t<temperature_string>57.0 F (13.9 C)</temperature_string>\r\n\t<temp_f>57.0</temp_f>\r\n\t<temp_c>13.9</temp_c>\n\t<relative_humidity>96</relative_humidity>\n\t<wind_string>Calm</wind_string>\n\t<wind_dir>North</wind_dir>\n\t<wind_degrees>0</wind_degrees>\n\t<wind_mph>0.0</wind_mph>\n\t<wind_kt>0</wind_kt>\n\t<pressure_string>1018.5 mb</pressure_string>\n\t<pressure_mb>1018.5</pressure_mb>\n\t<pressure_in>30.08</pressure_in>\n\t<dewpoint_string>55.9 F (13.3 C)</dewpoint_string>\r\n\t<dewpoint_f>55.9</dewpoint_f>\r\n\t<dewpoint_c>13.3</dewpoint_c>\n\t<visibility_mi>0.25</visibility_mi>\n \t<icon_url_base>http://forecast.weather.gov/images/wtf/small/</icon_url_base>\n\t<two_day_history_url>http://www.weather.gov/data/obhistory/KSMO.html</two_day_history_url>\n\t<icon_url_name>nfg.png</icon_url_name>\n\t<ob_url>http://www.weather.gov/data/METAR/KSMO.1.txt</ob_url>\n\t<disclaimer_url>http://weather.gov/disclaimer.html</disclaimer_url>\r\n\t<copyright_url>http://weather.gov/disclaimer.html</copyright_url>\r\n\t<privacy_policy_url>http://weather.gov/notice.html</privacy_policy_url>\r\n</current_observation>\n"},"http_version":null},"recorded_at":"Sat, 26 Oct 2013 14:42:19 GMT"}],"recorded_with":"VCR 2.6.0"}
@@ -1,22 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- module Barometer::WeatherService
4
- describe Noaa::CurrentResponse do
5
- let(:forecast_response) { Barometer::Response.new }
6
-
7
- it "parses the timezones correctly" do
8
- payload = Barometer::Utils::Payload.new({
9
- "observation_time_rfc822" => "Sun, 14 Apr 2013 10:51:00 -0700",
10
- "observation_time" => "Last Updated on Apr 14 2013, 10:51 am PDT"
11
- })
12
- response = Noaa::CurrentResponse.new(forecast_response).parse(payload)
13
-
14
- utc_observed_at = Time.utc(2013,04,14,17,51,00)
15
- utc_stale_at = Time.utc(2013,04,14,18,51,00)
16
-
17
- expect( response.current.observed_at.utc ).to eq utc_observed_at
18
- expect( response.current.stale_at.utc ).to eq utc_stale_at
19
- expect( response.timezone.to_s ).to eq 'PDT'
20
- end
21
- end
22
- end
@@ -1,33 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- module Barometer::WeatherService
4
- describe Noaa::ForecastResponse do
5
- it "parses the timezones correctly" do
6
- payload = Barometer::Utils::Payload.new({
7
- "time_layout" => [
8
- {
9
- "layout_key"=> "k-p12h-n14-2",
10
- "start_valid_time" => ["2013-02-09T06:00:00-08:00"],
11
- "end_valid_time" => ["2013-02-09T18:00:00-08:00"]
12
- }
13
- ],
14
- "parameters" => {
15
- "temperature" => [
16
- {"value"=>["55"], "@type"=>"maximum"},
17
- {"@type"=>"minimum"}
18
- ],
19
- "probability_of_precipitation" => { "value" => [] },
20
- "weather" => { "weather_conditions" => [] },
21
- "conditions_icon" => { "icon_link" => [] }
22
- }
23
- })
24
- response = Noaa::ForecastResponse.new.parse(payload)
25
-
26
- utc_starts_at = Time.utc(2013,2,9,14,0,0)
27
- utc_ends_at = Time.utc(2013,2,10,2,0,0)
28
-
29
- expect( response.forecast[0].starts_at.utc ).to eq utc_starts_at
30
- expect( response.forecast[0].ends_at.utc ).to eq utc_ends_at
31
- end
32
- end
33
- end
@@ -1,81 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe Barometer::WeatherService::Noaa, vcr: {
4
- cassette_name: "WeatherService::Noaa"
5
- } do
6
-
7
- it "auto-registers this weather service as :noaa" do
8
- Barometer::WeatherService.source(:noaa).should == Barometer::WeatherService::Noaa
9
- end
10
-
11
- describe ".call" do
12
- let(:query) { build_query.tap{|q|q.stub(add_conversion: nil)} }
13
-
14
- subject { Barometer::WeatherService::Noaa.call(query) }
15
-
16
- before do
17
- query.stub(:convert!).and_return do |*formats|
18
- if formats.include?(:noaa_station_id)
19
- Barometer::ConvertedQuery.new("KSMO", :station_id)
20
- elsif formats.include?(:zipcode)
21
- Barometer::ConvertedQuery.new("90210", :zipcode)
22
- end
23
- end
24
- end
25
-
26
- it "asks the query to convert to accepted formats" do
27
- query.should_receive(:convert!).with(:zipcode, :coordinates)
28
- subject
29
- end
30
-
31
- it "adds a coordinate conversion to the query" do
32
- query.should_receive(:add_conversion).with(:coordinates, '34.1,-118.41')
33
- subject
34
- end
35
-
36
- it "includes the expected data" do
37
- subject.query.should == '90210'
38
- subject.format.should == :zipcode
39
- subject.should be_metric
40
-
41
- should have_data(:current, :observed_at).as_format(:time)
42
- should have_data(:current, :stale_at).as_format(:time)
43
-
44
- should have_data(:current, :humidity).as_format(:float)
45
- should have_data(:current, :condition).as_format(:string)
46
- should have_data(:current, :icon).as_format(:string)
47
- should have_data(:current, :temperature).as_format(:temperature)
48
- # should have_data(:current, :wind_chill).as_format(:temperature)
49
- should have_data(:current, :dew_point).as_format(:temperature)
50
- should have_data(:current, :wind).as_format(:vector)
51
- should have_data(:current, :pressure).as_format(:pressure)
52
- should have_data(:current, :visibility).as_format(:distance)
53
-
54
- should have_data(:location, :name).as_value("Santa Monica Muni, CA")
55
- should have_data(:location, :city).as_value("Santa Monica Muni")
56
- should have_data(:location, :state_code).as_value("CA")
57
- should have_data(:location, :country_code).as_value("US")
58
- should have_data(:location, :latitude).as_value(34.10)
59
- should have_data(:location, :longitude).as_value(-118.41)
60
-
61
- should have_data(:station, :id).as_value("KSMO")
62
- should have_data(:station, :name).as_value("Santa Monica Muni, CA")
63
- should have_data(:station, :city).as_value("Santa Monica Muni")
64
- should have_data(:station, :state_code).as_value("CA")
65
- should have_data(:station, :country_code).as_value("US")
66
- should have_data(:station, :latitude).as_value(34.10)
67
- should have_data(:station, :longitude).as_value(-118.41)
68
-
69
- should have_data(:timezone, :to_s).as_format(/^P[DS]T$/i)
70
-
71
- subject.forecast.size.should == 14
72
- should have_forecast(:starts_at).as_format(:time)
73
- should have_forecast(:ends_at).as_format(:time)
74
- should have_forecast(:icon).as_format(:string)
75
- should have_forecast(:condition).as_format(:string)
76
- should have_forecast(:pop).as_format(:float)
77
- should have_forecast(:high).as_format(:temperature)
78
- should have_forecast(:low).as_format(:temperature)
79
- end
80
- end
81
- end