/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_diags/diags_set_C.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/gcmfaces_diags/diags_set_C.m

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


Revision 1.1 - (hide annotations) (download)
Thu Nov 1 19:07:17 2012 UTC (12 years, 8 months ago) by gforget
Branch: MAIN
- more modular, and suposedly more user-friendly, version
  of ecco_v4/comp_driver.m and basic_diags_ecco.m

1 gforget 1.1
2     if userStep==1;%diags to be computed
3     listDiags='fldTzonmean fldSzonmean fldETANzonmean fldETANLEADSzonmean fldSIzonmean fldMLDzonmean';
4     listDiags=[listDiags ' IceAreaNorth IceAreaSouth IceVolNorth IceVolSouth SnowVolNorth SnowVolSouth'];
5     listDiags=[listDiags ' Ueq Teq Tglo Sglo TgloProf SgloProf'];
6     elseif userStep==2;%input files and variables
7     listFlds={ 'THETA','SALT','ETAN','SIarea','SIheff','SIhsnow','sIceLoad','MXLDEPTH','UVELMASS','VVELMASS'};
8     listFldsNames=deblank(listFlds);
9     listFiles={'state_2d_set1','other_2d_set1','state_3d_set1','trsp_3d_set1'};
10     listSubdirs={[dirModel 'diags/OTHER/' ],[dirModel 'diags/STATE/' ],[dirModel 'diags/TRSP/']};
11     elseif userStep==3;%computational part;
12     %mask and re-arrange fields:
13     fldT=THETA.*mygrid.mskC; fldS=SALT.*mygrid.mskC;
14     fldETAN=ETAN.*mygrid.mskC(:,:,1);
15     fldETANLEADS=(ETAN+sIceLoad/myparms.rhoconst).*mygrid.mskC(:,:,1);
16     fldSI=SIarea.*mygrid.mskC(:,:,1);
17     fldMLD=MXLDEPTH.*mygrid.mskC(:,:,1);
18     ux=UVELMASS.*mygrid.mskW; vy=VVELMASS.*mygrid.mskS;
19     [ue,un]=calc_UEVNfromUXVY(ux,vy);
20    
21     %compute zonal means:
22     [fldTzonmean]=calc_zonmean_T(fldT);
23     [fldSzonmean]=calc_zonmean_T(fldS);
24     [fldETANzonmean]=calc_zonmean_T(fldETAN);
25     [fldETANLEADSzonmean]=calc_zonmean_T(fldETANLEADS);
26     [fldSIzonmean]=calc_zonmean_T(fldSI);
27     [fldMLDzonmean]=calc_zonmean_T(fldMLD);
28    
29     %compute hemispheric ice sums:
30     fld=SIarea.*mygrid.RAC.*(mygrid.YC>0); IceAreaNorth=sum(fld);
31     fld=SIarea.*mygrid.RAC.*(mygrid.YC<0); IceAreaSouth=sum(fld);
32     fld=SIheff.*mygrid.RAC.*(mygrid.YC>0); IceVolNorth=sum(fld);
33     fld=SIheff.*mygrid.RAC.*(mygrid.YC<0); IceVolSouth=sum(fld);
34     fld=SIhsnow.*mygrid.RAC.*(mygrid.YC>0); SnowVolNorth=sum(fld);
35     fld=SIhsnow.*mygrid.RAC.*(mygrid.YC<0); SnowVolSouth=sum(fld);
36    
37     %equatorial sections of T and U:
38     [secX,secY,Teq]=gcmfaces_section([],0,fldT,1);
39     [secX,secY,Ueq]=gcmfaces_section([],0,ue,1);
40    
41     %global means and profiles:
42     msk=mygrid.mskC.*mygrid.hFacC;
43     msk=msk.*mk3D(mygrid.RAC,msk).*mk3D(mygrid.DRF,msk);
44     Tglo=nansum(fldT.*msk)./nansum(msk);
45     Sglo=nansum(fldS.*msk)./nansum(msk);
46     nr=length(mygrid.RC);
47     TgloProf=zeros(nr,1); SgloProf=zeros(nr,1);
48     for kk=1:nr;
49     rac=mygrid.RAC.*mygrid.mskC(:,:,kk);
50     TgloProf(kk)=nansum(rac.*fldT(:,:,kk))/nansum(rac);
51     SgloProf(kk)=nansum(rac.*fldS(:,:,kk))/nansum(rac);
52     end;
53     end;

  ViewVC Help
Powered by ViewVC 1.1.22