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:
42
API.md
42
API.md
@@ -37,14 +37,24 @@ Examples:
|
||||
|
||||
## Canonical schemas
|
||||
|
||||
weatherfeeder emits three canonical domain schemas:
|
||||
weatherfeeder emits four canonical domain schemas:
|
||||
|
||||
- `weather.observation.v1`
|
||||
- `weather.forecast.v1`
|
||||
- `weather.forecast_discussion.v1`
|
||||
- `weather.alert.v1`
|
||||
|
||||
Each payload is described below using the JSON field names as the contract.
|
||||
|
||||
### Raw upstream schemas
|
||||
|
||||
weatherfeeder sources also emit provider-specific raw schemas before normalization.
|
||||
For this feature, the raw source schema is:
|
||||
|
||||
- `raw.nws.forecast_discussion.v1`
|
||||
- payload type: string
|
||||
- payload contents: exact fetched HTML response body
|
||||
|
||||
---
|
||||
|
||||
## Shared Conventions
|
||||
@@ -217,6 +227,36 @@ A run may contain zero, one, or many alerts.
|
||||
|
||||
---
|
||||
|
||||
## Schema: `weather.forecast_discussion.v1`
|
||||
|
||||
Payload type: `WeatherForecastDiscussion`
|
||||
|
||||
A `WeatherForecastDiscussion` is an issued narrative bulletin for an NWS office.
|
||||
It is distinct from `weather.forecast.v1`, which is period-based.
|
||||
|
||||
### Fields
|
||||
|
||||
| Field | Type | Required | Notes |
|
||||
|---|---:|:---:|---|
|
||||
| `officeId` | string | no | NWS office identifier, e.g. `LSX` |
|
||||
| `officeName` | string | no | Human office name |
|
||||
| `product` | string | yes | Currently `afd` |
|
||||
| `issuedAt` | string (timestamp) | yes | Bulletin issue time |
|
||||
| `updatedAt` | string (timestamp) | no | Optional page/update timestamp |
|
||||
| `keyMessages` | array | no | Ordered key-message bullet list |
|
||||
| `shortTerm` | object | no | Short-term discussion section |
|
||||
| `longTerm` | object | no | Long-term discussion section |
|
||||
|
||||
### Nested: `shortTerm` / `longTerm`
|
||||
|
||||
| Field | Type | Required | Notes |
|
||||
|---|---:|:---:|---|
|
||||
| `qualifier` | string | no | Header qualifier such as `(Through Late Sunday Night)` |
|
||||
| `issuedAt` | string (timestamp) | no | Optional section-local issue time |
|
||||
| `text` | string | no | Paragraph-preserved prose text |
|
||||
|
||||
---
|
||||
|
||||
## Compatibility rules
|
||||
|
||||
- Consumers **must** ignore unknown fields.
|
||||
|
||||
Reference in New Issue
Block a user