These examples show how to extract data as a table from BUFR files in CodesUI.
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. |
Accessing the header section is fast since the message data does not have to be expanded.
Filter only the first message from the file (message indexing starts at 1):
message_index: 1 |
Filter only message No 1, 2 and 10 from the file:
message_index: 1/2/10 |
Please note that temporal filtering is based on the first date and time values present in the data section of the BUFR message/subset. |
Here we select only messages/subsets with a given date and time:
data_mode: window date: 20090123 time: 13 window: 0 |
The date component can be omitted:
data_mode: window time: 13 window: 0 |
Here we set a 1 minute time window of either side of the specified date and time:
data_mode: window date: 20090123 time: 13 window: 1 |
Here we select the messages/subsets within the given time period:
data_mode: period date_1: 20090123 time_1: 1258 date_2: 20090123 time_2: 1301 |
Please note that location filtering is based on the first location values present in the data section of the BUFR message/subset. |
This is how to select messages in a given area:
west: -10 east: 5 north: 60 south: 50 |
Select messages/subsets by WMO identifier:
identifier: WMO station identifier_value: 12843/12845 |
Please note that WMO station is not a valid BUFR key but a compound one defined for your convenience. It is defined as follows:
|
Select aircraft messages by identifier:
identifier: aircraftFlightNumber identifier_value: QGOBTRRA |
A custom condition means that we can use any BUFR key from the message/subset to pose a filter condition. The examples below are all valid for classic radiosonde observation data which has multiple temperature, humidity and wind speed values on various pressure levels:
This is how to select the messages where there is any temperature value less than 280 K:
custom_condition_count: 1 custom_key_1: airTemperature custom_operator_1: < custom_value_1: 280 |
This is how to select the messages where the first (rank=1) temperature value is less than 280 K:
custom_condition_count: 1 custom_key_1: airTemperature custom_rank_1: 1 custom_operator_1: < custom_value_1: 280 |
This is how to select the messages where the first (rank=1) temperature value is between 280-300K:
custom_condition_count: 1 custom_key_1: airTemperature custom_rank_1: 1 custom_operator_1: in_range custom_value_1: 280/300 |
This is how to select the messages where the first (rank=1) temperature value is outside the 280-300K range:
custom_condition_count: 1 custom_key_1: airTemperature custom_rank_1: 1 custom_operator_1: not_in_range custom_value_1: 280/300 |
This is how to select the messages where the first (rank=1) temperature value is less than 280K and the first windspeed value is greater than 10 m/s:
custom_condition_count: 2 custom_key_1: airTemperature custom_rank_1: 1 custom_operator_1: < custom_value_1: 280 custom_key_2: windSpeed custom_rank_2: 1 custom_operator_2: > custom_value_2: 10 |