globequiver documentation

The globequiver function plots georeferenced vectors with components (u,v) in a East-North coordinate system on a globe.

Back to Climate Data Tools Contents.

Contents

Syntax

globequiver(lat,lon,u,v)
globequiver(...,scale)
globequiver(...,LineSpec)
globequiver(...,LineSpec,'filled')
globequiver(...,'PropertyName',PropertyValue,...)
globequiver(...,'radius',GlobeRadius)
globequiver(...,'density',DensityValue)
h = globequiver(...)

Description

globequiver(lat,lon,u,v) plots the georeferenced vector values (u,v) on a globe. The inputs lat and lon are the same size as u and v and can be defined using meshgrid or cdtgrid.

globequiver(...,scale) scales the size of the arrows which represent the vector values (u,v) automatically to fit the globe and then stretches them by S.

globequiver(...,LineSpec) specifies line style, marker symbol, and color.

globequiver(...,LineSpec,'filled') fills markers specified by LineSpec.

globequiver(...,'PropertyName',PropertyValue,...) specifies property name and property value pairs for the created objects.

globequiver(...,'radius',GlobeRadius) specifies the radius of the globe as GlobeRadius. Default GlobeRadius is 6371.

globequiver(...,'density',DensityValue) specifies density of the vectors displayed on the globe. Default density is simply the density of the raw data.

h = globequiver(...) returns the handle h of the plotted objects.

Example 1

Plot northward vectors, and use globefill to fill the inside of the globe:

[lat,lon] = cdtgrid(10);
u = zeros(size(lat));
v = ones(size(lat));

figure
globequiver(lat,lon,u,v)
globefill
axis tight

Example 2

Plot red eastward vectors on a globe:

[lat,lon] = cdtgrid(10);

u = ones(size(lat));
v = zeros(size(lat));

figure
globequiver(lat,lon,u,v,'r')
globefill
axis tight

Example 3

Plot anomalies from January 2017 derived from ERA-Interim products:

filename = 'ERA_Interim_2017.nc';
u10 = ncread(filename,'u10'); % 10 metre U wind component
v10 = ncread(filename,'v10'); % 10 metre V wind component
sp = ncread(filename,'sp'); % surface pressure
T = ncread(filename,'t2m'); % 2 metre temperature
lat = double(ncread(filename,'latitude'));
lon = double(ncread(filename,'longitude'));

% Calculate anomalies for January:
mo = 1;
Ta = T(:,:,mo)-mean(T,3);
spa = sp(:,:,mo)-mean(sp,3);
ua = u10(:,:,mo) - mean(u10,3);
va = v10(:,:,mo) - mean(v10,3);

[lat,lon] = meshgrid(lat,lon);

Start by plotting the temperature anomaly using globepcolor and adjust colormap using using cmocean: Add national borders using globeborders:

figure
globepcolor(lat,lon,Ta)
globeborders('color',rgb('gray'))
axis tight
cmocean('balance','pivot')

Now plot wind anomalies:

q = globequiver(lat,lon,ua,va,'k');

Is that wind vector grid too dense? Delete it and try again, specifying vector density and scale length:

delete(q) % deletes the quiver arrows we just plotted above

globequiver(lat,lon,ua,va,2,'density',100,'k')

For added context, plot surface pressure anomaly as contour lines using globecontour. Also change the viewing angle:

globecontour(lat,lon,spa,10,'color',rgb('orange'))
view(-140,22)

Author Info

This function and supporting documentation were written by Natalie S. Wolfenbarger and Chad A. Greene for Climate Data Tools for Matlab, 2019.