Documentation ¶
Overview ¶
Package forecast access the National Digital Forecast Database.
The service has 12 exposed functions, NDFDgen, NDFDgenLatLonList, NDFDgenByDay, NDFDgenByDayLatLonList, LatLonListSubgrid, LatLonListLine, LatLonListZipCode, CornerPoints, LatLonListSquare, GmlLatLonList, GmlTimeSeries, and LatLonListCityNames. For the NDFDgen function, the client needs to provide a latitude and longitude pair and the product type. The Unit will default to U.S. Standard (english) unless Metric is chosen by client. The client also needs to provide the start and end time (Local) of the period that it wants data for (if shorter than the 7 days is wanted). For the time-series product, the client needs to provide an array of boolean values corresponding to which NDFD values are desired. For the NDFDgenByDay function, the client needs to provide a latitude and longitude pair, the date (Local) it wants to start retrieving data for and the number of days worth of data. The Unit will default to U.S. Standard (english) unless Metric is chosen by client. The client also needs to provide the format that is desired. For the multi point versions, NDFDgenLatLonList and NDFDgenByDayLatLonList a space delimited list of latitude and longitude pairs are substituted for the single latitude and longitude input. Each latitude and longitude pair is composed of a latitude and longitude delimited by a comma. For the LatLonListSubgrid, the user provides a comma delimited latitude and longitude pair for the lower left and for the upper right corners of a rectangular subgrid. The function can also take a integer resolution to reduce the number of grid points returned. The service then returns a list of latitude and longitude pairs for all the grid points contained in the subgrid. weather values should appear in the time series product. For the LatLonListLine, The inputs are the same as the function NDFDgen except the latitude and longitude pair is replaced by two latitude and longitude pairs, one for each end point a line. The two points are delimited with a space. The service then returns data for all the NDFD points on the line formed by the two points. For the LatLonListZipCode function, the input is the same as the NDFDgen function except the latitude and longitude values are relaced by a zip code for the 50 United States and Puerto Rico. For the LatLonListSquare function, the input is the same as the NDFDgen function except the latitude and longitude values are relaced by a zip code for the 50 United States and Puerto Rico. For the CornerPoints function, the service requires a valid NDFD grid name. The function returns a list of four latitude and longitude pairs, one for each corner of the NDFD grid. The function also returns the minimum resolution required to return the entire grid below the maximum points threshold. For the GmlLatLonList function, the service requires a list of latitude and longitude pairs, the time (UTC) the user wants data for, the GML feature type and the array of boolean values corresponding to which NDFD values are desired. For the GmlTimeSeries function, the service requires a list of latitude and longitude pairs, the start and end time (UTC) the user wants data for, a comparison type (IsEqual, Between, GreaterThan, GreaterThan, GreaterThanEqualTo, LessThan, and LessThanEqualTo), the GML feature type and The input variable "propertyName" contains a comma delimited string of NDFD element to indicate which weather parameters are being requested. For the LatLonListCityNames function, the services requires a detail level that that ranges from 1 to 4. Level 1 generally represents large main cities. Level 2 represents progressively smaller cities or large cities that are close to another even larger city. Levels 3 and 4 are part one and two of a list of cities that help increase the areal coverage of the cities dataset. This functions returns a list of latitude and longitude values along with a seperate list of city name for those point.
Index ¶
- type Client
- func (c *Client) CornerPoints(ctx context.Context, sector Sector) (ListLatLon, error)
- func (c *Client) GmlLatLonList(ctx context.Context, v GmlLatLonListRequest) (string, error)
- func (c *Client) GmlTimeSeries(ctx context.Context, v GmlTimeSeriesRequest) (string, error)
- func (c *Client) LatLonListCityNames(ctx context.Context, displayLevel DisplayLevel) (ListCityNames, error)
- func (c *Client) LatLonListLine(ctx context.Context, v LatLonListLineRequest) (ListLatLon, error)
- func (c *Client) LatLonListSquare(ctx context.Context, v LatLonListSquareRequest) (ListLatLon, error)
- func (c *Client) LatLonListSubgrid(ctx context.Context, v LatLonListSubgridRequest) (ListLatLon, error)
- func (c *Client) LatLonListZipCode(ctx context.Context, zipCodeList ZipCodeList) (ListLatLon, error)
- func (c *Client) NDFDgen(ctx context.Context, v NDFDgenRequest) (string, error)
- func (c *Client) NDFDgenByDay(ctx context.Context, v NDFDgenByDayRequest) (string, error)
- func (c *Client) NDFDgenByDayLatLonList(ctx context.Context, v NDFDgenByDayLatLonListRequest) (string, error)
- func (c *Client) NDFDgenLatLonList(ctx context.Context, v NDFDgenLatLonListRequest) (string, error)
- type CompType
- type DisplayLevel
- type FeatureType
- type Format
- type GmlLatLonListRequest
- type GmlTimeSeriesRequest
- type LatLonListLineRequest
- type LatLonListSquareRequest
- type LatLonListSubgridRequest
- type LatLonPair
- type ListCityNames
- type ListLatLon
- type NDFDgenByDayLatLonListRequest
- type NDFDgenByDayRequest
- type NDFDgenLatLonListRequest
- type NDFDgenRequest
- type Product
- type Sector
- type Unit
- type WeatherParameters
- type ZipCode
- type ZipCodeList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { HTTPClient *http.Client ResponseHook func(*http.Response) *http.Response RequestHook func(*http.Request) *http.Request }
func (*Client) CornerPoints ¶
Returns four latitude and longitude pairs for corners of an NDFD grid and the minimum resolution that will return the entire grid
func (*Client) GmlLatLonList ¶
Returns National Weather Service digital weather forecast data encoded in GML for a single time
func (*Client) GmlTimeSeries ¶
Returns National Weather Service digital weather forecast data encoded in GML for a time period
func (*Client) LatLonListCityNames ¶
func (c *Client) LatLonListCityNames(ctx context.Context, displayLevel DisplayLevel) (ListCityNames, error)
Returns a list of latitude and longitude pairs paired with the city names they correspond to
func (*Client) LatLonListLine ¶
func (c *Client) LatLonListLine(ctx context.Context, v LatLonListLineRequest) (ListLatLon, error)
Returns a list of latitude and longitude pairs along a line defined by the latitude and longitude of the 2 endpoints
func (*Client) LatLonListSquare ¶
func (c *Client) LatLonListSquare(ctx context.Context, v LatLonListSquareRequest) (ListLatLon, error)
Returns a list of latitude and longitude pairs in a rectangle defined by a central point and distance from that point in the latitudinal and longitudinal directions
func (*Client) LatLonListSubgrid ¶
func (c *Client) LatLonListSubgrid(ctx context.Context, v LatLonListSubgridRequest) (ListLatLon, error)
Returns a list of latitude and longitude pairs in a rectangular subgrid defined by the lower left and upper right points
func (*Client) LatLonListZipCode ¶
func (c *Client) LatLonListZipCode(ctx context.Context, zipCodeList ZipCodeList) (ListLatLon, error)
Returns a list of latitude and longitude pairs with each pair corresponding to an input zip code.
func (*Client) NDFDgenByDay ¶
Returns National Weather Service digital weather forecast data summarized over either 24- or 12-hourly periods
func (*Client) NDFDgenByDayLatLonList ¶
func (c *Client) NDFDgenByDayLatLonList(ctx context.Context, v NDFDgenByDayLatLonListRequest) (string, error)
Returns National Weather Service digital weather forecast data summarized over either 24- or 12-hourly periods
func (*Client) NDFDgenLatLonList ¶
Returns National Weather Service digital weather forecast data
type CompType ¶
type CompType string
May be one of IsEqual, Between, GreaterThan, GreaterThanEqualTo, LessThan, LessThanEqualTo
type FeatureType ¶
type FeatureType string
May be one of Forecast_Gml2Point, Forecast_Gml2AllWx, Forecast_GmlsfPoint, Forecast_GmlObs, NdfdMultiPointCoverage, Ndfd_KmlPoint
type GmlLatLonListRequest ¶
type GmlLatLonListRequest struct { ListLatLon ListLatLon RequestedTime time.Time FeatureType FeatureType WeatherParameters WeatherParameters }
type GmlTimeSeriesRequest ¶
type GmlTimeSeriesRequest struct { ListLatLon ListLatLon StartTime time.Time EndTime time.Time CompType CompType FeatureType FeatureType PropertyName string }
type LatLonListLineRequest ¶
type LatLonListSquareRequest ¶
type ListCityNames ¶
type ListCityNames string
Must match the pattern [a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z](\|[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z])*
type ListLatLon ¶
type ListLatLon string
Must match the pattern [\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+( [\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+)*
type NDFDgenByDayRequest ¶
type NDFDgenLatLonListRequest ¶
type NDFDgenLatLonListRequest struct { ListLatLon ListLatLon Product Product StartTime time.Time EndTime time.Time Unit Unit WeatherParameters WeatherParameters }
type NDFDgenRequest ¶
type Sector ¶
type Sector string
May be one of conus, nhemi, alaska, guam, hawaii, puertori, npacocn
type WeatherParameters ¶
type WeatherParameters struct { Maxt bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd maxt"` Mint bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd mint"` Temp bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd temp"` Dew bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd dew"` Pop12 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd pop12"` Qpf bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd qpf"` Sky bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd sky"` Snow bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd snow"` Wspd bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wspd"` Wdir bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wdir"` Wx bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wx"` Waveh bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd waveh"` Icons bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd icons"` Rh bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd rh"` Appt bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd appt"` Incw34 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd incw34"` Incw50 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd incw50"` Incw64 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd incw64"` Cumw34 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd cumw34"` Cumw50 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd cumw50"` Cumw64 bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd cumw64"` Critfireo bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd critfireo"` Dryfireo bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd dryfireo"` Conhazo bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd conhazo"` Ptornado bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd ptornado"` Phail bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd phail"` Ptstmwinds bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd ptstmwinds"` Pxtornado bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd pxtornado"` Pxhail bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd pxhail"` Pxtstmwinds bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd pxtstmwinds"` Ptotsvrtstm bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd ptotsvrtstm"` Pxtotsvrtstm bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd pxtotsvrtstm"` Tmpabv14d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd tmpabv14d"` Tmpblw14d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd tmpblw14d"` Tmpabv30d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd tmpabv30d"` Tmpblw30d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd tmpblw30d"` Tmpabv90d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd tmpabv90d"` Tmpblw90d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd tmpblw90d"` Prcpabv14d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd prcpabv14d"` Prcpblw14d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd prcpblw14d"` Prcpabv30d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd prcpabv30d"` Prcpblw30d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd prcpblw30d"` Prcpabv90d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd prcpabv90d"` Prcpblw90d bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd prcpblw90d"` Precipar bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd precipa_r"` Skyr bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd sky_r"` Tdr bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd td_r"` Tempr bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd temp_r"` Wdirr bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wdir_r"` Wspdr bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wspd_r"` Wwa bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wwa"` Wgust bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd wgust"` Iceaccum bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd iceaccum"` Maxrh bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd maxrh"` Minrh bool `xml:"http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd minrh"` }
type ZipCodeList ¶
type ZipCodeList string
Must match the pattern \d{5}(\-\d{4})?( \d{5}(\-\d{4})?)*