Global Index (short | long) | Local contents | Local Index (short | long)
prod=cosp(x,y,nya,minperc)
function prod=cosp(x,y,nya,minperc) calculates area (cos) weighted projection of two map x and y onto each other. X and Y must be linemaps (going from NW to SE). NYA is the latidue axis of the maps (from top to bottom) MINPERC (opt) is the minimum percentage of points not missing for the whole procduct to be not missing (from 0 to 100). In a projection, the spatial mean is NOT removed from X and Y. However, the long term mean should be removed from each gridpoint.
This function is called by | |
---|---|
function prod=cosp(x,y,nya,minperc) % make sure maps are 1 down, nulat*nulon across: if size(x,2) == 1 ;x=x'; end if size(y,2) == 1 ;y=y'; end if nargin <4 minperc=0; else minperc=minperc/100; end if isempty(nya) error('Latitude axis has to be supplied') end nulat=length(nya); nulon=length(x)/nulat; w=cos(nya*pi/180); w=w(:); if size(x) == size(y) else error ('X and Y are not the same size') end % wmat is a linemap that contains the weights % for the data set. weights=w(:,ones(1,nulon))'; weights=weights(:); weights=weights'; minpoints=minperc*nulon*nulat; use=~(isnan(x)|isnan(y)); nupoints=sum(use); if nupoints < minpoints prod=NaN; else prod=sum(weights(use).*y(use).*x(use))/(sum(weights(use))); end