#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 forecasts fields
g = read("joachim_surf.grib")
# define isoline shading for windgust
wgust_shade = mcont(
legend : "on",
contour : "off",
contour_level_selection_type : "level_list",
contour_level_list : [20,26,38],
contour_label : "off",
contour_shade : "on",
contour_shade_colour_method : "gradients",
contour_shade_method : "area_fill",
contour_gradients_colour_list : ["RGB(0.5325,0.6606,0.8401)","RGB(0.4321,0.3081,0.6801)","RGB(1,0.917,0.003922)"],
contour_gradients_waypoint_method : "left",
contour_gradients_technique : "hsl",
contour_gradients_technique_direction : "anti_clockwise",
contour_gradients_step_list : [10,8]
)
# define contours for MSLP
mslp_sub_990 = mcont(
contour_line_thickness : 5,
contour_line_colour_rainbow : "on",
contour_line_colour_rainbow_max_level_colour : "charcoal",
contour_line_colour_rainbow_min_level_colour : "black",
contour_line_colour_rainbow_direction : "clockwise",
contour_highlight : "off",
contour_level_selection_type : "level_list",
contour_level_list : [970,975,980,985],
contour_label_height : 0.22
)
mslp_990 = mcont(
contour_line_thickness : 2,
contour_line_colour : "charcoal",
contour_reference_level : 990,
contour_highlight_colour : "charcoal",
contour_highlight_thickness : 4,
contour_level_selection_type : "interval",
contour_min_level : 990,
contour_interval : 5,
contour_label_height : 0.22,
grib_scaling_of_derived_fields : "on"
)
# define wind plotting for wind 10m
wind_plotting = mwind(
wind_thinning_factor : 4,
legend : "on",
wind_arrow_colour : "RGB(0.08476,0.08476,0.3309)",
wind_arrow_min_speed : 5,
wind_arrow_unit_velocity : 20
)
# define coastlines
coastlines = mcoast(
map_coastline_colour : "RGB(0.3127,0.3447,0.4089)",
map_coastline_thickness : 2,
map_coastline_resolution : "medium",
map_coastline_land_shade : "on",
map_coastline_land_shade_colour : "RGB(0.4854,0.5278,0.6127)",
map_coastline_sea_shade : "on",
map_coastline_sea_shade_colour : "RGB(0.8471,0.8471,0.8471)",
map_boundaries : "on",
map_boundaries_colour : "RGB(0.7294,0.7294,0.7294)",
map_boundaries_thickness : 2,
map_label_height : 0.1
)
# define geographical view
view = geoview(
map_projection : "polar_stereographic",
map_area_definition : "corners",
area : [31.14,-18.25,56.63,54.87],
map_vertical_longitude : 4,
coastlines: coastlines
)
# filter fields to be plotted
wg = read(data: g, param: "10fg6", step: 24)
mslp = read(data: g, param: "msl", step: 24)
wind10 = read(data: g, param: ["10u","10v"], step: 24)
# define the output plot file
setoutput(pdf_output(output_name : 'storm_joachim'))
# generate plot
plot(view, wg, wgust_shade,
mslp, mslp_990, mslp_sub_990,
wind10, wind_plotting)
|
|
# **************************** 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 forecasts fields
g = mv.read("joachim_surf.grib")
# define isoline shading for windgust
wgust_shade = mv.mcont(
legend = "on",
contour = "off",
contour_level_selection_type = "level_list",
contour_level_list = [20,26,38],
contour_label = "off",
contour_shade = "on",
contour_shade_colour_method = "gradients",
contour_shade_method = "area_fill",
contour_gradients_colour_list = ["RGB(0.5325,0.6606,0.8401)","RGB(0.4321,0.3081,0.6801)","RGB(1,0.917,0.003922)"],
contour_gradients_waypoint_method = "left",
contour_gradients_technique = "hsl",
contour_gradients_technique_direction = "anti_clockwise",
contour_gradients_step_list = [10,8]
)
# define contours for MSLP
mslp_sub_990 = mv.mcont(
contour_line_thickness = 5,
contour_line_colour_rainbow = "on",
contour_line_colour_rainbow_max_level_colour = "charcoal",
contour_line_colour_rainbow_min_level_colour = "black",
contour_line_colour_rainbow_direction = "clockwise",
contour_highlight = "off",
contour_level_selection_type = "level_list",
contour_level_list = [970,975,980,985],
contour_label_height = 0.22
)
mslp_990 = mv.mcont(
contour_line_thickness = 2,
contour_line_colour = "charcoal",
contour_reference_level = 990,
contour_highlight_colour = "charcoal",
contour_highlight_thickness = 4,
contour_level_selection_type = "interval",
contour_min_level = 990,
contour_interval = 5,
contour_label_height = 0.22,
grib_scaling_of_derived_fields = "on"
)
# define wind plotting for wind 10m
wind_plotting = mv.mwind(
wind_thinning_factor = 4,
legend = "on",
wind_arrow_colour = "RGB(0.08476,0.08476,0.3309)",
wind_arrow_min_speed = 5,
wind_arrow_unit_velocity = 20
)
# define coastlines
coastlines = mv.mcoast(
map_coastline_colour = "RGB(0.3127,0.3447,0.4089)",
map_coastline_thickness = 2,
map_coastline_resolution = "medium",
map_coastline_land_shade = "on",
map_coastline_land_shade_colour = "RGB(0.4854,0.5278,0.6127)",
map_coastline_sea_shade = "on",
map_coastline_sea_shade_colour = "RGB(0.8471,0.8471,0.8471)",
map_boundaries = "on",
map_boundaries_colour = "RGB(0.7294,0.7294,0.7294)",
map_boundaries_thickness = 2,
map_label_height = 0.1
)
# define geographical view
view = mv.geoview(
map_projection = "polar_stereographic",
map_area_definition = "corners",
area = [31.14,-18.25,56.63,54.87],
map_vertical_longitude = 4,
coastlines = coastlines
)
# filter fields to be plotted
wg = mv.read(data=g, param="10fg6", step=24)
mslp = mv.read(data=g, param="msl", step=24)
wind10 = mv.read(data=g, param=["10u","10v"], step=24)
# define the output plot file
mv.setoutput(mv.pdf_output(output_name = 'storm_joachim'))
# generate plot
mv.plot(view, wg, wgust_shade,
mslp, mslp_990, mslp_sub_990,
wind10, wind_plotting)
|
|
|