Tabs Page |
---|
|
Code Block |
---|
language | py |
---|
title | ODB scatterplot with binningExample |
---|
|
# Metview Macro
# **************************** LICENSE START ***********************************
#
# Copyright 2018 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: ODB,Cartesian
# Title: ODB scatterplot with binning
# Description: Demonstrates how to generate a scatterpot from ODB
# using binning.
# ------------------------------------------------------------------
use_mars = 0
if use_mars then
# ODB retrieve from MARS retrieval - for AMSUA channel 5 (all satellites)
db = retrieve(
type : "mfb",
repres : "bu",
obsgroup : "amsua",
time : 00,
date : -2,
filter filter : "select an_depar@body,fg_depar@body " &
"where vertco_reference_1=5"
)
else
db = read('amsua.odb')
end if
# Define binning - with 100 bins both in the horizontal and vertical axes
bin_100 = binning(
binning_x_count : 100,
binning_y_count : 100
)
# Define visualiser for scatterplot with binning
bin_plot = odb_visualiser(
odb_plot_type : "xy_binning",
odb_x_variable : "fg_depar@body",
odb_y_variable : "an_depar@body",
odb_value_variable : "",
#odb_where : "vertco_reference_1@body =5 ",
odb_data : db,
odb_binning : bin_100
)
# Define grid shading - the binned dataset will be defined on a grid
bin_grid_shade = mcont(
legend : "on",
contour : "off",
contour_min_level : 1,
contour_shade_min_level : 1,
contour_level_count : 20,
contour_shade : "on",
contour_shade_technique : "grid_shading",
contour_shade_method : "area_fill",
contour_shade_max_level_colour : "red",
contour_shade_min_level_colour : "blue",
contour_shade_colour_direction : "clockwise"
)
# Define title
title = mtext(
text_line_count : 1,
text_line_1 : "Sensor: AMSU-A Channel: 5 Param: Tb"
)
# Define horizontal axis
hor_axis = maxis(
axis_position : "left",
axis_title_text : "fg_depar (K)",
axis_tick_interval : 0.5,
axis_minor_tick : "on",
axis_minor_tick_count : 4,
axis_grid : "on",
axis_grid_colour : "black",
axis_grid_line_style : "dot"
)
# Define vertical axis
ver_axis = maxis(
axis_orientation : "vertical",
axis_title_text : "an_depar (K)",
axis_tick_interval : 0.5,
axis_minor_tick : "on",
axis_minor_tick_count : 4,
axis_grid : "on",
axis_grid_colour : "black",
axis_grid_line_style : "dot"
)
# Define Catresian view
scatter_view = cartesianview(
x_min : -1,
x_max : 1,
y_min : -1,
y_max : 1,
subpage_y_position : 12.5,
subpage_y_length : 75,
horizontal_axis : hor_axis,
vertical_axis : ver_axis
)
# define the output plot file
setoutput(pdf_output(output_name : 'odb_scatterplot_binning'))
# Plot
plot(scatter_view,bin_plot,bin_grid_shade,title)
|
|
Tabs Page |
---|
|
Code Block |
---|
language | py |
---|
title | ODB scatterplot Example |
---|
|
# Metview Example
# **************************** LICENSE START ***********************************
#
# Copyright 2018 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: ODB,Cartesian
# Title: ODB scatterplot with binning
# Description: Demonstrates how to generate a scatterpot from ODB
# using binning.
# ------------------------------------------------------------------
import metview as mv
use_mars = 0
if use_mars:
# retrieve from MARS - for AMSUA channel 5 (all satellites)
db = mv.retrieve(
type = "mfb",
repres = "bu",
obsgroup = "amsua",
time = 00,
date = -2,
filter = "select an_depar@body,fg_depar@body " +
"where vertco_reference_1=5"
)
else:
db = mv.read('amsua.odb')
# Define binning - with 100 bins both in the horizontal and vertical axes
bin_100 = mv.binning(
binning_x_count := 100,
binning_y_count := 100
)
# Define visualiser for scatterplot with binning
bin_plot = mv.odb_visualiser(
odb_plot_type := "xy_binning",
odb_x_variable := "fg_depar@body",
odb_y_variable := "an_depar@body",
odb_value_variable := "",
#odb_where := "vertco_reference_1@body =5 ",
odb_data := db,
odb_binning := bin_100
)
# Define grid shading - the binned dataset will be defined on a grid
bin_grid_shade = mv.mcont(
legend := "on",
contour := "off",
contour_min_level := 1,
contour_shade_min_level := 1,
contour_level_count := 20,
contour_shade := "on",
contour_shade_technique := "grid_shading",
contour_shade_method := "area_fill",
contour_shade_max_level_colour := "red",
contour_shade_min_level_colour := "blue",
contour_shade_colour_direction := "clockwise"
)
# Define title
title = mv.mtext(
text_line_count := 1,
text_line_1 := "Sensor: AMSU-A Channel: 5 Param: Tb"
)
# Define horizontal axis
hor_axis = mv.maxis(
axis_position := "left",
axis_title_text := "fg_depar (K)",
axis_tick_interval := 0.5,
axis_minor_tick := "on",
axis_minor_tick_count := 4,
axis_grid := "on",
axis_grid_colour := "black",
axis_grid_line_style := "dot"
)
# Define vertical axis
ver_axis = mv.maxis(
axis_orientation := "vertical",
axis_title_text := "an_depar (K)",
axis_tick_interval := 0.5,
axis_minor_tick := "on",
axis_minor_tick_count := 4,
axis_grid := "on",
axis_grid_colour := "black",
axis_grid_line_style := "dot"
)
# Define Catresian view
scatter_view = mv.cartesianview(
x_min := -1,
x_max := 1,
y_min := -1,
y_max := 1,
subpage_y_position := 12.5,
subpage_y_length := 75,
horizontal_axis := hor_axis,
vertical_axis := ver_axis
)
# define the output plot file
mv.setoutput(mv.pdf_output(output_name := 'odb_scatterplot_binning'))
# Plot
mv.plot(scatter_view,bin_plot,bin_grid_shade,title)
|
|
|