addedInput schema / properties / stationId / items / description
Added value: +"Station ID. Trims surrounding whitespace, uppercases IDs, and accepts bare 11-character GHCN aliases (USW00024233 → GHCND:USW00024233). Other namespaced IDs remain accepted."
addedInput schema / properties / stationId / items / pattern
Added value: +"^\\s*(?:[A-Za-z]{2}[A-Za-z0-9]{9}|[^:\\s]+:[^\\s]+)\\s*$"
changedInput schema / properties / units / description
Previous value: -"Unit system for returned values. Without this parameter, GHCND returns raw tenths-of-unit integers (TMAX=256 = 25.6°C). Strongly recommended: pass metric (SI units) or standard (Fahrenheit/inches). Optional."New value: +"Request metric or standard conversion. Omission preserves datatype-specific raw values: GHCND TMAX/TMIN tenths °C, PRCP tenths mm, SNOW/SNWD whole mm; GSOM/GSOY temperature/precipitation °C/mm; NORMAL_* temperature normals tenths °F and precipitation normals hundredths inches; HPCP/QPCP hundredths inches. Examples are not complete unit metadata. Optional."
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `service_unavailable`: NOAA CDO API is unreachable or returning errors. `rate_limited`: NOAA CDO throttled the request — the configured token went over its rate limit. `date_range_exceeded`: endDate is past the end of the calendar month 1 year after startDate for sub-daily/daily/radar datasets (GHCND, PRECIP_*, NORMAL_DLY, NORMAL_HLY, NEXRAD2, NEXRAD3), or 10 years after it for monthly/annual datasets (GSOM, GSOY, NORMAL_MLY, NORMAL_ANN). `upstream_auth_failed`: NOAA CDO rejected the API token this server is configured with. `validation_error`: Bad dataset ID, date format, or unknown station/location/datatype ID. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `service_unavailable`: NOAA CDO API is unreachable or returning errors. `rate_limited`: NOAA CDO throttled the request — the configured token went over its rate limit. `date_range_exceeded`: endDate is past the end of the calendar month 1 year after startDate for sub-daily/daily/radar datasets (GHCND, PRECIP_*, NORMAL_DLY, NORMAL_HLY, NEXRAD2, NEXRAD3), or 10 years after it for monthly/annual datasets (GSOM, GSOY, NORMAL_MLY, NORMAL_ANN). `upstream_auth_failed`: NOAA CDO rejected the API token this server is configured with. `validation_error`: Bad dataset ID, date format, unknown station/location/datatype ID, or encoded observation query exceeding 4000 characters. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / notice / description
Previous value: -"Page-limit adjustment and empty or exhausted-page guidance. Omitted when no guidance applies."New value: +"Composed guidance for station ID normalization, page-limit adjustments, raw units, missing precipitation, GHCND quality-check failures, and empty or exhausted pages. Omitted when no guidance applies."
changedOutput schema / properties / results / items / properties / attributes / description
Previous value: -"Quality flags and measurement attributes. Omitted when not provided."New value: +"Untouched upstream attributes. GHCND positions are measurement, quality, source, observation time; other datasets have their own layouts documented at https://www.ncei.noaa.gov/pub/data/cdo/documentation/."
addedOutput schema / properties / results / items / properties / flags
Added value: +{
+ "additionalProperties": false,
+ "description": "Decoded GHCND attributes only. Absent trailing positions remain omitted; raw attributes and numeric values are retained.",
+ "properties": {
+ "measurement": {
+ "description": "GHCND measurement flag; an explicit blank is preserved.",
+ "type": "string"
+ },
+ "observationTime": {
+ "description": "GHCND local observation time, preserving leading zeros and explicit blanks.",
+ "type": "string"
+ },
+ "quality": {
+ "description": "GHCND quality flag; a nonblank code means a failed quality check. Explicit blanks are preserved.",
+ "type": "string"
+ },
+ "source": {
+ "description": "GHCND source flag, including unknown codes and explicit blanks.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+}
addedOutput schema / properties / results / items / properties / missing
Added value: +{
+ "const": true,
+ "description": "True for a documented PRECIP_HLY/HPCP or PRECIP_15/QPCP missing sentinel; value is omitted.",
+ "type": "boolean"
+}
changedOutput schema / properties / results / items / properties / value / description
Previous value: -"Observed value. Unit depends on the dataset and units parameter. For GHCND without units, this is a raw tenths-of-unit integer."New value: +"Observed value, omitted for identified missing precipitation. With units omitted, scale depends on datatype: GHCND TMAX/TMIN tenths °C, PRCP tenths mm, SNOW/SNWD whole mm; GSOM/GSOY temperature/precipitation °C/mm; NORMAL_* temperature normals tenths °F, precipitation normals hundredths inches; HPCP/QPCP hundredths inches. Examples are not universal conversion rules."
changedOutput schema / properties / results / items / required
Previous value: -[
- "date",
- "datatype",
- "station",
- "value"
-]New value: +[
+ "date",
+ "datatype",
+ "station"
+]