Document current outlook schema behavior
This commit is contained in:
@@ -13,7 +13,7 @@ events are documented in [event wire contract](events.md).
|
||||
|
||||
| Driver | Kind | Raw schema | Canonical schema |
|
||||
| --- | --- | --- | --- |
|
||||
| `spc_convective_outlook` | `outlook` | `raw.spc.convective_outlook.v1` | `weather.outlook.v1` |
|
||||
| `spc_convective_outlook` | `outlook` | `raw.spc.convective_outlook.v1` | `weather.outlook.v2` |
|
||||
|
||||
## Config Requirements
|
||||
|
||||
@@ -52,8 +52,8 @@ It also fetches three required print pages:
|
||||
- Day 3 convective outlook print page
|
||||
|
||||
GeoJSON products are authoritative for outlook polygons, valid windows, issue
|
||||
times, labels, and severity rank. Print pages are authoritative for headline,
|
||||
summary, and discussion text.
|
||||
times, labels, and severity rank. Print pages are authoritative for run-level
|
||||
day discussion headline, summary, and discussion text.
|
||||
|
||||
## Accept Headers
|
||||
|
||||
@@ -99,23 +99,33 @@ Raw source `effective_at` prefers:
|
||||
4. fetch time.
|
||||
|
||||
The normalizer sets canonical `asOf` and normalized event `effective_at` from
|
||||
the latest valid outlook feature `issuedAt`, with fallback to print-page update
|
||||
time and then the incoming event envelope.
|
||||
the latest valid GeoJSON issue time across the complete raw bundle, including
|
||||
empty no-risk placeholders, with fallback to print-page update time and then the
|
||||
incoming event envelope.
|
||||
|
||||
## Mapping Notes
|
||||
|
||||
Each GeoJSON feature becomes one canonical outlook. Products are ordered by day,
|
||||
then categorical, tornado, hail, and wind. Feature order is preserved within
|
||||
each product.
|
||||
The raw source fetches and envelopes the complete SPC bundle. The normalizer
|
||||
decodes every configured GeoJSON product, skips empty no-risk
|
||||
`GeometryCollection` placeholders, and emits canonical outlooks only when the
|
||||
configured point is inside or on the boundary of a real feature. Products are
|
||||
ordered by day, then categorical, tornado, hail, and wind. Retained feature order
|
||||
is preserved within each product.
|
||||
|
||||
The normalizer computes `containsLocation` with the configured latitude and
|
||||
longitude against compact GeoJSON `Polygon` or `MultiPolygon` geometry.
|
||||
Coordinates use GeoJSON order, `[longitude, latitude]`, and boundary points
|
||||
count as contained.
|
||||
|
||||
All outlook polygons are preserved, including polygons that do not contain the
|
||||
configured point. Matching print-page headline, summary, and discussion text is
|
||||
attached to every outlook for the same day.
|
||||
Canonical outlook runs are emitted even when no polygons apply locally. In that
|
||||
case the payload contains empty `outlooks` and `discussions` arrays.
|
||||
|
||||
Print-page prose is represented as run-level day discussions. Discussions are
|
||||
included only for days represented by at least one retained outlook. Multiple
|
||||
retained outlook types for the same day share one discussion entry.
|
||||
|
||||
For downstream current-state and historical supersession guidance, see the
|
||||
[event wire contract](events.md#spc-outlook-supersession).
|
||||
|
||||
## Failure Behavior
|
||||
|
||||
|
||||
Reference in New Issue
Block a user