dwml
¶ ↑
A parser for NOAA's Digital Weather Markup Language (DWML
).
Requirements¶ ↑
-
ruby >=
2.5.x
Usage¶ ↑
In your Gemfile
:
gem 'dwml', '~>1.2'
In your application:
output = DWML.new(nokogiri_xml_doc).process
The output will look something like this:
{:product=> {:title=>"NOAA's National Weather Service Forecast Data", :field=>"meteorological", :category=>"forecast", :creation_date=>Thu, 05 Mar 2020 1849:42 UTC +00:00}, :source=> {:product_center=> "Meteorological Development Laboratory - Product Generation Branch", :more_information=>"https://graphical.weather.gov/xml/", :disclaimer=>"http://www.nws.noaa.gov/disclaimer.html", :credit=>"https://www.weather.gov/", :credit_logo=>"https://www.weather.gov/logorequest", :feedback=>"https://www.weather.gov/contact"}, :parameters=> {"point1"=> {:latitude=>38.99, :longitude=>-77.01, :temperature=> {:maximum=> {:name=>"Daily Maximum Temperature", :values=> [{:value=>48.0, :start_time=>Sat, 07 Mar 2020 1200:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Sun, 08 Mar 2020 0000:00 UTC +00:00}, {:value=>59.0, :start_time=>Sun, 08 Mar 2020 1200:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Mon, 09 Mar 2020 0000:00 UTC +00:00}, {:value=>68.0, :start_time=>Mon, 09 Mar 2020 1200:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Tue, 10 Mar 2020 0000:00 UTC +00:00}, {:value=>66.0, :start_time=>Tue, 10 Mar 2020 1200:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Wed, 11 Mar 2020 0000:00 UTC +00:00}, {:value=>62.0, :start_time=>Wed, 11 Mar 2020 1200:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Thu, 12 Mar 2020 0000:00 UTC +00:00}]}, :minimum=> {:name=>"Daily Minimum Temperature", :values=> [{:value=>35.0, :start_time=>Sat, 07 Mar 2020 0000:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Sat, 07 Mar 2020 1300:00 UTC +00:00}, {:value=>31.0, :start_time=>Sun, 08 Mar 2020 0100:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Sun, 08 Mar 2020 1300:00 UTC +00:00}, {:value=>40.0, :start_time=>Mon, 09 Mar 2020 0000:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Mon, 09 Mar 2020 1300:00 UTC +00:00}, {:value=>51.0, :start_time=>Tue, 10 Mar 2020 0000:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Tue, 10 Mar 2020 1300:00 UTC +00:00}, {:value=>48.0, :start_time=>Wed, 11 Mar 2020 0000:00 UTC +00:00, :unit=>"Fahrenheit", :end_time=>Wed, 11 Mar 2020 1300:00 UTC +00:00}]}}}}}
FAQ¶ ↑
Where do I get DWML
documents from?¶ ↑
You can download them directly from the National Digital Forecast Database (NDFD) Digital Weather Markup Language (DWML) Generator.