addedInput schema / properties / point
Added value: +{
+ "default": "summit",
+ "description": "Which elevation's blend. Falls back to the other point with a note when the asked one has no runs.",
+ "enum": [
+ "summit",
+ "base"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / credits
Added value: +{
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "license": {
+ "description": "Licence of the source data, e.g. `CC BY 4.0`.",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "text": {
+ "description": "The attribution line to carry with any reuse, e.g. `Weather data by Open-Meteo.com`.",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "text",
+ "license",
+ "url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / days
Added value: +{
+ "description": "Up to 14 blended days.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "condition": {
+ "description": "PeakCam icon slug for the weather code (`heavy-snow`, `clear`, ...).",
+ "type": "string"
+ },
+ "date": {
+ "description": "YYYY-MM-DD, local to the resort.",
+ "type": "string"
+ },
+ "modelCount": {
+ "description": "Models contributing to this day. Falls with lead time as shorter-range models drop out.",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "models": {
+ "description": "Model ids contributing to this day.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "precipProb": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "0–100, median of the models that publish one."
+ },
+ "snowfallCm": {
+ "type": "number"
+ },
+ "snowfallHiCm": {
+ "type": "number"
+ },
+ "snowfallHiIn": {
+ "description": "75th percentile across models, inches.",
+ "type": "number"
+ },
+ "snowfallIn": {
+ "description": "Median across the models that reach this day, inches.",
+ "type": "number"
+ },
+ "snowfallLoCm": {
+ "type": "number"
+ },
+ "snowfallLoIn": {
+ "description": "25th percentile across models, inches. Equals the median when one model reaches the day.",
+ "type": "number"
+ },
+ "tempMaxF": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tempMinF": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "weatherCode": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Modal WMO code across models; ties go to the more severe code."
+ },
+ "windGustMph": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "date",
+ "snowfallIn",
+ "snowfallLoIn",
+ "snowfallHiIn",
+ "snowfallCm",
+ "snowfallLoCm",
+ "snowfallHiCm",
+ "tempMaxF",
+ "tempMinF",
+ "precipProb",
+ "windGustMph",
+ "weatherCode",
+ "condition",
+ "modelCount",
+ "models"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / forecastUrl
Added value: +{
+ "description": "The REST document with every model run.",
+ "type": "string"
+}
addedOutput schema / properties / issuedAt
Added value: +{
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Newest model issue instant among the runs blended."
+}
addedOutput schema / properties / modelCount
Added value: +{
+ "description": "Models contributing to the first day.",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+}
addedOutput schema / properties / models
Added value: +{
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedOutput schema / properties / periods / description
Added value: +"NWS daily narrative for US resorts (up to 5 days); empty elsewhere or when NWS does not answer."
removedOutput schema / properties / periods / items / properties / condition / description
Removed value: -"PeakCam condition key derived from the text."
removedOutput schema / properties / periods / items / properties / date / description
Removed value: -"YYYY-MM-DD when NWS supplies it."
removedOutput schema / properties / periods / items / properties / dow / description
Removed value: -"`Today`, then three-letter weekday."
removedOutput schema / properties / periods / items / properties / feelsLikeF / description
Removed value: -"Wind-chill adjusted high."
removedOutput schema / properties / periods / items / properties / precipProbability / description
Removed value: -"Percent."
removedOutput schema / properties / periods / items / properties / shortForecast / description
Removed value: -"NWS short forecast text, e.g. `Snow Likely`."
addedOutput schema / properties / periods / items / properties / snowInches
Added value: +{
+ "description": "From the blend when one is stored for that date, else the keyword estimate (see snowSource).",
+ "type": "number"
+}
removedOutput schema / properties / periods / items / properties / snowInchesEstimate
Removed value: -{
- "description": "Keyword heuristic from the forecast text (blizzard/heavy snow 8, snow 3, flurries 1, else 0). Not a quantitative forecast; say so when quoting it.",
- "type": "number"
-}
addedOutput schema / properties / periods / items / properties / snowSource
Added value: +{
+ "enum": [
+ "blend",
+ "nws_keyword",
+ "open_meteo"
+ ],
+ "type": "string"
+}
changedOutput schema / properties / periods / items / required
Previous value: -[
- "dow",
- "date",
- "shortForecast",
- "condition",
- "highF",
- "lowF",
- "snowInchesEstimate",
- "precipProbability",
- "windMph",
- "windDirection",
- "feelsLikeF"
-]New value: +[
+ "dow",
+ "date",
+ "shortForecast",
+ "condition",
+ "highF",
+ "lowF",
+ "snowInches",
+ "snowSource",
+ "precipProbability",
+ "windMph",
+ "windDirection",
+ "feelsLikeF"
+]
addedOutput schema / properties / point
Added value: +{
+ "anyOf": [
+ {
+ "enum": [
+ "summit",
+ "base"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+}
removedOutput schema / properties / provider / const
Removed value: -"nws"
addedOutput schema / properties / provider / description
Added value: +"`blend`: stored multi-model blend; `nws`: NWS narrative only, snow amounts are keyword estimates; `none`: nothing available."
addedOutput schema / properties / provider / enum
Added value: +[
+ "blend",
+ "nws",
+ "none"
+]
addedOutput schema / properties / summary
Added value: +{
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "issuedAt": {
+ "description": "Newest model issue instant among the runs blended.",
+ "type": "string"
+ },
+ "modelCount": {
+ "description": "Models contributing to the first day.",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "models": {
+ "description": "Every model id that contributed to any day.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "next48hCm": {
+ "type": "number"
+ },
+ "next48hIn": {
+ "type": "number"
+ },
+ "peak": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "cm": {
+ "type": "number"
+ },
+ "date": {
+ "description": "The day with the most blended snowfall.",
+ "type": "string"
+ },
+ "in": {
+ "type": "number"
+ },
+ "windowDays": {
+ "description": "Consecutive days around the peak with at least 1 cm (the storm window).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "date",
+ "in",
+ "cm",
+ "windowDays"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Null when no day has any blended snow."
+ },
+ "point": {
+ "description": "The elevation the summary is for: summit when the resort has a summit point, else base.",
+ "enum": [
+ "summit",
+ "base"
+ ],
+ "type": "string"
+ },
+ "total14dCm": {
+ "type": "number"
+ },
+ "total14dIn": {
+ "type": "number"
+ },
+ "total7dCm": {
+ "type": "number"
+ },
+ "total7dIn": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "point",
+ "issuedAt",
+ "modelCount",
+ "models",
+ "next48hIn",
+ "next48hCm",
+ "total7dIn",
+ "total7dCm",
+ "total14dIn",
+ "total14dCm",
+ "peak"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+}
changedOutput schema / required
Previous value: -[
- "slug",
- "name",
- "canonicalUrl",
- "provider",
- "available",
- "note",
- "periods",
- "generatedAt"
-]New value: +[
+ "slug",
+ "name",
+ "canonicalUrl",
+ "forecastUrl",
+ "provider",
+ "available",
+ "note",
+ "point",
+ "issuedAt",
+ "modelCount",
+ "models",
+ "summary",
+ "days",
+ "periods",
+ "credits",
+ "generatedAt"
+]