Download source and data
Humidity advection Example
#Metview Macro
# **************************** LICENSE START ***********************************
#
# Copyright 2019 ECMWF. This software is distributed under the terms
# of the Apache License version 2.0. In applying this license, ECMWF does not
# waive the privileges and immunities granted to it by virtue of its status as
# an Intergovernmental Organization or submit itself to any jurisdiction.
#
# ***************************** LICENSE END ************************************
#
# read grib - contains fields on 850 hPa
f = read("advection_850.grib")
# extract fields
q = read(data: f, param: "q")
u = read(data: f, param: "u")
v = read(data: f, param: "v")
z = read(data: f, param: "z")
# compute specific humidity gradient
grad = gradient(q[1])
# compute advection
adv = u[1]*grad[1] + v[1]*grad[2]
# scale results for better visualisation
adv = adv * 1E6
# define contour shading for advection
adv_cont = mcont(
legend : "on",
contour : "off",
contour_level_count : 21,
contour_label : "off",
contour_max_level : 1,
contour_min_level : -1,
contour_shade : "on",
contour_shade_colour_method : "palette",
contour_shade_method : "area_fill",
contour_shade_palette_name : "eccharts_black_red_21"
)
# define contouring for geopotential
z_cont = mcont(
contour_line_colour : "black",
contour_highlight_colour : "black",
contour_level_selection_type : "interval",
contour_interval : 5
)
# define map view
view = geoview(
map_area_definition : "corners",
area : [32,-30,62,10]
)
# define title
title = mtext(text_lines: ["Geopotential 850 hPa","Specific humidity advection 850 hPa"])
# define the output plot file
setoutput(pdf_output(output_name : 'advection'))
# generate plot
plot(view, adv, adv_cont, z[1], z_cont, title)
Humidity advection Example
# **************************** LICENSE START ***********************************
#
# Copyright 2019 ECMWF. This software is distributed under the terms
# of the Apache License version 2.0. In applying this license, ECMWF does not
# waive the privileges and immunities granted to it by virtue of its status as
# an Intergovernmental Organization or submit itself to any jurisdiction.
#
# ***************************** LICENSE END ************************************
#
import metview as mv
# read grib - contains fields on 850 hPa
f = mv.read("advection_850.grib")
# extract fields
q = mv.read(data = f, param = "q")
u = mv.read(data = f, param = "u")
v = mv.read(data = f, param = "v")
z = mv.read(data = f, param = "z")
# compute specific humidity gradient
grad = mv.gradient(q[0])
# compute advection
adv = u[0]*grad[0] + v[0]*grad[1]
# scale results for better visualisation
adv = adv * 1E6
# define contour shading for advection
adv_cont = mv.mcont(
legend = "on",
contour = "off",
contour_level_count = 21,
contour_label = "off",
contour_max_level = 1,
contour_min_level = -1,
contour_shade = "on",
contour_shade_colour_method = "palette",
contour_shade_method = "area_fill",
contour_shade_palette_name = "eccharts_black_red_21"
)
# define contouring for geopotential
z_cont = mv.mcont(
contour_line_colour = "black",
contour_highlight_colour = "black",
contour_level_selection_type = "interval",
contour_interval = 5
)
# define map view
view = mv.geoview(
map_area_definition = "corners",
area = [32,-30,62,10]
)
# define title
title = mv.mtext(text_lines = ["Geopotential 850 hPa","Specific humidity advection 850 hPa"])
# define the output plot file
mv.setoutput(mv.pdf_output(output_name = 'advection'))
# generate plot
mv.plot(view, adv, adv_cont, z[0], z_cont, title)
