changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / clouds / items / properties / base_ft / description
Previous value: -"Cloud base altitude in feet AGL."New value: +"Cloud base altitude in feet AGL. On an OVX layer this is the vertical visibility into the obscuration rather than a layer bottom, and 0 is a surface-level indefinite ceiling."
changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / clouds / items / properties / cover / description
Previous value: -"Sky cover code: FEW, SCT, BKN, OVC, SKC, CLR."New value: +"Sky cover code: FEW, SCT, BKN, OVC, SKC, or OVX. OVX is the decoded form of a VVhhh group — the sky is obscured and the base is the vertical visibility into it, not a cloud bottom."
changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / clouds / items / properties / type / description
Previous value: -"Cloud type qualifier: CB (cumulonimbus), TCU (towering cumulus), or null."New value: +"Cloud type qualifier: CB (cumulonimbus), TCU (towering cumulus), or null. An obscuration can carry one — a VV008CB group is an OVX layer with type CB."
addedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / vertical_visibility_ft
Added value: +{
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Vertical visibility into a forecast obscuration, in feet AGL — an indefinite ceiling, and the same height as this period OVX cloud layer. 0 is a surface-level indefinite ceiling; null means the period forecasts no obscuration."
+}
changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / weather / anyOf
Previous value: -[
- {
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "decoded": {
+ "description": "Plain-English reading of each group, joined with \"; \" (e.g., \"light rain showers; mist\"). A group the decoder does not recognize is carried through as its own raw token rather than half-translated, so compare against raw when a reading still looks coded.",
+ "type": "string"
+ },
+ "raw": {
+ "description": "Weather groups exactly as forecast, space-delimited (e.g., \"-SHRA\", \"-SHRA BR\", \"VCTS -RA\").",
+ "type": "string"
+ }
+ },
+ "required": [
+ "raw",
+ "decoded"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / weather / description
Previous value: -"Decoded weather condition (e.g., \"light rain showers\", \"thunderstorm with rain\"). Null if none."New value: +"Forecast weather for this period, or null when the period carried no weather group."
changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / wind / description
Previous value: -"Forecast wind conditions for this period."New value: +"Forecast wind conditions at the surface for this period."
addedOutput schema / properties / forecasts / items / properties / forecast_periods / items / properties / wind_shear
Added value: +{
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "direction_deg": {
+ "description": "Forecast wind direction at the top of the shear layer, in degrees true — not a direction of shear.",
+ "type": "number"
+ },
+ "height_ft": {
+ "description": "Top of the shear layer in feet AGL — not the layer base and not its thickness. A WS020 group is 2000 ft.",
+ "type": "number"
+ },
+ "speed_kt": {
+ "description": "Forecast wind speed at the top of the shear layer, in knots — the wind at that height, not the magnitude of the shear.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "height_ft",
+ "direction_deg",
+ "speed_kt"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Forecast non-convective low-level wind shear (a WS group), confined to the surface–2,000 ft AGL band. A null means no non-convective LLWS group was issued for this period, rather than no shear expected: the group is excluded from TEMPO and PROB groups, and shear is always assumed present in convective activity."
+}
changedOutput schema / properties / forecasts / items / properties / forecast_periods / items / required
Previous value: -[
- "from",
- "to",
- "change_type",
- "probability",
- "wind",
- "visibility_sm",
- "weather",
- "clouds"
-]New value: +[
+ "from",
+ "to",
+ "change_type",
+ "probability",
+ "wind",
+ "wind_shear",
+ "visibility_sm",
+ "vertical_visibility_ft",
+ "weather",
+ "clouds"
+]
addedOutput schema / properties / missing
Added value: +{
+ "description": "Requested station IDs absent from the result. Absent when none are missing.",
+ "items": {
+ "description": "A requested ICAO station ID that produced no forecast.",
+ "type": "string"
+ },
+ "type": "array"
+}
addedOutput schema / properties / notice
Added value: +{
+ "description": "Recovery guidance naming the missing station IDs. Present only on a partial result. It lists the candidate causes without asserting one — upstream omits the row either way.",
+ "type": "string"
+}
addedOutput schema / properties / partial
Added value: +{
+ "description": "True when a requested station produced no forecast. False affirms the result covers every requested station, so full coverage is distinguishable from a short batch rather than being inferred from the count.",
+ "type": "boolean"
+}
addedOutput schema / properties / requested
Added value: +{
+ "description": "Station IDs this call asked for, in the order given.",
+ "items": {
+ "description": "An ICAO station ID as requested.",
+ "type": "string"
+ },
+ "type": "array"
+}
addedOutput schema / properties / returned
Added value: +{
+ "description": "Distinct station IDs that produced a forecast.",
+ "items": {
+ "description": "An ICAO station ID present in the result.",
+ "type": "string"
+ },
+ "type": "array"
+}
changedOutput schema / required
Previous value: -[
- "forecasts"
-]New value: +[
+ "forecasts",
+ "requested",
+ "returned",
+ "partial"
+]