Metview's documentation is now on readthedocs!

Download source and data


Cross Section with Orography 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 file - contains model level data
fs = read(source : "fc_ml.grib")

# read temperature and scale it to C
t = read(data : fs, param : "t")
t = t - 273.16

# read wind components and compute speed
u = read(data : fs, param : "u")
v = read(data : fs, param : "v")
sp = sqrt(u*u + v*v)

# read log of surface pressure
lnsp = read(data : fs, param : "lnsp")

# define cross section line
line = [41,-2,78,32]

# define shading for wind speed
sp_cont = mcont(legend : "on",
                contour_automatics_settings : "style_name",
                contour_style_name : "sh_red_f5t70lst")
  
# define contouring for temperature
t_cont = mcont(
    contour_line_style     : "dash",
    contour_line_thickness : 2,
    contour_line_colour    : "charcoal",
    contour_highlight      : "off",
    contour_level_selection_type :  "interval",
    contour_interval       : 5  
)      
  
# define cross section in log pressure from surface up to 80 hPa       
xs_view = mxsectview(
  line : line,
  top_level : 80,
  vertical_scaling : "log"
)

# define orography area
orog_graph = mgraph(
    graph_type          : "area",
    graph_shade_colour  : "charcoal"
)

# define the output plot file
setoutput(pdf_output(output_name : 'cross_section_orog'))

# generate plot
plot(xs_view,
        sp & lnsp, sp_cont,
        t & lnsp, t_cont,      
        orog_graph)

Cross Section with Orography 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 file - contains model level data
fs = mv.read(source="fc_ml.grib")

# read temperature and scale it to C
t = mv.read(data = fs, param = "t")
t = t - 273.16

# read wind components and compute speed
u = mv.read(data = fs, param = "u")
v = mv.read(data = fs, param = "v")
sp = mv.sqrt(u*u + v*v)

# read log of surface pressure
lnsp = mv.read(data = fs, param = "lnsp")

# define cross section line
line = [41,-2,78,32]

# define shading for wind speed
sp_cont = mv.mcont(legend= "on",
                contour_automatics_settings = "style_name",
                contour_style_name = "sh_red_f5t70lst")
  
# define contouring for temperature
t_cont = mv.mcont(
    contour_line_style     = "dash",
    contour_line_thickness = 2,
    contour_line_colour    = "charcoal",
    contour_highlight      = "off",
    contour_level_selection_type = "interval",
    contour_interval       = 5  
)      
  
# define cross section in log pressure from surface up to 80 hPa       
xs_view = mv.mxsectview(
  line = line,
  top_level = 80,
  vertical_scaling = "log"
)

# define orography area
orog_graph = mv.mgraph(
    graph_type         = "area",
    graph_shade_colour  = "charcoal",
)

# define cross section data (field + lnsp)
xs_t_data = mv.merge(t,lnsp)
xs_sp_data = mv.merge(sp,lnsp)

# define the output plot file
mv.setoutput(mv.pdf_output(output_name = 'cross_section_orog'))

# generate plot
mv.plot(xs_view,
        xs_sp_data,sp_cont,
        xs_t_data,t_cont,      
        orog_graph)