/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_calc/calc_zonmean_T.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/gcmfaces_calc/calc_zonmean_T.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Fri Apr 30 05:15:10 2010 UTC (15 years, 3 months ago) by gforget
Branch: MAIN
Changes since 1.1: +4 -3 lines
bug fix

1 gforget 1.1 function [FLD]=calc_zonmean_T(fld,LATS_MASKS);
2    
3     %by assumption: zonmean_TUV_mask is done, and grid_load is done
4     global mygrid;
5    
6     %initialize output:
7     n3=max(size(fld.f1,3),1); n4=max(size(fld.f1,4),1);
8     FLD=NaN*squeeze(zeros(length(LATS_MASKS),n3,n4));
9    
10     %use array format to speed up computation below:
11     fld=convert2array(fld);
12     n1=size(fld,1); n2=size(fld,2);
13     fld=reshape(fld,n1*n2,n3*n4);
14     fld(isnan(fld))=0;
15     rac=reshape(convert2array(mygrid.RAC),n1*n2,1)*ones(1,n3*n4);
16     if n3==length(mygrid.RC);
17     hFacC=reshape(convert2array(mygrid.hFacC),n1*n2,n3*n4);
18     else;
19 gforget 1.2 hFacC=reshape(convert2array(mygrid.mskC(:,:,1)),n1*n2,1)*ones(1,n3*n4);
20     hFacC(isnan(hFacC))=0;
21 gforget 1.1 end;
22     rac=rac.*hFacC;
23     fld=fld.*rac;
24    
25 gforget 1.2 %masked area only:
26     rac(isnan(fld))=0;
27 gforget 1.1
28     for iy=1:length(LATS_MASKS);
29    
30     %get list ofpoints that form a zonal band:
31     mm=convert2array(LATS_MASKS(iy).mmt);
32     mm=find(~isnan(mm));
33    
34     %do the area weighed average along this band:
35     tmp1=sum(fld(mm,:),1);
36     tmp2=sum(rac(mm,:),1);
37     tmp2(tmp2==0)=NaN;
38     tmp1=tmp1./tmp2;
39    
40     %store:
41     FLD(iy,:,:)=reshape(tmp1,n3,n4);
42    
43     end;
44    
45    

  ViewVC Help
Powered by ViewVC 1.1.22