Added support for Area Forecast Discussions issued by the NWS
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
This commit is contained in:
40
model/forecast_discussion.go
Normal file
40
model/forecast_discussion.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// ForecastDiscussionProduct distinguishes the discussion bulletin family.
|
||||
//
|
||||
// Today weatherfeeder only normalizes Area Forecast Discussion (AFD) products,
|
||||
// but this remains a distinct type so additional discussion-like products can be
|
||||
// added without changing the payload field type.
|
||||
type ForecastDiscussionProduct string
|
||||
|
||||
const (
|
||||
ForecastDiscussionProductAFD ForecastDiscussionProduct = "afd"
|
||||
)
|
||||
|
||||
// WeatherForecastDiscussion is a canonical issued discussion bulletin for an NWS office.
|
||||
//
|
||||
// Unlike WeatherForecastRun, this is authored narrative text rather than a sequence
|
||||
// of forecast periods.
|
||||
type WeatherForecastDiscussion struct {
|
||||
OfficeID string `json:"officeId,omitempty"`
|
||||
OfficeName string `json:"officeName,omitempty"`
|
||||
|
||||
Product ForecastDiscussionProduct `json:"product"`
|
||||
|
||||
IssuedAt time.Time `json:"issuedAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
|
||||
|
||||
KeyMessages []string `json:"keyMessages,omitempty"`
|
||||
|
||||
ShortTerm *WeatherForecastDiscussionSection `json:"shortTerm,omitempty"`
|
||||
LongTerm *WeatherForecastDiscussionSection `json:"longTerm,omitempty"`
|
||||
}
|
||||
|
||||
// WeatherForecastDiscussionSection is a fixed prose section within a discussion bulletin.
|
||||
type WeatherForecastDiscussionSection struct {
|
||||
Qualifier string `json:"qualifier,omitempty"`
|
||||
IssuedAt *time.Time `json:"issuedAt,omitempty"`
|
||||
Text string `json:"text,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user