1 |
mlosch |
1.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) )]); |