|
MeteoIODoc 20261003.b9219c1f
Environmental timeseries pre-processing
|
BUFR is a binary data format, that was introduced by the World Meteorological Organization (WMO) to universally store meteorological observation data. It is very flexible and powerful, but can be quite complex to handle. You can read this introduction to get an idea of what it is.
In short, a BUFR file can contain multiple messages, each of which can contain multiple subsets where the data is stored with its metadata and can be read by its respective key. Here we use keys from the WMO element table 40 to read the data. To inspect your BUFR files we recommend using either bufr tools or the metview software. These are provided by ECMWF and therefore rely on the same BUFR reading library (ecCodes) as MeteoIO.
Prior to reading the data a scan of the file is done, to find all stations in the file together with their metadata and to check if it is valid (we require a position (lat,lon,alt) and a station ID). If no station ID but a station Name is found, we use this as station ID. Additionally we require unique timepoints per station. So far only reading parameters known to MeteoIO is supported (if you need to read additional parameters, please contact the developers, as this is an option that could be supported).
It is also possible to write BUFR files. However, only writing known parameters is supported. However, it is possible to write profiles (of heights) of some parameters, i.e. air temperature, pressure and relative humidity. To do that, the parameters at different heights need to be named as {parameter name}measurement height}, for example like "TA@2" and "TA@10" for air temperatures at 2 and 10m respectively (this naming scheme has to be applied when reading the data in the [Input] section). The profile will then be written with a repetition of the parameter together with its associated heights.
The filenames are generated on the fly, as meteoio_{timestamp}.bufr, where the timestamp is the current date and time. Each datapoint is its own message as it is not possible to create subsets with eccodes.
This plugin uses the following keywords: [Input]:
The Cryo Station is a specific BUFR Template for Cryospheric Stations containing snow/ice.. profiles. It is possible to write those, by setting CRYOSTATION = TRUE in the output section. The following additional keywords are required in the [Output] section:
The Cryo Station follows a specific template, where some parameters are not MeteoIO standard parameters. Additionally, some MeteoIO parameters are not supported by the Cryo Station (e.g. VW, ISWR...). Therefore we list the parameters that can be written, with their representation in MeteoIO (which should be the parameter name in the input file).
| Single parameters | Parameters suitable for profiles | ||||
|---|---|---|---|---|---|
| Parameter name | Description | Reference | Parameter name | Description | Reference |
| ICE_THICKNESS | Ice Thickness in m | SENSORTYPE | Sensor Type | Flag table | |
| GROUNDSTATE | Ground State | Bufr table | TA | Air Temperature | meteoio |
| HS | Snow Depth in m | meteoio | TSNOW | Snow Temperature | |
| SURFACEQUALIFIER | Surface Qualifier for Temperature Data | Bufr table | TSOIL | Soil Temperature in K | meteoio |
| TSS | Skin/Surface Temperature in K | meteoio | TWATER | Water Temperature in K | |
| TICE | Ice Temperature in K | ||||
Available surface types are summarized in the table below.
| Surface type code | Description | Surface type code | Description |
|---|---|---|---|
| 0 | open ocean or semi-enclosed sea | 12 | lake |
| 1 | enclosed sea or lake | 13 | sea |
| 2 | continental ice | 14 | glacier |
| 3 | land | 15 | urban land |
| 4 | low inland (below sea level) | 16 | rural land |
| 5 | mix of land and water | 17 | suburban land |
| 6 | mix of land and low inland | 18 | sea ice |
| 11 | river | 255 | missing value |
Available station types are:
Available snow depth methods can be found at https://confluence.ecmwf.int/display/ECC/WMO%3D40+code-flag+table#WMO=40codeflagtable-CF_002177
If additional parameters need to be written to BUFR:
For now Wigos id... metadata has to be set by ini, maybe make it available as StationData Additionally, some parameters from the Cryo Station are not standard parameters, so they wont be handled-> needs a solution