#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)
|