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|
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|
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:
will have their element ID renamed to just max(wind_speed).
- max(wind_speed PT10M)
- max(wind_speed PT6H)
- max(wind_speed PT3H)
Updated element IDs:
|Old element ID||New element ID||Old convention element code|
|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|
Bug fix: When specifying
referencetime=latest in the
observations endpoint, the
parameter now applies to reference times, not observations. When specifying for example
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
limit=1. Observations for the same time will differ in some other meta attribute
than source or element, like sensor level or time resolution.
A new filtering feature has been made for the observations
and availableTimeSeries endpoints.
It is now possible to specify
See the concepts page for more information.
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.
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.
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 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.
The maximum total number of observations that can be asked for in one request has been lowered to 100,000.
In the sources/ endpoint, the query parameter externalid
has been renamed to externalids and allows a comma-separated list of values.
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.
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:
both equivalent to just
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
When using the
nearest() function for
geometry in the
sources/ endpoint, an arbitrary number of sources
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').
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.
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
R1001/2018-.../2018-... will be rejected).
A request that exceeds any of these limits will be rejected with
referencetime=latest in a request for observations,
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:
If none of these elements are requested, the default value is 3600.
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
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|
Removed leading zeros from a couple of time offset values:
Updated element IDs that previously matched one the following patterns:
- 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.