Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

These conditions are combined together by the logical AND operator. So a row of data is only added to the results when all the conditions match.

The data used for the examples

This is a summary of the data files used for the examples:

FileStructureDescription
temp.bufr

Image Modified

Classic radiosonde data. One message contains a vertical profile for one station with various parameters (e.g. temperature, wind etc.) on a set of pressure levels.



Extracting a single parameter

Description
ExampleFilterResultsComments

For all the messages: extract the first non missing temperature value


Code Block
extract_data: on
parameter_1: airTemperature


Image Modified

By default missing values are ignored in data extraction (see option MISSING DATA)
For all the messages: extract the first (rank=1) temperature value (if missing it is ignored)


Code Block
extract_data: on
parameter_1: airTemperature
parameter_rank_1: 1


Image Modified

Here we explicitly asked for the first temperature value. It has a missing value in many of the messages so we have less resulting rows that in the previous example.
For all the messages: extract the first (rank=1) temperature value if it is greater than 300 K


Code Block
extract_data: on
parameter_1: airTemperature
parameter_rank_1: 1
parameter_operator_1: >
parameter_value_1: 300


Image Modified


For all the messages: extract the first temperature value which is greater than 300 K


Code Block
extract_data: on
parameter_1: airTemperature
parameter_operator_1: >
parameter_value_1: 300


Image Modified


For station 78016: extract all the temperature values



Code Block
identifier_value: 78016
extract_data: on
parameter_1: airTemperature
extract_mode: all


Image Modified

...



Extracting with a single coordinate condition

Description
ExampleFilterResultsComments

For all the messages: extract the first temperature value which is greater than 300 K and also extract the pressure on which it occurs


Code Block
extract_data: on
parameter_1: airTemperature
parameter_operator_1: >
parameter_value_1: 300
coordinate_condition_count: 1
coordinate_1: pressure


Image Modified

Here we explicitly say the we only want the matching temperature values which appear inside a pressure block (in these messages this is always the case). By using the coordinate condition pressure will be extracted as well because the EXTRACT_COORDINATE option is On by default.
For all the messages: extract the first temperature value which is greater than 300 K and the pressure is less than 950 hPa


Code Block
extract_data: on
parameter_1: airTemperature
parameter_operator_1: >
parameter_value_1: 300
coordinate_condition_count: 1
coordinate_1: pressure
coordinate_operator_1: >
coordinate_value_1: 95000


Image Modified

Here we further refined the coordinate condition.
For all the messages: extract the
(first)
temperature value on the 500 hPa pressure level


Code Block
extract_data: on
parameter_1: airTemperature
coordinate_condition_count: 1
coordinate_1: pressure
coordinate_operator_1: =
coordinate_value_1: 50000


Image Modified


For station 78016: extract the temperature on the second pressure level



Code Block
identifier_value: 78016
extract_data: on
parameter_1: airTemperature
coordinate_condition_count: 1
coordinate_1: pressure
coordinate_rank_1: 2


Image Modified

Here we restricted the filter form one station (message) only and  used a rank condition for the coordinate.
For station 78016: extract the temperature on the first 6 pressure levels


Code Block
identifier_value: 78016
extract_data: on
parameter_1: airTemperature
coordinate_condition_count: 1
coordinate_1: pressure
coordinate_rank_1: 1/2/3/4/5/6


Image Modified

For coordinate rank a list of values can be specified.
For station 78016: extract the temperature on the 925, 850 and 700 hPa pressure levels


Code Block
identifier_value: 78016
extract_data: on
parameter_1: airTemperature
coordinate_condition_count: 1
coordinate_1: pressure
coordinate_operator_1: =
coordinate_value_1: 92500/85000/70000


Image Modified

...


Extracting multiple parameters

Description
ExampleFilterResultsComments

For all the messages: extract the first wind speed and wind direction values


Code Block
extract_data: on
parameter_1: windDirection
parameter_2: windSpeed


Image Modified


Note

The order of the parameters in extraction must match their order of appearance in the message. Otherwise the data alignment does not work properly. In our BUFR messages windDirection precedes windSpeed, so we have to use the same ordering.


For all the messages: extract the first wind speed and wind direction values and also extract their pressure


Code Block
extract_data: on
parameter_1: windDirection
parameter_2: windSpeed
coordinate_condition_count: 1
coordinate_1: pressure


Image Modified


For all the messages: extract wind speed and wind direction values on the 500 hPa pressure level


Code Block
extract_data: on
parameter_1: windDirection
parameter_2: windSpeed
coordinate_condition_count: 1
coordinate_1: pressure
coordinate_operator_1: =
coordinate_value_1: 50000


Image Modified



Multiple (nested) coordinate conditions

TaskFilterResults

For station 78016: extract all the temperature values on standard pressure levels


Code Block
identifier_value: 78016
extract_data: on
parameter_1: airTemperature
coordinate_condition_count: 2
coordinate_1: pressure
coordinate_2: verticalSoundingSignificance
coordinate_operator_2: =
coordinate_value_2: 32


Image Modified

For station 78016: extract all the temperature values on temperature significant levels where the pressure is less than 500 hPa


Code Block
identifier_value: 78016
extract_data: on
parameter_count: 1
parameter_1: airTemperature 
coordinate_condition_count: 2
coordinate_1: pressure
coordinate_operator_1: <
coordinate_value_1: 50000
coordinate_2: verticalSoundingSignificance
coordinate_operator_2: =
coordinate_value_2: 4/68


Image Modified