Metviews has the Average Data data icon (in Python can be invoked via mv.mxs_average()) that can compute a zonal (or meridional) average cross section for GRIB data. However, if our input data contains multiple dates/steps a separate cross section is generated for each date/step. Now, if we want to generate the average cross section for the temporal average of the input data we have to do the temporal averaging by ourselves before passing the data to mv.mxs_average(). This is how it can be done:
import metview as mv
# read GRIB data containing pressure levels and several dates/steps
f = mv.read("my.grib")
# define the set of levels
levels = [1000, 925, 850, 700, 500]
# compute the mean on each level and add it to the resulting fieldset (=res)
res = mv.Fieldset()
for lev in levels:
g = mv.read(data=f, levelist=lev, levtype="pl")
res.append(mv.mean(g))
# res now contains the temporal average on each level. We compute the
# zonal average vertical cross section with mxs_average().
av = mv.mxs_average(
direction="ew",
data=res
)
# plot the resulting average cross section
mv.plot(av) |
Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.