{"source":"frost","operation":"get_climate_normals","description":"Get long-term climate normals (standard averages) for a station. Signature: get_climate_normals(station_id: string, required; elements: string, optional, default None; period: string, optional, default '1991/2020'; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"get_climate_normals(station_id: string, required; elements: string, optional, default None; period: string, optional, default '1991/2020'; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"station_id","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"A station id from find_stations, e.g. \"SN18700\".","unit":null},{"name":"elements","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Optional element codes, comma-separated, e.g. \"mean(air_temperature P1M)\" (monthly mean temp) or \"sum(precipitation_amount P1M)\". Omit for all normals the station has.","unit":null},{"name":"period","type":"string","schema":{"type":"string"},"required":false,"default":"1991/2020","description":"Normal period as \"start/end\" (default \"1991/2020\").","unit":null},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100).","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals?station_id={station_id}&elements={elements}&period=1991%2F2020&limit=25&offset=0","schema_scope":"#/data in the successful operation envelope","response_schema":{"type":"array","items":{"type":"object","properties":{"element":{"type":"string"},"month":{"type":"integer"},"normal":{"type":"number"},"period":{"type":"string"}},"additionalProperties":false,"required":["element"]}},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["weather_station","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"error_contract":{"scope":"top-level HTTP error response; never part of a success payload","schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"details":{"type":"object"}},"additionalProperties":false,"required":["code","message","retryable"]},"suggestion":{"type":"string"},"_meta":{"type":"object","properties":{"retrieved_at":{"type":"string","format":"date-time"},"language":{"type":"string","const":"en"},"content_languages":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"object"}}},"required":["retrieved_at","language","content_languages","sources"]},"_links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"api_index":{"type":"string","format":"uri"},"feedback":{"type":"string","format":"uri"}},"required":["self","api_index","feedback"],"additionalProperties":false}},"additionalProperties":false,"required":["error","suggestion","_meta","_links"]},"statuses":{"400":{"codes":["MISSING_PARAMETER","INVALID_PARAMETER","INVALID_REQUEST"],"retryable":false},"404":{"codes":["SOURCE_NOT_FOUND","OPERATION_NOT_FOUND","ENTITY_NOT_FOUND"],"retryable":false},"429":{"codes":["RATE_LIMITED","GATEWAY_RATE_LIMITED"],"retryable":true},"502":{"codes":["SOURCE_UNAVAILABLE"],"retryable":true},"500":{"codes":["INTERNAL_ERROR"],"retryable":true}}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals/schema","operation":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals","source":"https://allemannsdata.com/wiki/api/v1/kilder/frost","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"},"output_fields":["[].element","[].month","[].normal","[].period"],"output_fields_truncated":false,"canonical_field_aliases":{},"response_example":{"source":"frost","operation":"get_climate_normals","parameters":{"station_id":"example-id","elements":"example value","period":"1991/2020"},"data":[{"element":"example value","month":1,"normal":1.0,"period":"example value"}],"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"frost","name":"Frost historical weather and climate","description":"Measured historical weather observations and climate normals from MET Norway's weather-station network.","cache_ttl_seconds":300,"documentation":"https://frost.met.no/index.html"}]},"_provenance":{"data":{"source":"frost","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/frost"},"entities":{"source":"frost","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/frost","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals","source":"https://allemannsdata.com/wiki/api/v1/kilder/frost","wiki":"https://allemannsdata.com/wiki/kilder/frost/get_climate_normals/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}}
