This library provides API client access to NOAA's NDFD database for access to weather forecast information via Ruby.
You can see the available forecast information that is accessible via the API on the NDFD technical description page.
In general, you can get the following:
- Specific forecast dimensions (min/max temperature, wind speed, etc.) out to 168 hours.
- Climate outlook probabilities (estimated averages/totals of temperature and precipitation)
- Convective Outlook Hazard Probabilities (hazard outlook, tornadoes, etc.)
- Probabilistic Tropical Cyclone Surface Wind Speed (measured in knots)
The client offers a easy to use query interface and will hand back data to you in hashes, arrays and XML documents.
Other features:
- Validates requests and data types on execution of requests (will raise contextual errors on poorly formed data in queries)
Ruby versions supported:
- 2.1.x
- 2.0.x
- 1.9.3
Ruby versions not supported (but will be):
- JRuby 1.7+
- Rubinius 2.2+
Ruby versions that will not be supported:
- <= 1.9.2 (including REE)
Libraries used:
- savon (for SOAP support)
- active_support (for TimeWithZone support)
- nokogiri (for XML/XSLT parsing)
- http_logger (for controlling logging output from savon)
gem install ndfd-forecast-weather-client
NDFD.client
is the top-level start point from whence all API calls are executed.
Most calls follow the form of:
NDFD.client.
select(:maxt, :mint, :temp, etc.).
where(conditions).
execute
This will return an Array, Hash or Nokogiri::XML::Document containing the data from the response depending on the type of the request.
NOTE: Dates and times passed to the where
must be
ActiveSupport::TimeWithZone objects.
NOTE: NDFDgen
and NDFDgenByDay
are not implemented in favor of
using the equivalent collection-based functions.
Query Method | API server function | Description |
---|---|---|
select |
NDFDgenLatLonList |
Returns a Hash of forecast metrics for multiple latitudes/longitudes. |
select_gml |
GmlLatLonList |
Returns a Nokogiri::XML::Document of forecast metrics in GML format for multiple latitudes/longitudes. |
select_gml_on_time_series |
GmlTimeSeries |
Returns a Nokogiri::XML::Document of forecast metrics in GML format for multiple latitudes/longitudes over a specific time period. |
select_by_days |
NDFDgenByDayLatLonList |
Returns a Hash of forecast metrics for multiple latitudes/longitudes in a 24/12 hour period for a number of days. |
select_coordinates_by_zip |
LatLonListZipCode |
Returns a Hash of latitudes/longitudes for every zip code requested. |
select_coordinates_by_cities |
LatLonListCityNames |
Returns a Hash of latitudes/longitudes for a pre-defined set of cities. |
select_square_coordinates |
LatLonListSquare |
Returns a Array of latitudes/longitudes for the requested rectangular area. |
select_gridpoint_coordinates |
LatLonListSubgrid |
Returns a Array of latitudes/longitudes for the requested subgrid. |
select_linepoint_coordinates |
LatLonListLine |
Returns a Array of latitudes/longitudes between a start and end coordinate. |
select_corner_coordinates |
CornerPoints |
Returns a Array of latitudes/longitudes of the corners of one of the NDFD grids. |
To see a description of the NDFD Spatial Reference System (used for collecting lat/longs in an area) http://graphical.weather.gov/docs/ndfdSRS.htm
- To greencoder for noaa-dwml-to-json-xslt