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.

...

Sample data

...

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

FileStructureDescription

View file
nametemp.bufr
height250

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.

View file
nametropical_cyclone.bufr
height250

Image Added

Tropical cyclone data. One message contains a full ensemble forecast with minimum mean sea level pressure and maximum wind speed values along the forecast tacks.


Extracting a single parameter

...

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


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


Here we further refined the coordinate condition.
For all the messages: extract the 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



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


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
extract_mode: all


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
extract_mode: all



Extracting multiple parameters

...

When we use multiple coordinate conditions these are assumed supposed to conceptually be nested, i.e. there is an inner coordinate and the other, inner coordinates, are nested in it. This puts a constrain on the order the coordinate conditions are specified: the outer coordinate has to be specified first then the other coordinates in the nesting order.

In the examples below we will use pressure and work with two coordinates to extract radiosonde data on certain levels: pressure will be the outer coordinate and verticalSoundingSignificance, which defines the type of the pressure levels, the inner coordinate. It reflects how a pressure block is built up in our radiosonde BUFR file:

Image Added

TaskFilterResultsComments

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
extract_mode: all


Image Modified

verticalSoundingSignificance is a FLAG TABLE (bit-vector) and its value is 32 for standard pressure levels: Image Added

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
extract_mode: all


Image Modified


Tropical cyclone tracks

ExampleFilterResults

For the first message (storm IN-FA) extract the storm centre pressure values along the track for ensemble number =2


Code Block
message_index: 1
custom_condition_count: 1
custom_value_1: ensembleMemberNumber
custom_operator_1: =
custom_value_1: 2
extract_data: on
parameter_count: 1
parameter_1: pressureReducedToMeanSeaLevel
extract_mode: all


Image Added