Skip to content

alakra/dwml

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dwml Gem Version Build Status Code Climate

An opinionated 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 18:49: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 12:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Sun, 08 Mar 2020 00:00:00 UTC +00:00},
               {:value=>59.0,
                :start_time=>Sun, 08 Mar 2020 12:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Mon, 09 Mar 2020 00:00:00 UTC +00:00},
               {:value=>68.0,
                :start_time=>Mon, 09 Mar 2020 12:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Tue, 10 Mar 2020 00:00:00 UTC +00:00},
               {:value=>66.0,
                :start_time=>Tue, 10 Mar 2020 12:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Wed, 11 Mar 2020 00:00:00 UTC +00:00},
               {:value=>62.0,
                :start_time=>Wed, 11 Mar 2020 12:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Thu, 12 Mar 2020 00:00:00 UTC +00:00}]},
           :minimum=>
            {:name=>"Daily Minimum Temperature",
             :values=>
              [{:value=>35.0,
                :start_time=>Sat, 07 Mar 2020 00:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Sat, 07 Mar 2020 13:00:00 UTC +00:00},
               {:value=>31.0,
                :start_time=>Sun, 08 Mar 2020 01:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Sun, 08 Mar 2020 13:00:00 UTC +00:00},
               {:value=>40.0,
                :start_time=>Mon, 09 Mar 2020 00:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Mon, 09 Mar 2020 13:00:00 UTC +00:00},
               {:value=>51.0,
                :start_time=>Tue, 10 Mar 2020 00:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Tue, 10 Mar 2020 13:00:00 UTC +00:00},
               {:value=>48.0,
                :start_time=>Wed, 11 Mar 2020 00:00:00 UTC +00:00,
                :unit=>"Fahrenheit",
                :end_time=>Wed, 11 Mar 2020 13:00: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.

About

An opinionated parser for NOAA's Digital Weather Markup Language (DWML)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages