Versions Compared

Key

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


Info

Full documentation on BUFR functionality in Metview is here; geopoints are documented here.

Setup

Navigate into the 3_bufr folder within Metview.

Examine the BUFR file

...

We will now extract the 2m temperature values from the file. Create a new Observation Filter icon and edit it, setting the following parameters:

ParameterValueNotes
Dataobs.bufrDrop the obs.bufr icon into the editor box
OutputGeopoints
Parameter​airTemperatureAt2MCan put ecCodes key names or numeric descriptors here

...

Now visualise the result of the Observation Filter and drop the supplied icons symbol_plotting and coast_dark into the plot window.

Scriptify it

Filter, write and plot

Create a new Python Script icon, edit it and drop the Observation Filter (and rename the variable to t2m; also, absolute paths can be shortened to relative paths), coast_dark and symbol_plotting icons into the editor. Add the following plot command commands to the end of the script and run it:

Code Block
languagepy
mv.plot(coast_dark, t2m, symbol_plotting)
mv.write('obs_t2m.gpt', t2m)

Extract values and compute statistics

Create a copy of the script, remove the plotting commands and add the following lines. The first two return numpy arrays, the third line returns a pandas dataframe.

Code Block
languagepy
print(mv.latitudes(t2m))
print(mv.values(t2m))
df = t2m.to_dataframe()
print(df)
print(df.describe())

If you have extra time...

Have a look in the solutions folder - there is a script called field_values_at_gpts_locations.py. This does several things, including using geopoints as a set of locations to extract values from a GRIB field, computing the differences between geopoints and GRIB fields, and plotting the differences to a PDF file.