Try this notebook in Binder.

[1]:
!test -f hirs.bufr || wget https://get.ecmwf.int/repository/test-data/pdbufr/test-data/M02-HIRS-HIRxxx1B-NA-1.0-20181122114854.000000000Z-20181122132602-1304602.bufr --output-document=hirs.bufr

Generic: satellite data

[2]:
import pdbufr

The input BUFR data contains HIRS radiometer satellite observations, multiple messages with compressed subsets.

In this notebook we read this data with the generic reader, which is the default reader.

Example 1

Extracting all brightness temperature pixels from the first message for the AMSU-B sensor and channel 5.

[3]:
df = pdbufr.read_bufr("hirs.bufr",
    columns=("data_datetime", "latitude", "longitude", "brightnessTemperature"),
    filters={"count": 1,
            "radiometerIdentifier": 6,
            "tovsOrAtovsOrAvhrrInstrumentationChannelNumber": 5})
df
[3]:
latitude longitude brightnessTemperature data_datetime
0 53.3542 -9.2014 228.05 2018-11-22 11:48:54.396
1 53.7226 -10.2683 229.25 2018-11-22 11:48:54.396
2 54.0425 -11.2363 229.04 2018-11-22 11:48:54.396
3 54.3240 -12.1233 224.29 2018-11-22 11:48:54.396
4 54.5743 -12.9427 227.36 2018-11-22 11:48:54.396
... ... ... ... ...
1003 52.3751 -39.5162 232.14 2018-11-22 11:50:43.195
1004 52.4339 -40.3908 231.69 2018-11-22 11:50:43.195
1005 52.4916 -41.3527 232.04 2018-11-22 11:50:43.195
1006 52.5470 -42.4209 230.93 2018-11-22 11:50:43.195
1007 52.5984 -43.6209 231.74 2018-11-22 11:50:43.195

1008 rows × 4 columns