This page lists notable changes to the service. If the service behaves in new or unexpected ways,
the changelog might give a hint as to what has recently been changed in the code base.
Date | Description of change |
2022-11-08 |
Due to a last minute move to a new platform we no longer support TLS protocols 1.0/1.1.
TLS 1.2 and 1.3 are the recomended supported versions.
|
2022-08-31 |
Statistical rainfall IDF (Intensity-Duration-Frequency) values have been updated. The update includes more years of data and improved methodology.
More information is available at Norsk klimaservicesenter in Norwegian or
English.
|
2022-01-19 |
A range of normal values and anomaly values for temperature and precipitation have been added to the list of available elements. All of these are calculated from
gridded data and are valid for regions and not specific stations. Some of this data has been available in other elements, and will therefore have a change in
elementid. The rest are new.
Metadata about the regions will be made available at a later time.
1. Change of Element IDs for gridded data elements to better reflect the content:
Old element ID | New element ID |
sum(precipitation_amount_anomaly P1Y 1961_1990) | region_sum(precipitation_amount_anomaly P1Y 1961_1990) |
sum(precipitation_amount_anomaly P3M 1961_1990) | region_sum(precipitation_amount_anomaly P3M 1961_1990) |
sum(precipitation_amount_anomaly P1M 1961_1990) | region_sum(precipitation_amount_anomaly P1M 1961_1990) |
sum(precipitation_amount_anomaly P1M 1971_2000) | region_sum(precipitation_amount_anomaly P1M 1971_2000) |
mean(air_temperature_anomaly P1Y 1961_1990) | region_mean(air_temperature_anomaly P1Y 1961_1990) |
mean(air_temperature_anomaly P3M 1961_1990) | region_mean(air_temperature_anomaly P3M 1961_1990) |
mean(air_temperature_anomaly P1M 1961_1990) | region_mean(air_temperature_anomaly P1M 1961_1990) |
mean(air_temperature_anomaly P1M 1971_2000) | region_mean(air_temperature_anomaly P1M 1971_2000) |
2. For some dataseries the gridded data had been mistakenly added to the point data elements. These will be moved to the correct (new) elementid:
Old element ID | New element ID |
mean(air_temperature P1Y) | region_mean(air_temperature P1Y 1961_1990) |
mean(air_temperature P3M) | region_mean(air_temperature P3M 1961_1990) |
mean(air_temperature P1M) | region_mean(air_temperature P1M 1961_1990) |
sum(precipitation_amount P1Y) | region_sum(precipitation_amount P1Y 1961_1990) |
sum(precipitation_amount P3M) | region_sum(precipitation_amount P3M 1961_1990) |
sum(precipitation_amount P1M) | region_sum(precipitation_amount P1M 1961_1990) |
3. New element ids:
New element ID |
region_mean(air_temperature_anomaly P1Y 1991_2020) |
region_mean(air_temperature_anomaly P3M 1991_2020) |
region_mean(air_temperature_anomaly P1M 1991_2020) |
region_mean(air_temperature P1Y 1991_2020) |
region_mean(air_temperature P3M 1991_2020) |
region_mean(air_temperature P1M 1991_2020) |
region_sum(precipitation_amount_anomaly P1Y 1991_2020) |
region_sum(precipitation_amount_anomaly P3M 1991_2020) |
region_sum(precipitation_amount_anomaly P1M 1991_2020) |
region_sum(precipitation_amount P1Y 1991_2020) |
region_sum(precipitation_amount P3M 1991_2020) |
region_sum(precipitation_amount P1M 1991_202)0 |
|
2021-12-01 |
Change of element IDs. The following element IDs have been updated to better reflect the data behind them. Some of the changes are to fix
nomenclature errors.
Old element ID | New element ID |
volume_fraction_of_oxygen_in_sea_water | fractional_saturation_of_oxygen_in_sea_water |
sea_water_flourescence | flourescence_of_chlorophyl_a_in_sea_water |
Change of element IDs. The following element IDs have been simplified to remove unnecessary metadata information from the element ID and to
combine different element IDs that cover the same type of data. Several of these Element IDs will change status to CF-compatible.
Old element ID | New element ID |
from_direction_of_mean(sea_surface_primary_wave PT20M) | sea_surface_primary_wave_from_direction |
sea_surface_primary_wave_from_mean_direction_from_radar | sea_surface_primary_wave_from_direction |
sea_surface_wave_period_at_variance_spectral_density_second_maximum_from_radar |
sea_surface_wave_period_at_variance_spectral_density_second_maximum |
max(sea_surface_wave_period PT20M) | sea_surface_wave_maximum_period |
sea_surface_wave_mean_steepness_externally_controlled | sea_surface_wave_mean_steepness |
sea_surface_wave_maximum_steepness_externally_controlled | sea_surface_wave_maximum_steepness |
sea_surface_wave_steepness_of_highest_wave_externally_controlled | sea_surface_wave_steepness_of_highest_wave |
sea_surface_wave_height_of_steepest_wave_externally_controlled | sea_surface_wave_height_of_steepest_wave |
sea_surface_wave_significant_height_from_spectrum_from_radar | sea_surface_wave_significant_height |
sea_surface_low_frequency_wave_from_mean_direction_at_variance_spectral_density_maximum_externally_controlled |
sea_surface_swell_wave_from_mean_direction_of_total_energy |
sea_surface_high_frequency_wave_from_mean_direction_at_variance_spectral_density_maximum_externally_controlled |
sea_surface_wind_wave_from_mean_direction_of_total_energy |
sea_surface_wave_mean_height_externally_controlled | sea_surface_wave_mean_height |
|
2021-10-11 |
The derivation of the quality code number has been generalized and slightly modified.
See the data clarifications
page for more information.
|
2021-09-22 |
Change of Element IDs. The following Element IDs have been updated to better reflect the data behind them. Some of the changes are to fix
nomenclature errors.
Old element ID | New element ID |
integral_of_deficit(mean(air_temperature PT1H) P1D 17.0) | integral_of_deficit(mean(air_temperature P1D) P1D 17.0) |
max(sea_surface_wave_period P1D) | max(sea_surface_wave_mean_period P1D) |
max(sea_surface_wave_period P1M) | max(sea_surface_wave_mean_period P1M) |
max(sea_surface_wave_period PT20M) | sea_surface_wave_maximum_period |
mean(sea_surface_wave_period P1D) | mean(sea_surface_wave_mean_period P1D) |
mean(sea_surface_wave_period P1M) | mean(sea_surface_wave_mean_period P1M) |
min(sea_surface_wave_period P1D) | min(sea_surface_wave_mean_period P1D) |
min(sea_surface_wave_period P1M) | min(sea_surface_wave_mean_period P1M) |
over_time(precipitation_type_primary_significance P1D) | over_time(precipitation_type P1D) |
over_time(weather_class1_primary_significance PT24H) | over_time(weather_class1_primary_significance P1D) |
over_time(weather_type_additional1 PT6H) | over_time(weather_type_additional1) |
over_time(weather_type_additional2 PT6H) | over_time(weather_type_additional2) |
over_time(weather_type_additional3 PT6H) | over_time(weather_type_additional3) |
Change of Element IDs. The following Element IDs have been simplified to remove unnecessary metadata information from the element ID and to
combine different element IDs that cover the same type of data. Several of these Element IDs will change status to CF-compatible.
Old element ID | New element ID |
over_time(weather_type_primary_significance PT3H) | over_time(weather_type_primary_significance) |
over_time(weather_type_primary_significance PT6H) | over_time(weather_type_primary_significance) |
sum_over_undefined_period(precipitation_amount P1D) | sum_over_undefined_period(precipitation_amount) |
sum_over_undefined_period(precipitation_amount P1M) | sum_over_undefined_period(precipitation_amount) |
sum_over_undefined_period(precipitation_amount PT1H) | sum_over_undefined_period(precipitation_amount) |
sea_surface_wave_from_mean_direction_of_total_energy_from_radar | sea_surface_wave_from_direction |
sea_surface_wave_from_mean_direction_of_total_energy | sea_surface_wave_from_direction |
sea_surface_wave_from_mean_direction_of_total_energy_from_radar_externally_controlled | sea_surface_wave_from_direction |
from_direction_of_mean(sea_surface_wave_total_energy PT10M) | sea_surface_wave_from_direction |
from_direction_of_mean(sea_surface_wave_total_energy PT20M) | sea_surface_wave_from_direction |
sea_surface_primary_wave_from_direction_at_variance_spectral_density_maximum_from_radar_externally_controlled | sea_surface_primary_wave_from_direction_at_variance_spectral_density_maximum |
sea_surface_primary_wave_from_direction_at_variance_spectral_density_maximum_from_radar | sea_surface_primary_wave_from_direction_at_variance_spectral_density_maximum |
from_direction_of_peak(sea_surface_primary_wave) | sea_surface_primary_wave_from_direction_at_variance_spectral_density_maximum |
from_direction_of_peak(sea_surface_primary_wave PT20M) | sea_surface_primary_wave_from_direction_at_variance_spectral_density_maximum |
sea_surface_secondary_wave_from_direction_at_variance_spectral_density_maximum_from_radar | sea_surface_secondary_wave_from_direction_at_variance_spectral_density_maximum |
from_direction_of_peak(sea_surface_secondary_wave PT10M) | sea_surface_secondary_wave_from_direction_at_variance_spectral_density_maximum |
from_direction_of_mean(sea_surface_secondary_wave PT20M) | sea_surface_secondary_wave_from_direction |
sea_surface_secondary_wave_from_mean_direction_from_radar | sea_surface_secondary_wave_from_direction |
sea_surface_wave_from_direction_at_variance_spectral_density_maximum_of_total_energy_from_radar | sea_surface_wave_from_direction_at_variance_spectral_density_maximum |
from_direction_of_peak(sea_surface_wave_total_energy PT10M) | sea_surface_wave_from_direction_at_variance_spectral_density_maximum |
sea_surface_wave_energy_at_variance_spectral_density_maximum_from_radar_externally_controlled | sea_surface_wave_energy_at_variance_spectral_density_maximum |
sea_surface_primary_wave_spectral_density | sea_surface_wave_energy_at_variance_spectral_density_maximum |
sea_surface_wave_directional_spread_of_total_energy_from_radar_externally_controlled | sea_surface_wave_directional_spread_of_total_energy |
directional_spread(sea_surface_wave_total_energy PT20M) | sea_surface_wave_directional_spread_of_total_energy |
sea_surface_wave_directional_spread_of_peak_period_externally_controlled | sea_surface_wave_directional_spread_of_peak_period |
sea_surface_wave_from_mean_direction_at_variance_spectral_density_maximum_externally_controlled | sea_surface_wave_from_mean_direction_at_variance_spectral_density_maximum |
mean(sea_surface_wave_from_direction_of_spectral_peak_period PT20M) | sea_surface_wave_from_mean_direction_at_variance_spectral_density_maximum |
Change in timeoffset of some Element IDs. The following Element IDs will change timeoffset from PT0H to PT18H.
- mean(wind_speed_of_gust P1M)
- min(wind_speed_of_gust P1M)
- max(wind_speed_of_gust P1M)
- mean(max(wind_speed P1D) P1M)
- min(max(wind_speed P1D) P1M)
- max(max(wind_speed P1D) P1M)
|
2021-08-03 |
These duplicate time series for RRA and TAMA elements will be removed from frost 04.08.2021:
elem_code | element_id |
RRA | sum(precipitation_amount_anomaly P1M 1961_1990) |
RRA | sum(precipitation_amount_anomaly P3M 1961_1990) |
RRA | sum(precipitation_amount_anomaly P6M 1961_1990) |
RRA | sum(precipitation_amount_anomaly P1Y 1961_1990) |
TAMA | mean(air_temperature_anomaly P1M 1961_1990) |
TAMA | mean(air_temperature_anomaly P3M 1961_1990) |
TAMA | mean(air_temperature_anomaly P6M 1961_1990) |
TAMA | mean(air_temperature_anomaly P1Y 1961_1990) |
The valid time series to be continued are:
elem_code | element_id |
RRA_6190 | sum(precipitation_amount_anomaly P1M 1961_1990) |
RRA_6190 | sum(precipitation_amount_anomaly P1Y 1961_1990) |
RRA_6190 | sum(precipitation_amount_anomaly P3M 1961_1990) |
RRA_6190 | sum(precipitation_amount_anomaly P6M 1961_1990) |
TAMA_6190 | mean(air_temperature_anomaly P1M 1961_1990) |
TAMA_6190 | mean(air_temperature_anomaly P3M 1961_1990) |
TAMA_6190 | mean(air_temperature_anomaly P6M 1961_1990) |
TAMA_6190 | mean(air_temperature_anomaly P1Y 1961_1990) |
|
2021-06-01 |
Some of the time series have had misleading and wrong element IDs and are moved from these old element IDs to new element IDs:
Old element ID | New element ID |
cloud_type_icao1 | cloud_type1 |
cloud_type_icao2 | cloud_type2 |
cloud_type_icao3 | cloud_type3 |
|
2021-06-01 |
Removal of period from the element ID of some time series, where period varies as time since last main
observation time: 00, 06, 12, and 18 UTC.
Some of the time series that used to have one of the following element IDs:
- max(wind_speed PT10M)
- max(wind_speed PT6H)
- max(wind_speed PT3H)
will have their element ID renamed to just max(wind_speed).
|
2021-04-19 |
Updated element IDs:
Old element ID | New element ID | Old convention element code |
sea_surface_wind_wave_mean_period | sea_surface_wave_mean_period | PWA |
sea_surface_wind_wave_mean_height | sea_surface_wave_significant_height | HWA |
min(sea_surface_wind_wave_mean_period P1D) | min(sea_surface_wave_mean_period P1D) | PWAN_d |
max(sea_surface_wind_wave_mean_period P1D) | max(sea_surface_wave_mean_period P1D) | PWAX_d |
mean(sea_surface_wind_wave_mean_period P1D) | mean(sea_surface_wave_mean_period P1D) | PWAM_d |
min(sea_surface_wind_wave_mean_height P1D) | min(sea_surface_wave_significant_height P1D) | HWAN_d |
max(sea_surface_wind_wave_mean_height P1D) | max(sea_surface_wave_significant_height P1D) | HWAX_d |
mean(sea_surface_wind_wave_mean_height P1D) | mean(sea_surface_wave_significant_height P1D) | HWAM_d |
min(sea_surface_wind_wave_mean_period P1M) | min(sea_surface_wave_mean_period P1M) | PWAN_m |
max(sea_surface_wind_wave_mean_period P1M) | max(sea_surface_wave_mean_period P1M) | PWAX_m |
mean(sea_surface_wind_wave_mean_period P1M) | mean(sea_surface_wave_mean_period P1M) | PWAM_m |
min(sea_surface_wind_wave_mean_height P1D) | min(sea_surface_wave_significant_height P1D) | HWAN_m |
max(sea_surface_wind_wave_mean_height P1D) | max(sea_surface_wave_significant_height P1D) | HWAX_m |
mean(sea_surface_wind_wave_mean_height P1D) | mean(sea_surface_wave_significant_height P1D) | HWAM_m |
|
2019-09-23 |
Bug fix: When specifying referencetime=latest in the
observations endpoint, the limit
parameter now applies to reference times, not observations. When specifying for example limit=2 , the
output now contains all observations at the two most recent observation times for any given
source/element combination. Note in particular that the output may contain more than one observation even when
specifying limit=1 . Observations for the same time will differ in some other meta attribute
than source or element, like sensor level or time resolution.
|
2019-07-10 |
A new filtering feature has been made for the observations
and availableTimeSeries endpoints.
It is now possible to specify levels=default and timeoffsets=default .
See the concepts page for more information.
|
2019-07-01 |
The exposure and perfomance category values are now being inserted from the metadata database, and should more correctly
represent the stations that are less trustworthy.
|
2019-06-17 |
In the sources/ endpoint, the query parameter elements
has been added as an additional filter. If specified, only station (sensor system) sources matching these elements may appear in the output.
|
2019-04-14 |
The value of the max-age header in the response from the observations
endpoint now shows the actual remaining period (in seconds) during which Frost will reply with the same response to this request. There is no point in
resending the request during this period and the traffic can be saved.
- Note: New observations relevant to the response may or may not arrive in backend database during the
max-age period.
- A
max-age value of -1 means that the value is undefined or n/a, for example if the response is not cached internally at all by Frost.
|
2019-02-20 |
The maximum total number of observations that can be asked for in one request has been lowered to 100,000.
|
2019-02-08 |
In the sources/ endpoint, the query parameter externalid
has been renamed to externalids and allows a comma-separated list of values.
|
2019-01-25 |
The term CF status has been renamed to CF version to reflect precisely what this attribute represents.
Usually it will be an integer value, such as 44.
|
2018-11-29 |
When using repeating intervals for the time specification, a check is now
made to ensure that the number of intervals is at least 2. Note: R1/from/to and R1/from/to/duration are
both equivalent to just from/to .
|
2018-11-05 |
There is a new filter field in the observations/ endpoint,
which allows you to request only certain qualities of data. For example you can request only the best qualities 0 and 1
by writing 0,1 in the qualites field. If you do not write anything in the field you will get all the qualities of data.
Please be aware that some types of data (such as averages over time) do not have qualities, and so if you try to filter on quality
you will get no data returned. You can read more about about what the quality codes mean in
availableQualityCodes/.
|
2018-08-28 |
When using the nearest() function for geometry in the
sources/ endpoint, an arbitrary number of sources
(limited by nearestmaxcount ) may now be returned. Distances from the reference point are included in the output.
Note that the geometry feature currently applies to point sources only (i.e. weather stations, prefixed with 'SN').
|
2018-07-23 |
The request for observations now
return status code 503 (Service unavailable) when there are to many requests in progress. Retry-After is set
to the number of seconds to wait before retrying the request.
|
2018-06-25 |
As part of improving the overall resource allocation in Frost,
a request for observations will be rejected if the response may result in more than 1000000 individual values. Moreover, it will not
be possible to specify more than 1000 interval repetitions for the referencetime (e.g. R1001/2018-.../2018-... will be rejected).
A request that exceeds any of these limits will be rejected with 403 Forbidden .
|
2018-04-30 |
When specifying referencetime=latest in a request for observations,
the Cache-Control/max-age in the HTTP response header is set to the minimum value of the normal update periods of any of the following elements
occurring in the request:
air_temperature (3600)
wind_speed (600)
wind_from_direction (600)
If none of these elements are requested, the default value is 3600.
|
2018-04-26 |
Added maxage and limit to reduce response time when specifying referencetime=latest in a
request for observations.
maxage : don't retrieve observations older than this duration
limit : return values for at most limit observation times for each source/element combination, counting from the most recent time
|
2018-03-22 |
Updated IDs of elements and code tables:
Old element ID | New element ID | Old convention element code |
over_time(precipitation_type_primary_significance PT6H) | over_time(weather_class1_primary_significance PT6H) | V4 |
over_time(precipitation_type_primary_significance_intensity P1D) | over_time(weather_class1_primary_significance_intensity PT6H) | V4S |
over_time(precipitation_type_secondary_significance P1D) | over_time(weather_class1_secondary_significance PT6H) | V5 |
over_time(precipitation_type_secondary_significance PT6H) | over_time(weather_class1_secondary_significance PT6H) | V5 |
over_time(precipitation_type_secondary_significance_intensity P1D) | over_time(weather_class1_secondary_significance_intensity PT6H) | V5S |
over_time(precipitation_type_tertiary_significance PT6H) | over_time(weather_class1_tertiary_significance PT6H) | V6 |
over_time(precipitation_type_tertiary_significance P1D) | over_time(weather_class1_tertiary_significance PT6H) | V6 |
over_time(precipitation_type_tertiary_significance_intensity P1D) | over_time(weather_class1_tertiary_significance_intensity PT6H) | V6S |
over_time(precipitation_type_quaternary_significance PT6H) | over_time(weather_class1_quaternary_significance PT6H) | V7 |
Old code table ID | New code table ID |
precipitation_type_significance | weather_class1_significance |
precipitation_type_intensity | weather_class1_intensity |
|
2018-03-19 |
Removed leading zeros from a couple of time offset values:
|
2018-03-17 |
Updated element IDs that previously matched one the following patterns:
*sea_surface*
*precipitation_type*
humidity_mixing_ratio
|
2018-03-09 |
- In the observations/ endpoint,
the referencetime parameter now accepts the word 'latest' to specify the latest available observation.
- If 'latest' is specified for referencetime, the response header for now contains max-age=3600 as the value of Cache-Control.
This will be fine for most elements. At a later point, the value of max-age may depend on the element in the request that is
expected to be updated most frequently.
|
2018-03-06 |
Starting point.
|