| 1 |
function [Tm,Tsd] = meanprofile(GRID,T1,varargin); |
| 2 |
|
| 3 |
% Remove NaN's |
| 4 |
T1( find(isnan(T1)) )=0; |
| 5 |
|
| 6 |
if nargin==3 |
| 7 |
dTm=(mean(T1,4)-mean(varargin{1},4)).*GRID.mskc; |
| 8 |
mapmsk=GRID.mskc(:,:,1); |
| 9 |
elseif nargin==4 |
| 10 |
dTm=(mean(T1,4)-mean(varargin{1},4)).*GRID.mskc; |
| 11 |
mapmsk=varargin{2}; |
| 12 |
else |
| 13 |
dTm=mean(T1,4).*GRID.mskc; |
| 14 |
mapmsk=GRID.mskc(:,:,1); |
| 15 |
end |
| 16 |
|
| 17 |
nxy=prod(size(GRID.rac)); |
| 18 |
nr=prod(size(GRID.mskc,3)); |
| 19 |
ra=reshape((GRID.rac(:).*mapmsk(:))*ones(1,nr),size(GRID.mskc)).*GRID.mskc; |
| 20 |
dTm=reshape(dTm,[nxy nr]); |
| 21 |
ra=reshape(ra,[nxy nr]); |
| 22 |
Tm=squeeze( sum(dTm.*ra) ./ sum(ra) ); |
| 23 |
Tsd=(dTm'-Tm'*ones(1,nxy))'; |
| 24 |
Tsd=sqrt( squeeze( sum((Tsd.^2).*ra) ./ sum(ra) ) ); |
| 25 |
|
| 26 |
function [F] = impliedflux(GRID,Q); |
| 27 |
F=mean(Q,3).*GRID.mskc(:,:,1).*GRID.rac; |
| 28 |
F=-cumsum([0 squeeze( sum(F,1) )]); |