National Digital Forecast Database (NDFD) REST Web Service
NOAA's National Weather Service offers several XML services
|Forecasts||Watch/warnings||Current Observations||Tropical Cyclone Advisories||Storm Prediction Center Forecast Products||Change Notices|
- What is the NDFD REST Service?
- Why provide an NDFD REST service?
- How often is NDFD REST Service updated?
- How is NDFD Data generated?
- What data does the NDFD data contain?
- How Do You Use the Web Service?
- What if I need lots of NDFD data or find the web service too slow?
- What if I prefer to use SOAP to access NDFD web services?
- NWS XML Services Change Notices
What is the NDFD REST Service?
National Digital Forecast Database (NDFD) REST
service provides the public, government agencies, and commercial
enterprises with data from the National Weather Service’s (NWS) digital forecast
database. This service, which is defined in a
Service Description Document,
provides NWS customers and partners the ability to retrieve
NDFD data over the internet that is
encoded in XML.
The XML dialect used is called
Digital Weather Markup Language (DWML) and its schema can be found at the following link:
https://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd
The schema defines the XML language’s vocabulary (available tags and attributes) and
syntax (expected order of tags). Knowing how DWML is constructed, users can write
programs to process the XML document to get at the data it contains.
To see a sample Digital Weather Markup Language document that conforms to the DWML schema,
click on any of the following links:
https://graphical.weather.gov/xml/DWMLgen/schema/latest_DWML.txt
https://graphical.weather.gov/xml/DWMLgen/schema/latest_DWML_glance.txt
https://graphical.weather.gov/xml/DWMLgen/schema/latest_DWMLByDay24hr.txt
https://graphical.weather.gov/xml/DWMLgen/schema/latest_DWMLByDay12hr.txt
Why provide an NDFD REST service?
The National Weather Service is striving to serve society’s needs for weather
information by evolving its services from a text-based paradigm to one based on making
NWS information available quickly, efficiently, and in convenient and understandable
forms. The NDFD is one example of this transformation. NDFD REST takes yet
another step towards a digital services era by making NDFD data available for computer to
computer transfer and processing. NWS customers and partners can then enhance the
value of NDFD data through the creation of value added products.
You can provide comments on this web service from the following page.
http://www.nws.noaa.gov/feedback.php
How often is NDFD data updated?
The NDFD data available via the REST service is updated no more than hourly. As a result, we
request developers using this REST service only make a request for a specific point no more
than once an hour. The database is currently updated by 45 minutes after the hour.
You can interact with the REST service by visiting the following URLs:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXML.htm
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserByDay.htm
By clicking the “submit” button on the above web pages, a script is executed to
request and retrieve DWML-encoded NDFD data.
What data does the NDFD contain?
NDFD XML contains forecasts for any combination of the following meteorological parameters:
http://www.nws.noaa.gov/ndfd/technical.htm#elements
For additional information on NDFD parameter definitions and available time projection, please
see the NDFD technical page.
These NDFD parameters can be retrieved in their unsummarized form using the ndfdXMLclient.php interface, or
summarized over either 24- or 12-hourly periods using the ndfdBrowserClientByDay.php interface.
See the section below titled "How Do You Use the Web Service?" for more details on
these two methods of accessing the service.
In addition to its meteorological content, the NDFD REST service response contains meta data.
A description of the meta data and data XML tags and attributes can be
found in the
Digital Weather Markup Language Specification
[PDF]
[HTML]
[DOC]
How Do You Use the Web Service?
The first step to using the web service is to create a RESTful client. The client
submits an HTTP request containing a query string that holds the input expected by the
service. See the tables below for required user supplied input:
ndfdXMLclient.php Interface
Single Point Unsummarized Data: Returns DWML-encoded NDFD data for a point
Input Name |
Example |
Description |
lat |
39.0000 |
The WGS84 latitude of the point for which you want NDFD data. North latitude is positive. |
lon |
-77.0000 |
The WGS84 longitude of the point for which you want NDFD data. West longitude is negative. |
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginnng time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?lat=38.99&lon=-77.01&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-20T00:00:00&maxt=maxt&mint=mint
Multiple Point Unsummarized Data: Returns DWML-encoded NDFD data for a list of points
Input Name |
Example |
Description |
listLatLon |
38.99,-77.02 39.70,-104.80 |
List of WGS84 latitude and longitude pairs for the points for
which you want NDFD data. Each point's latitude and
longitude value is seperated by a comma. Each pair (one latitude
and longitude value) is separated by a space. Number of points
requested can not exceed 200. |
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginning time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?listLatLon=38.99,-77.02 39.70,-104.80 47.6,-122.30&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-20T00:00:00&Unit=e&maxt=maxt&mint=mint
Unsummarized Data for a Subgrid: Returns DWML-encoded NDFD data for a subgrid defined
by a lower left and upper right point
Input Name |
Example |
Description |
lat1 |
33.8835 |
The WGS84 latitude of the lower left point of the rectangular subgrid for which you want NDFD grid points. North latitude is positive. |
lon1 |
-80.0679 |
The WGS84 longitude of the lower left point of the rectangular subgrid for which you want NDFD grid points. West longitude is negative. |
lat2 |
33.8835 |
The WGS84 latitude of the upper right point of the rectangular subgrid for which you want NDFD grid points. North latitude is positive. |
lon2 |
-80.0679 |
The WGS84 longitude of the upper right point of the rectangular subgrid for which you want NDFD grid points. West longitude is negative. |
resolutionSub |
20.0 |
The default resolution for NDFD data is typically 5km. However, users can request
latitude and longitude values for resolutions greater ( 10km, 15km,
20km, etc.) than the native resolution so as to reduce the number of
points returned. |
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginning time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?lat1=35.00&lon1=-82.00&lat2=35.5&lon2=-81.50&resolutionSub=20.0&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00&maxt=maxt&mint=mint
A List of NDFD Points for a Subgrid: Returns the WGS84 latitude and longitude values of all the NDFD grid points within a rectangular subgrid as
defined by points at the lower left and upper right corners of the rectangle.
The returned list of points is suitable for use in inputs listLatLon and gmlListLatLon.
NOTE: The subgrid locations will only form a rectangle when viewed in the NDFD
projection applicable to the grid.
Input Name |
Example |
Description |
listLat1 |
33.8835 |
The WGS84 latitude of the lower left point of the rectangular subgrid for which you want NDFD grid points. North latitude is positive. |
listLon1 |
-80.0679 |
The WGS84 longitude of the lower left point of the rectangular subgrid for which you want NDFD grid points. West longitude is negative. |
listLat2 |
33.8835 |
The WGS84 latitude of the upper right point of the rectangular subgrid for which you want NDFD grid points. North latitude is positive. |
listLon2 |
-80.0679 |
The WGS84 longitude of the upper right point of the rectangular subgrid for which you want NDFD grid points. West longitude is negative. |
resolutionList |
20.0 |
The default resolution for NDFD data is typically 5km. However, users can request
latitude and longitude values for resolutions greater ( 10km, 15km,
20km, etc.) than the native resolution so as to reduce the number of
points returned. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?listLat1=35.00&listLon1=-82.00&listLat2=35.5&listLon2=-81.50&resolutionList=20.0
Unsummarized Data for a Line: Returns DWML-encoded NDFD data for a line of points
defined by the two end point
Input Name |
Example |
Description |
endPoint1Lat |
39.0000 |
The WGS84 latitude of the first end point of the line for which you want NDFD grid points. North latitude is positive. |
endPoint1Lon |
-77.0000 |
The WGS84 longitude of the first end point of the line for which you want NDFD grid points. West longitude is negative. |
endPoint2Lat |
39.0000 |
The WGS84 latitude of the second end point of the line for which you want NDFD grid points. North latitude is positive. |
endPoint2Lon |
-77.0000 |
The WGS84 longitude of the second end point of the line for which you want NDFD grid points. West longitude is negative. |
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginning time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?endPoint1Lat=38.99&endPoint1Lon=-77.01&endPoint2Lat=39.99&endPoint2Lon=-78.01&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00&maxt=maxt&mint=mint
Unsummarized Data for One or More Zipcodes: Returns DWML-encoded NDFD data for one or more zip
codes (50 United States and Puerto Rico).
The returned list of points is suitable for use in inputs listLatLon and gmlListLatLon.
Input Name |
Example |
Description |
zipCodeList |
20910 |
The zip code of the area for which you want NDFD grid points. |
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginning time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?zipCodeList=20910+25414&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00&maxt=maxt&mint=mint
Unsummarized Data for a List of Cities: Returns DWML-encoded NDFD data for a predefined list of cities. The cities are grouped into
a number of subsets to facilitate requesting data. You can view the cities in each group by clicking on the links in
the table below.
Input Name |
Example |
Description |
citiesLevel |
12 |
1 = Primary Cities.
2 = Secondary Cities.
3 = Cities that increase data density across the US (cities 1 - 200).
4 = Cities that increase data density across the US (cities 201 - 304).
12 = Combines cities in 1 and 2 above.
34 = Combines cities in 3 and 4 above.
1234 = Combines cities in 1, 2, 3, and 4 above.
|
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginning time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?citiesLevel=12&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00&maxt=maxt&mint=mint
A List of NDFD Points for a List of Cities: Returns the WGS84 latitude and longitude values for a predefined list of cities. The cities are grouped into
a number of subsets to facilitate requesting data. You can view the cities in each group by clicking on the links in
the table below. The returned list of pointsis suitable for input into NDFDgenLatLonList(),
NDFDgenByDayLatLonList(), and GmlLatLonList() which will return NDFD data for those points.
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?listCitiesLevel=12
Unsummarized Data for a Subgrid Defined by a Center Point: Returns DWML-encoded NDFD data for a rectangle defined
by a center point and distances in the latitudinal and longitudinal directions.
Input Name |
Example |
Description |
centerPointLat |
39.0000 |
The WGS84 latitude of the center or the rectangle for which you want NDFD grid points. North latitude is positive. |
centerPointLon |
-77.0000 |
The WGS84 longitude of the center or the rectangle for which you want NDFD grid points. West longitude is negative. |
distanceLat |
50.0 |
The distance from the center point in the latitudinal direction to the rectangle's East/West oriented sides. |
distanceLon |
50.0 |
The distance from the center point in the longitudinal direction to the rectangle's North/South oriented side. |
resolutionSquare |
20.0 |
The default resolution for NDFD data is typically 5km. However, users can request
latitude and longitude values for resolutions greater ( 10km, 15km,
20km, etc.) than the native resolution so as to reduce the number of
points returned. |
product |
time-series |
There are two products. The “time-series” product returns all data between the start and end times for the selected weather parameters. The “glance” product returns all data between the start and end times for the parameters maxt, mint, sky, wx, and icons |
begin |
2004-04-27T12:00 |
The beginning time for which you want NDFD data. If the string is empty, the beginning time is assumed to be the earliest available time in the database. Time should be in UTC time. |
end |
2004-04-30T12:00 |
The ending time for which you want NDFD data. If the string is empty, the ending time is assumed to be the last available time in the database. Time should be in UTC time. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
One or more ndfd elements |
maxt=maxt&mint=mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?centerPointLat=38.0¢erPointLon=-97.4&distanceLat=50.0&distanceLon=50.0&resolutionSquare=20.0&product=time-series&begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00&maxt=maxt&mint=mint
Unsummarized Data for a Single Time Encoded in dwGML: Returns Digital Weather Geography
Markup Language (dwGML) encoded NDFD data for a list of points at a
single valid time.
Input Name |
Example |
Description |
gmlListLatLon |
38.99,-77.02 39.70,-104.80 |
List of WGS84 latitude and longitude pairs for the points for
which you want NDFD data. Each point's latitude and
longitude value is seperated by a comma. Each pair (one latitude
and longitude value) is separated by a space. Number of points
requested can not exceed 200. |
requestedTime |
2004-04-27T12:00:00 |
The time for which you want NDFD data. |
featureType |
Forecast_Gml2Point |
GML 2 Compliant Data Structure: Forecast_Gml2Point
GML 3 Compliant Data Structures: Forecast_GmlsfPoint, Forecast_GmlObs, NdfdMultiPointCoverage
KML 2 Compliant Data Structure: Ndfd_KmlPoint |
propertyName |
maxt,mint |
The NDFD parameters that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?whichClient=GmlLatLonList&gmlListLatLon=38.99,-77.02 39.70,-104.80 47.6,-122.30&featureType=Forecast_Gml2Point&&begin=2000-01-01T00:00:00&end=2015-01-01T00:00:00&compType=Between&propertyName=maxt,wx
GML is an Open Geospatial Consortium standard for encoding geospatial data.
One of the advantages of NDFD GML is that it is a recognized standard. As
a result, GML and application schema derived from it are supported
by a number of GIS applications. There are examples of importing GML-encoded
NDFD into several applications at the following link.
Tutorials showing how to use various compatible clients
Tutorials on integrating the NDFD Web Service and clients like ArcGIS, Google Earth, and Google Maps.
In addition to GML, the service can return Keyhole Markup Language (KML) encoded NDFD data
by setting the featureType input to Ndfd_KmlPoint. KML can be viewed with
freely available tools like Google Earth.
Unsummarized Data for a Period of Time Encoded in dwGML: Returns Digital Weather Geography
Markup Language (dwGML) encoded NDFD data for a list of points
during a user specified time period.
Input Name |
Example |
Description |
gmlListLatLon |
38.99,-77.02 39.70,-104.80 |
List of WGS84 latitude and longitude pairs for the points for
which you want NDFD data. Each point's latitude and
longitude value is seperated by a comma. Each pair (one latitude
and longitude value) is separated by a space. Number of points
requested can not exceed 200. |
begin |
XML Date String |
2008-01-01T00:00:00 |
The start time for which you want NDFD data. If the string is
empty, the beginning time is assumed to be the earliest available time
in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days
worth), e.g. if user wants data for days 2-5. |
end |
XML Date String |
2010-12-31T23:59:59 |
The end time for which you want NDFD data. If the string is
empty, the ending time is assumed to be the latest available time
in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days
worth), e.g. if user wants data for days 2-5. |
compType |
string |
Between |
Comparison type. Can be IsEqual, Between, GreatThan, GreaterThanOrEqual,
LessThan, or LessThanOrEqual. |
featureType |
string |
Forecast_Gml2Point |
GML 2 Compliant Data Structure: Forecast_Gml2Point
GML 3 Compliant Data Structures: Forecast_GmlsfPoint, Forecast_GmlObs, NdfdMultiPointCoverage
KML 2 Compliant Data Structure: Ndfd_KmlPoint |
propertyName |
comma delimited list |
maxt,mint,wx |
The NDFD element that you are requesting. For valid inputs see the NDFD Element Names Page. |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?gmlListLatLon=38.99,-77.02+39.70,-104.80+47.6,-122.30&featureType=Forecast_Gml2Point&begin=2000-01-01T00:00:00&end=2018-01-01T00:00:00&compType=Between&propertyName=maxt,wx
GML is an Open Geospatial Consortium standard for encoding geospatial data.
One of the advantages of NDFD GML is that it is a recognized standard. As
a result, GML and application schema derived from it are supported
by a number of GIS applications. There are examples of importing GML-encoded
NDFD into several applications at the following link.
Tutorials showing how to use various compatible clients
Tutorials on integrating the NDFD Web Service and clients like ArcGIS, Google Earth, and Google Maps.
In addition to GML, the service can return Keyhole Markup Language (KML) encoded NDFD data
by setting the featureType input to Ndfd_KmlPoint. KML can be viewed with
freely available tools like Google Earth.
ndfdBrowserClientByDay.php Interface
Single Point Summarized Data: Returns DWML-encoded NDFD data for a point. Data for each point is summarized for either a 24- or 12-hour time period
Input Name |
Example |
Description |
lat |
39.0000 |
The WGS84 latitude of the point for which you want NDFD data. North latitude is positive. |
lon |
-77.0000 |
The WGS84 longitude of the point for which you want NDFD data. West longitude is negative. |
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string
is empty, the start date is assumed to be the earliest available day
in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days
worth), e.g. if user wants data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be full number of days in the database. This input is
only needed if one wants to shorten the time window data is to be retrieved for (less
than entire 7 days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?lat=38.99&lon=-77.01&format=24+hourly&numDays=7
Multiple Point Summarized Data: Returns DWML-encoded NDFD data for a list of points. Data for each point is summarized for either a 24- or 12-hour time period
Input Name |
Example |
Description |
listLatLon |
38.99,-77.02 39.70,-104.80 |
List of WGS84 latitude and longitude pairs for the points for
which you want NDFD data. Each point's latitude and
longitude value is seperated by a comma. Each pair (one latitude
and longitude value) is separated by a space. Number of points
requested can not exceed 200. |
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string is empty,
the start date is assumed to be the earliest available day in the database.
This input is only needed if one wants to shorten the time window data is to be
retrieved for (less than entire 7 days worth), e.g. if user wants
data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be the full number of days in the database. This input
is only needed if one wants to shorten the time window data is to be retrieved for (less
than entire 7 days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?listLatLon=38.99,-77.02+39.70,-104.80+47.6,-122.30&format=24+hourly&numDays=7
Summarized Data for a Subgrid: Returns DWML-encoded NDFD data for all the NDFD grid
points within a rectangular subgrid as
defined by
points at the lower left and upper right
corners of the rectangle.
Input Name |
Example |
Description |
lat1 |
33.8835 |
The WGS84 latitude of the lower left point of the rectangular subgrid for which you want NDFD grid points. North latitude is positive. |
lon1 |
-80.0679 |
The WGS84 longitude of the lower left point of the rectangular subgrid for which you want NDFD grid points. West longitude is negative. |
lat2 |
33.8835 |
The WGS84 latitude of the upper right point of the rectangular subgrid for which you want NDFD grid points. North latitude is positive. |
lon2 |
-80.0679 |
The WGS84 longitude of the upper right point of the rectangular subgrid for which you want NDFD grid points. West longitude is negative. |
resolutionSub |
20.0 |
The default resolution for NDFD data is typically 5km. However, users can request
latitude and longitude values for resolutions greater ( 10km, 15km,
20km, etc.) than the native resolution so as to reduce the number of
points returned. |
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string is empty,
the start date is assumed to be the earliest available day in the database.
This input is only needed if one wants to shorten the time window data is to be
retrieved for (less than entire 7 days worth), e.g. if user wants
data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be the full number of days in the database. This input is only
needed if one wants to shorten the time window data is to be retrieved for (less than entire 7
days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?lat1=35.00&lon1=-82.00&lat2=35.5&lon2=-81.50&resolutionSub=20.0&format=24+hourly&numDays=7
Summarized Data for a Line: Returns DWML-encoded NDFD data for all points on a line
defined by the line's
end points.
Input Name |
Example |
Description |
endPoint1Lat |
39.0000 |
The WGS84 latitude of the first end point of the line for which you want NDFD grid points. North latitude is positive. |
endPoint1Lon |
-77.0000 |
The WGS84 longitude of the first end point of the line for which you want NDFD grid points. West longitude is negative. |
endPoint2Lat |
39.0000 |
The WGS84 latitude of the second end point of the line for which you want NDFD grid points. North latitude is positive. |
endPoint2Lon |
-77.0000 |
The WGS84 longitude of the second end point of the line for which you want NDFD grid points. West longitude is negative. |
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string is empty, the start date is assumed to be the earliest available day in the database. This input is only
needed if one wants to shorten the time window data is to be
retrieved for (less than entire 7 days worth), e.g. if user wants
data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be the full number of days in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?endPoint1Lat=38.99&endPoint1Lon=-77.01&endPoint2Lat=39.99&endPoint2Lon=-78.01&format=24+hourly&numDays=7
Summarized Data for One or More Zipcodes: Returns DWML-encoded NDFD data for one or more zip
codes (50 United States and Puerto Rico).
Input Name |
Example |
Description |
zipCodeList |
20910 |
The zip code of the area for which you want NDFD grid points. |
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string is empty, the start date is assumed to be the earliest available day in the database. This input is only
needed if one wants to shorten the time window data is to be
retrieved for (less than entire 7 days worth), e.g. if user wants
data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be the full amount of daysi in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?zipCodeList=20910+25414&format=24+hourly&numDays=7
Summarized Data for a List of Cities: Returns DWML-encoded NDFD data for a predefined list of cities. The cities are grouped into
a number of subsets to facilitate requesting data. You can view the cities in each group by clicking on the links in
the table below.
Input Name |
Example |
Description |
citiesLevel |
12 |
1 = Primary Cities.
2 = Secondary Cities.
3 = Cities that increase data density across the US (cities 1 - 200).
4 = Cities that increase data density across the US (cities 201 - 304).
12 = Combines cities in 1 and 2 above.
34 = Combines cities in 3 and 4 above.
1234 = Combines cities in 1, 2, 3, and 4 above.
|
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string is empty, the start date is assumed to be the earliest available day in the database. This input is only
needed if one wants to shorten the time window data is to be
retrieved for (less than entire 7 days worth), e.g. if user wants
data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be the full amount of days in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?citiesLevel=12&format=24+hourly&numDays=7
Summarized Data for a Subgrid Defined by a Center Point: Returns DWML-encoded NDFD data for a rectangle defined
by a center point and distances in the latitudinal and longitudinal directions.
Input Name |
Example |
Description |
centerPointLat |
39.0000 |
The WGS84 latitude of the center or the rectangle for which you want NDFD grid points. North latitude is positive. |
centerPointLon |
-77.0000 |
The WGS84 longitude of the center or the rectangle for which you want NDFD grid points. West longitude is negative. |
distanceLat |
50.0 |
The distance from the center point in the latitudinal direction to the rectangle's East/West oriented sides. |
distanceLon |
50.0 |
The distance from the center point in the longitudinal direction to the rectangle's North/South oriented side. |
resolutionSquare |
20.0 |
The default resolution for NDFD data is typically 5km. However, users can request
latitude and longitude values for resolutions greater ( 10km, 15km,
20km, etc.) than the native resolution so as to reduce the number of
points returned. |
startDate |
2004-04-27 |
The beginning day for which you want NDFD data. If the string is empty, the start date is assumed to be the earliest available day in the database. This input is only
needed if one wants to shorten the time window data is to be
retrieved for (less than entire 7 days worth), e.g. if user wants
data for days 2-5. |
numDays |
7 |
The number of days worth of NDFD data you want. If the string is empty, numDays is assumed to be the full amount of days in the database. This input is only needed if one wants to shorten
the time window data is to be retrieved for (less than entire 7 days worth), e.g. if user wants data for days 2-5. |
Unit |
e |
The unit data is to be retrieved in.
The default value is U.S. Standard, or English units ("e").
A string value of "m" will return data in Metric, or SI units (The
International System of Units). If the string is empty, data will
be returned in U.S. Standard units, thus the input is only needed
for metric conversion.
|
format |
12 hourly |
There are two formats. The “24 hourly” format returns NDFD data summarized for a 24 hour period running from 6:00 AM to 6:00 AM. The “12 hourly” format summarizes NDFD data into two 12 hour periods per day that run from 6:00 AM to 6:00 PM and 6:00 PM to 6:00 AM |
A sample query string follows:
https://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?centerPointLat=38.0¢erPointLon=-97.4&distanceLat=50.0&distanceLon=50.0&resolutionSquare=20.0&format=24+hourly&numDays=7
Once the REST Services returns the XML document back to the client, you can then parse the DWML using
SAX, the DOM,
or XSLT.
All latitude and longitude values provided as input or in the output DWML are based on
the World Geodetic System 1984 (WGS84). For more inforation on the NDFD spatial reference
system see the NDFD Spatial Reference System page.
Please note: There is an NDFD Web Services user forum that might be able to help developers with
implementation language specific issues. The unofficial forum can be found at the following URL:
http://tech.groups.yahoo.com/group/NDFD_SOAP_Service/
What if I need lots of NDFD data or find the web service too slow?
You should consult the NDFD web services use guidelines.
The NWS has developed a program called degrib that can output NDFD data encoded in DWML. Degrib is a C program that allows you to visualize NDFD GRIB2 data and convert these binary files into other
formats. If you are a web service user who wants DWML-encoded data for a large number of NDFD points, degrib will
allow you to move the DWML-encoding process to your computer. By using degrib to process the NDFD data on a local
computer, you may be able to significantly improve the speed with which your program is able to ingest NDFD data. The NWS makes a degrib executable available for Microsoft Windows PCs and the degrib source code available for compilation on other computer operating systems. To download degrib software, visit the URL http://www.nws.noaa.gov/mdl/degrib/register.php. Once you have the degrib software running, you will need to maintain updated NDFD GRIB2 files.
For more information on downloading NDFD GRIB2 files from the NWS Telecommunication Operations Center, see the URL
http://www.nws.noaa.gov/mdl/degrib/dataloc.php. For additional help on using degrib to convert NDFD GRIB2 files into
DWML see the degrib tutorial and
man page.
What if I prefer not to use a RESTful to access NDFD web services?
Please visit the following web pages:
NDFD SOAP Service Home page
NWS XML Services Change Notices 
Below are listed recent change notices for NWS XML services. A complete listing is available. An RSS feed of the change notices is also available. These notices are used to announce major changes, schema changes and new services.
NDFD-XML: For SSL security, instances of "http" changed to "https" where appropriate for the NDFD Web Service For more information see the Implementation Notice
NDFD-XML: Add new hazard translations for SS.A, SS.W, BH.S, and RP.S Four new Hazards Codes, beach hazards (BH.S), rip currents (RP.S), and storm surge (SS.A and SS.W) were added for the NDFD Web Service.
NDFD-XML: Outdated MapClick links changed in moreWeatherInformation XML tag Outdated MapClick links changed for the NDFD Web Service. The moreWeatherInformation tag was previously in the form: http://forecast.weather.gov/MapClick.php?textField1=38.99textField2=-77.01. It has been updated to: https://forecast.weather.gov/point/38.99,-77.01
Changes list last updated Thursday 01st 1970f January 1970 12:00:00 AM
|