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

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

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


Revision 1.4 - (hide annotations) (download)
Tue Jun 14 03:39:46 2016 UTC (9 years, 1 month ago) by gforget
Branch: MAIN
CVS Tags: checkpoint65x
Changes since 1.3: +39 -3 lines
- calc_zonmean_T.m : test for mygrid.LATS_MASKS
- calc_mermean_T.m : compute averages along meridians
- gcmfaces_lines_zonal.m : define also LATS, LONS, and LONS_MASKS

1 gforget 1.1 function []=gcmfaces_lines_zonal(varargin);
2     %object: define the set of quasi longitudinal lines
3     % along which transports will integrated;
4     % LATS_MASKS that will be added to mygrid.
5 gforget 1.4 % LONS_MASKS that will be added to mygrid.
6 gforget 1.1 %optional input:
7     % LATS_VAL is the latitudes vector ([-89:89]' by default)
8 gforget 1.4 % LONS_VAL is the latitudes vector ([-179.5:179.5]' by default)
9 gforget 1.1
10     global mygrid;
11    
12     if nargin>0; LATS_VAL=varargin{1}; else; LATS_VAL=[-89:89]'; end;
13 gforget 1.4 if nargin>1; LONS_VAL=varargin{2}; else; LONS_VAL=[-179.5:179.5]'; end;
14    
15     if iscell(LONS_VAL);
16     warning('gcmfaces_lines_zonal now takes LONS_VAL as 2nd argument');
17     LONS_VAL=[-179.5:179.5]';
18     end;
19    
20     MSKS_NAM={'mskCint','mskCedge','mskWedge','mskSedge'};
21 gforget 1.1
22     for iy=1:length(LATS_VAL);
23 gforget 1.2
24     mskCint=1*(mygrid.YC>=LATS_VAL(iy));
25     [mskCedge,mskWedge,mskSedge]=gcmfaces_edge_mask(mskCint);
26    
27 gforget 1.3 for im=1:length(MSKS_NAM);
28     eval(['tmp1.' MSKS_NAM{im} '=' MSKS_NAM{im} ';']);
29     end;
30     tmp1.lat=LATS_VAL(iy);
31    
32 gforget 1.1 %store:
33     if iy==1;
34 gforget 1.3 LATS_MASKS=tmp1;
35 gforget 1.1 else;
36 gforget 1.3 LATS_MASKS(iy)=tmp1;
37 gforget 1.1 end;
38    
39     end;
40    
41 gforget 1.4 for iy=1:length(LONS_VAL);
42    
43     mskCint=1*(sin(deg2rad(mygrid.XC-LONS_VAL(iy)))>=0);
44     [mskCedge,mskWedge,mskSedge]=gcmfaces_edge_mask(mskCint);
45     tmp1=1*(cos(deg2rad(mygrid.XC-LONS_VAL(iy)))>0);
46     mskCedge=mskCedge.*tmp1;
47     tmp1=1*(cos(deg2rad(mygrid.XG-LONS_VAL(iy)))>0);
48     mskWedge=mskWedge.*tmp1;
49     tmp1=1*(cos(deg2rad(mygrid.XC-LONS_VAL(iy)))>0);
50     mskSedge=mskSedge.*tmp1;
51    
52     clear tmp1;
53     for im=1:length(MSKS_NAM);
54     eval(['tmp1.' MSKS_NAM{im} '=' MSKS_NAM{im} ';']);
55     end;
56     tmp1.lon=LONS_VAL(iy);
57    
58     %store:
59     if iy==1;
60     LONS_MASKS=tmp1;
61     else;
62     LONS_MASKS(iy)=tmp1;
63     end;
64    
65     end;
66    
67 gforget 1.1 mygrid.LATS_MASKS=LATS_MASKS;
68 gforget 1.4 mygrid.LONS_MASKS=LONS_MASKS;
69     mygrid.LATS=[mygrid.LATS_MASKS.lat]';
70     mygrid.LONS=[mygrid.LONS_MASKS.lon]';
71 gforget 1.1

  ViewVC Help
Powered by ViewVC 1.1.22