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|
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.