Download source and data
NetCDF Sea Currents with Fix-sized Vectors 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 NetCDF file with gridded data over the Mediterranean Sea nc = read("sea_current.nc") # this NetCDF data has the following structure: # dimensions: # time = 1 ; # latitude = 128 ; # longitude = 344 ; # nv = 2 ; # variables: # float time(time) ; # float latitude(latitude) ; # float longitude(longitude) ; # int ugos(time, latitude, longitude) ; # ugos:long_name = "Absolute geostrophic velocity: zonal component" ; # int vgos(time, latitude, longitude) ; # vgos:long_name = "Absolute geostrophic velocity: meridian component" ; # define netcdf plotting based on the data structure above vis = netcdf_visualiser( netcdf_plot_type : "geo_matrix_vectors", netcdf_latitude_variable : "latitude", netcdf_longitude_variable : "longitude", netcdf_x_component_variable : "ugos", netcdf_y_component_variable : "vgos", netcdf_data : nc ) # define vector plotting using fix-sized arrow vector_plotting = mwind( wind_thinning_factor : 1, legend : "on", wind_advanced_method : "on", wind_advanced_colour_max_value : 0.5, wind_advanced_colour_min_value : 0, wind_advanced_colour_max_level_colour : "RGB(1,0.003922,0.9668)", wind_advanced_colour_min_level_colour : "RGB(0.7359,0.7584,0.8484)", wind_arrow_calm_indicator : "on", wind_arrow_calm_below : 0.01, wind_arrow_colour :'RGB(0.5124,0.5124,0.8366)', wind_arrow_head_shape : 1, wind_arrow_head_ratio : 1, wind_arrow_fixed_velocity : 1, wind_arrow_thickness : 2, wind_arrow_unit_velocity : 2.6 ) # define coastlines coastlines = mcoast( map_coastline_colour : "RGB(0.3628,0.3557,0.5698)", map_coastline_land_shade : "on", map_coastline_land_shade_colour : "RGB(0.4119,0.4173,0.4352)", map_coastline_sea_shade : "on", map_coastline_sea_shade_colour : "RGB(0.95,0.95,0.95)", map_boundaries : "on", map_boundaries_colour : "RGB(0.8809,0.5136,0.1701)", map_boundaries_thickness : 2, map_grid_colour : "charcoal", map_grid_latitude_increment : 2, map_grid_longitude_increment : 2 ) # define map view view = geoview( map_area_definition : "corners", area : [41,5.8,44.68,11.32], coastlines: coastlines ) # define title title = mtext(text_font_size : 0.4) # define legend legend = mlegend(legend_text_font_size : 0.25) # define output setoutput(pdf_output(output_name : 'nc_seacurrent_fixed_vector')) # generate plot plot(view, vis, vector_plotting, legend, title)
NetCDF Sea Currents with Fix-sized Vectors 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 ************************************ # import metview as mv # read NetCDF file with gridded data over the Mediterranean Sea nc = mv.read("sea_current.nc") # this NetCDF data has the following structure: # dimensions: # time = 1 ; # latitude = 128 ; # longitude = 344 ; # nv = 2 ; # variables: # float time(time) ; # float latitude(latitude) ; # float longitude(longitude) ; # int ugos(time, latitude, longitude) ; # ugos:long_name = "Absolute geostrophic velocity: zonal component" ; # int vgos(time, latitude, longitude) ; # vgos:long_name = "Absolute geostrophic velocity: meridian component" ; # define netcdf plotting based on the data structure above vis = mv.netcdf_visualiser( netcdf_plot_type = "geo_matrix_vectors", netcdf_latitude_variable = "latitude", netcdf_longitude_variable = "longitude", netcdf_x_component_variable = "ugos", netcdf_y_component_variable = "vgos", netcdf_data = nc ) # define vector plotting using fix-sized arrow vector_plotting = mv.mwind( wind_thinning_factor = 1, legend = "on", wind_advanced_method = "on", wind_advanced_colour_max_value = 0.5, wind_advanced_colour_min_value = 0, wind_advanced_colour_max_level_colour = "RGB(1,0.003922,0.9668)", wind_advanced_colour_min_level_colour = "RGB(0.7359,0.7584,0.8484)", wind_arrow_calm_indicator = "on", wind_arrow_calm_below = 0.01, wind_arrow_colour ='RGB(0.5124,0.5124,0.8366)', wind_arrow_head_shape = 1, wind_arrow_head_ratio = 1, wind_arrow_fixed_velocity = 1, wind_arrow_thickness = 2, wind_arrow_unit_velocity = 2.6 ) # define coastlines coastlines = mv.mcoast( map_coastline_colour = "RGB(0.3628,0.3557,0.5698)", map_coastline_land_shade = "on", map_coastline_land_shade_colour = "RGB(0.4119,0.4173,0.4352)", map_coastline_sea_shade = "on", map_coastline_sea_shade_colour = "RGB(0.95,0.95,0.95)", map_boundaries = "on", map_boundaries_colour = "RGB(0.8809,0.5136,0.1701)", map_boundaries_thickness = 2, map_grid_colour = "charcoal", map_grid_latitude_increment = 2, map_grid_longitude_increment = 2 ) # define map view view = mv.geoview( map_area_definition = "corners", area = [41,5.8,44.68,11.32], coastlines = coastlines ) # define title title = mv.mtext(text_font_size = 0.4) # define legend legend = mv.mlegend(legend_text_font_size = 0.25) # define output mv.setoutput(mv.pdf_output(output_name = 'nc_seacurrent_fixed_vector')) # generate plot mv.plot(view, vis, vector_plotting, legend, title)