Download source and data
GRIB Scatterplot Example
#Metview Macro # **************************** LICENSE START *********************************** # # Copyright 2020 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 ************************************ # # get data use_mars = 0 # 0 or 1 if use_mars then # retrieve data from MARS # analysis an = retrieve( type : "an", levtype : "ml", levelist : 110, param : "t", time : 6, grid : [1,1] ) # analysis increment an_incr = retrieve( type : "4i", levtype : "ml", levelist : 110, param : 200130, time : 9, iteration : 3, grid : [1,1] ) else # read data from GRIB file f = read("an_incr.grib") an = f[1] an_incr = f[2] end if # extract field values into vectors v1 = values(an) v2 = values(an_incr) # define 2D-binning for scatterplot b = binning( binning_x_count : 100, binning_y_count : 100 ) # define scatterplot vis = input_visualiser( input_plot_type: "xy_binning", input_x_values: v1, input_y_values: v2, input_binning: b ) # define contour shading cont = mcont( legend : "on", contour : "off", contour_level_selection_type : "level_list", contour_level_list : [1,10,50,100,200, 500,1000], contour_label : "off", contour_shade : "on", contour_shade_technique : "grid_shading", contour_shade_max_level_colour : "red", contour_shade_min_level_colour : "RGB(0.6672,0.7658,0.8465)" ) # define axes horizontal_axis = maxis( axis_position : "left", axis_title_text : "Analyis [K]", axis_tick_interval : 5 ) vertical_axis = maxis( axis_orientation : "vertical", axis_title_text : "Analysis increment [K]" ) # define view view = cartesianview( x_automatic : "on", y_automatic : "on", horizontal_axis : horizontal_axis, vertical_axis : vertical_axis ) # define title txt = "Temperature Date: " & base_date(an)[1] & " Level: 110" title = mtext(text_line_1: txt, text_font_size: 0.4) # define legend legend = mlegend(legend_text_font_size: 0.3) # define the output plot file setoutput(pdf_output(output_name : 'grib_scatterplot')) # generate plot plot(view, vis, cont, title, legend)
GRIB Scatterplot Example
""" GRIB Scatterplot """ # **************************** LICENSE START *********************************** # # Copyright 2020 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 # get data use_mars = False if use_mars: # retrieve data from MARS # analysis an = mv.retrieve( type="an", levtype="ml", levelist=110, param="t", time=6, grid=[1, 1] ) # analysis increment an_incr = mv.retrieve( type="4i", levtype="ml", levelist=110, param=200130, time=9, iteration=3, grid=[1, 1], ) else: # read data from GRIB file f = mv.read("an_incr.grib") an = f[0] an_incr = f[1] # extract field values into numpy arrays v1 = mv.values(an) v2 = mv.values(an_incr) # define 2D-binning for scatterplot b = mv.binning(binning_x_count=100, binning_y_count=100) # define scatterplot vis = mv.input_visualiser( input_plot_type="xy_binning", input_x_values=v1, input_y_values=v2, input_binning=b ) # define contour shading cont = mv.mcont( legend="on", contour="off", contour_level_selection_type="level_list", contour_level_list=[1, 10, 50, 100, 200, 500, 1000], contour_label="off", contour_shade="on", contour_shade_technique="grid_shading", contour_shade_max_level_colour="red", contour_shade_min_level_colour="RGB(0.6672,0.7658,0.8465)", ) # define axes horizontal_axis = mv.maxis( axis_position="left", axis_title_text="Analyis [K]", axis_tick_interval=5 ) vertical_axis = mv.maxis( axis_orientation="vertical", axis_title_text="Analysis increment [K]" ) # define view view = mv.cartesianview( x_automatic="on", y_automatic="on", horizontal_axis=horizontal_axis, vertical_axis=vertical_axis, ) # define title txt = "Temperature - Date: {} Level: 110".format(mv.base_date(an)) title = mv.mtext(text_line_1=txt, text_font_size=0.4) # define legend legend = mv.mlegend(legend_text_font_size=0.3) # define the output plot file mv.setoutput(mv.pdf_output(output_name="grib_scatterplot")) # generate plot mv.plot(view, vis, cont, title, legend)