ECMWF logo Support Portal
changes.mady.by.user Sandor Kertesz
Saved on Apr 27, 2019
Saved on May 22, 2019
Image RemovedImage Added
odb_scatterplot_binning.tar.gz
...
# 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)
# 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)