Documentation
¶
Overview ¶
Package noaa retrieves and parses data from National Oceanic and Atmospheric Administration ("NOAA"). This also includes data from the National Data Buoy Center ("NDBC").
Index ¶
Constants ¶
View Source
const ( ActiveStations = baseUrlNDBC + "activestations" Realtime = baseUrlNDBC + "data/realtime2" )
NDBC Endpoints
View Source
const ( DATASPEC = "data_spec" OCEAN = "ocean" SPEC = "spec" SUPL = "supl" SWDIR = "swdir" SWDIR2 = "swdir2" SWR1 = "swr1" SWR2 = "swr2" TXT = "txt" )
Realtime Datasets
There are nine different data sources: - data_spec Raw Spectral Wave Data - ocean Oceanographic Data - spec Spectral Wave Summary Data - supl Supplemental Measurements Data - swdir Spectral Wave Data (alpha1) - swdir2 Spectral Wave Data (alpha2) - swr1 Spectral Wave Data (r1) - swr2 Spectral Wave Data (r2) - txt Standard Meteorological Data
View Source
const (
// National Digital Forecast Database
Forecasts = baseUrlNOAA + "xml/sample_products/browser_interface/ndfdXMLclient.php"
)
NOAA Endpoints
Variables ¶
This section is empty.
Functions ¶
func GetActiveStations ¶
func GetActiveStations() string
func GetRealtime ¶
TODO: add support for other realtime datasets and different return signatures (json, struct)
Types ¶
type MeteorologicalObservation ¶
type MeteorologicalObservation struct {
Datetime time.Time `json:"datetime"`
WindDirection int16 `json:"wind_direction"`
WindSpeed float32 `json:"wind_speed"`
WindGust float32 `json:"wind_gust"`
WaveHeight float32 `json:"wave_height"`
DominantWavePeriod float32 `json:"dominant_wave_period"`
AverageWavePeriod float32 `json:"average_wave_period"`
WaveDirection int16 `json:"wave_direction"`
SeaLevelPressure float32 `json:"sea_level_pressure"`
PressureTendency float32 `json:"pressure_tendency"`
AirTemperature float32 `json:"air_temperature"`
WaterTemperature float32 `json:"water_temperature"`
DewpointTemperature float32 `json:"dewpoint_temperature"`
Visibility float32 `json:"visibility"`
Tide float32 `json:"tide"`
}
func (MeteorologicalObservation) MarshalJSON ¶
func (o MeteorologicalObservation) MarshalJSON() ([]byte, error)
Encodes time.Time object to ISODateString
type Station ¶
type Station struct {
XMLName xml.Name `xml:"station"`
ID string `xml:"id,attr"`
Lat float32 `xml:"lat,attr"`
Lon float32 `xml:"lon,attr"`
Name string `xml:"name,attr"`
Owner string `xml:"owner,attr"`
Type string `xml:"type,attr"`
Met string `xml:"met,attr"`
Currents string `xml:"currents,attr"`
WaterQuality string `xml:"waterquality,attr"`
}
type WaveSummaryObservation ¶
type WaveSummaryObservation struct {
Datetime time.Time `json:"datetime"`
SignificantWaveHeight float32 `json:"significant_wave_height"`
SwellHeight float32 `json:"swell_height"`
SwellPeriod float32 `json:"swell_period"`
WindWaveHeight float32 `json:"wind_wave_height"`
WindWavePeriod float32 `json:"wind_wave_period"`
SwellDirection string `json:"swell_direction"`
WindWaveDirection float32 `json:"wind_wave_direction"`
Steepness string `json:"steepness"`
AverageWavePeriod float32 `json:"average_wave_period"`
DominantWaveDirection int16 `json:"dominant_wave_direction"`
}
Click to show internal directories.
Click to hide internal directories.