Global Index (short | long) | Local contents | Local Index (short | long)
[div, lat2, lon2] = sph_div1(u, v, lat, lon, wrap);
[div, lat2, lon2] = sph_div1(u, v, lat, lon, wrap); assume lat and lon specified in degree wrap determines whether to wrap the x-axis around the globe ( default = 0 ) SEE : sph_gradx1, sph_div1, sph_curl1
This function calls | This function is called by |
---|---|
function [div, lat2, lon2] = sph_div1(u, v, lat, lon, wrap); global RADUS RADIAN DEGREE if nargin < 5; wrap = 0; end [uy,ux] = size(u); [vy,vx] = size(v); nxy = length(lon)*length(lat); if ( uy*ux ~= nxy | vy*vx ~= nxy ); error ( 'dimension mismatch' ); end; %-------------------------------------------------------- rx = lon * RADIAN; ry = lat * RADIAN; if wrap; rx2 = 0.5 * (rx + [rx(2:vx); 2*pi + rx(1)]); else rx2 = 0.5 * (rx(1:(ux-1)) + rx(2:ux)); end ry2 = 0.5 * (ry(1:(vy-1)) + ry(2:vy)); u2 = 0.5 * (u(1:(uy-1),:) + u(2:uy,:)); if wrap; v2 = 0.5 * (v + [v(:,2:vx) v(:,1)]); else v2 = 0.5 * (v(:,1:(ux-1)) + v(:,2:ux)); end [divx, lon2] = sph_gradx1(u2,ry2,rx,wrap); [divy, lat2] = sph_grady1(v2,ry,rx2,1); lon2 = lon2*DEGREE; lat2 = lat2*DEGREE; div = divx + divy;