Metview's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

# Metview Macro

#  **************************** LICENSE START ***********************************
# 
#  Copyright 2014 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 ************************************

# ------------------------------------------------------------------
# Tags: contour,legend,disjoint,label
# Title: Disjoint Legend
# Description: Demonstrates how to show a disjoint legend with labels
#              for each level value.
# See also:
# https://software.ecmwf.int/wiki/display/MAGP/Legend+examples+legend2
# ------------------------------------------------------------------

# read the input grib file (temperature)
my_data = read("./t850.grb")

# set up the geographical view
my_view = geoview(map_area_definition : "CORNERS",
                  map_projection      : "POLAR_STEREOGRAPHIC",
                  area                : [21.51,-37.27,51.28,65.00])

# set up a shade contour with legend for the field
my_contour = mcont(contour_level_selection_type : "LEVEL_LIST",
                   contour_level_list           : [-48.0,-10.0,0.0,10.0,20.0,48.0],
                   contour_hilo                 : "OFF",
                   contour_label                : "OFF",
                   contour                      : "OFF",
                   legend                       : "ON",
                   contour_shade                : "ON",
                   contour_shade_colour_method  : "LIST",
                   contour_shade_method         : "AREA_FILL",
                   contour_shade_max_level      : 48.00,
                   contour_shade_min_level      : -48.00,
                   contour_shade_colour_list    : ["blue_purple"," greenish_blue"," blue_green"," yellow_green"," yellow"," orange"])

# set up an disjoint legend for the field
my_legend =  mlegend(legend_display_type     : "DISJOINT",
                     legend_text_composition : "USER_TEXT_ONLY",
                     legend_title            : "ON",
                     legend_user_lines       : ["extremely cold"," very cold"," cold"," temperate"," hot"],
                     legend_text_font_size   : 0.4,
                     legend_text_colour      : "BLACK",
                     legend_entry_text_width : 80.00,
                     legend_title_text       : "Temperature at 850 hPa")

# set up the coastlines
my_coast= mcoast(map_coastline_resolution : "HIGH",
                 map_grid_colour          : "TAN",
                 map_grid                 : "ON",
                 map_coastline_colour     : "TAN")

# set up the title
my_title = mtext(text_font_size     : 0.6,
                 text_lines         : ["Disjoint legend with user defined labels"," "],
                 text_justification : "LEFT",
                 text_colour        : "CHARCOAL")

# define the output media
to_psfile = ps_output
(
    output_name : "plot" # extension is added automatically
)

# check the runmode and decide which media to putput the plot to
mode = runmode()
if       (mode = "execute")    then setoutput(to_psfile)
else if  (mode = "batch")      then setoutput(to_psfile)
else if  (mode = "visualise")  then print('screen')
else     fail("Only execute, batch and visualise allowed")
end if

# plot the cartesian graph
plot(my_view,my_data,my_contour,my_coast,my_title,my_legend)

  • No labels