Data Clarifications

Below you will find clarifications about some of the data that can be retrieved from Frost.

Quality code

The data is run through a quality control system that can assign several different quality flags which mean different things. For further information see useinfo and controlinfo.

FROST tries to give the user a single value to represent the general quality of the observation. It is an aggregation of 2 of the flags given by the quality control system.

Below is the description of the two flags used:

useinfo[2] - quality level of the original value
  • 0 = original value found to be good
  • 1 = original value suspicious (likely correct)
  • 2 = original value suspicious (likely erroneous)
  • 3 = original value definitely erroneous
  • 9 = no quality information given
useinfo[3] - treatment of the original value
  • 0 = original value is kept unchanged
  • 1 = original value is manually or automatically corrected with a good result
  • 2 = original value is manually or automatically interpolated with a good result
  • 3 = original value is automatically corrected
  • 4 = original value is automatically interpolated
  • 5 = original value is manually created from accumulated values
  • 6 = original value is automatically created from accumulated values
  • 8 = original value is thrown out
  • 9 = quality information is not given

This is how FROST creates one value from them:

useinfo[2], useinfo[3] => FROST
  • anything, '1' => (1) // OK
  • anything, '2' => (1) // OK
  • anything, '3' => (6) // Very uncertain
  • anything, '4' => (6) // Very uncertain
  • anything, '5' => (1) // OK
  • anything, '6' => (1) // OK
  • '0', anything => (0) // OK
  • '9', anything => (2) // Uncertain
  • '1', '0' => (5) // Uncertain
  • '2', '0' => (5) // Uncertain
  • '3', '0' => (7) // Erroneous
  • '3', '8' => (7) // Erroneous
  • all other cases => None // Undefined

Explanations for some coded negative value elements

Some elements can use negative observation values that are coded to mean a certain thing - and are not an actual value for a measurement. Below you will find a table with explanations of these values.

Observation value element ID Description
-3 wind_from_direction No unique wind direction is given when winds are weak
-3 cloud_area_fraction Cloud cover is not estimated because of fog or analogous phenomena
-3 low_type_cloud_area_fraction Cloud cover is not estimated because of fog or analogous phenomena
-3 cloud_area_fraction1 Cloud cover is not estimated because of fog or analogous phenomena
-3 cloud_base_height Cloud height is not estimated because of fog or darkness
0 surface_snow_thickness Snowdepth less than 0.5 cm
-1 surface_snow_thickness Zero snowdepth or partial snow cover
-3 surface_snow_thickness/td> Not possible to measure snowdepth
-1 max(surface_snow_thickness P1M) Zero snowdepth or partial snow cover
-1 min(surface_snow_thickness P1M) Zero snowdepth or partial snow cover
-1 snow_coverage_type No snow in station area
-1 min(snow_coverage_type P1M) No snow in station area
-1 max(snow_coverage_type P1M) No snow in station area
-1 state_of_ground No snow or ice cover in the station area
-1 sum(precipitation_amount PT6H) No precipitation
-1 sum(precipitation_amount PT12H) No precipitation
-1 sum(precipitation_amount P1D) No precipitation
-1 sum_over_undefined_period(precipitation_amount PT1H) No precipitation
-1 sum(precipitation_amount P1D) No precipitation
-1 max(sum(precipitation_amount P1D) P1M) No precipitation
-1 sum(precipitation_amount P30D) No precipitation
-1 sum_until_day_of_year(precipitation_amount P1D) No precipitation