/[MITgcm]/MITgcm_contrib/gael/matlab_class/@gcmfaces/gcmfaces.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/@gcmfaces/gcmfaces.m

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


Revision 1.5 - (hide annotations) (download)
Tue Jan 12 14:37:03 2016 UTC (9 years, 6 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint65x, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, HEAD
Changes since 1.4: +3 -1 lines
- assume nFaces=1; if no argument is specificed
  and if mygrid has not been loaded yet.

1 gforget 1.1 function s=gcmfaces(varargin);
2 gforget 1.3 %object: create an empty gcmfaces object
3 gforget 1.4 %input: fld cell array containing each face data
4     % OR nFaces number of faces (empty faces in output)
5     % OR (none; results in empty face data, with nFaces=mygrid.nFaces)
6     %output: gcmfaces object
7    
8    
9     %object: create an empty gcmfaces object
10     %input: fld cell array containing each face data
11     % OR nFaces,fld (to add consistency check)
12     % OR nFaces number of faces (empty faces in output)
13     % OR (none) (empty faces in output)
14     %output: gcmfaces object formatted/filled accordingly
15    
16 gforget 1.1
17 gforget 1.2 global mygrid;
18    
19 gforget 1.4 if nargin==2;
20     nFaces=varargin{1};
21     fld=varargin{2};
22     if ~iscell(fld)|length(fld)~=nFaces;
23     error('inconsistent spec. of nFaces,fld');
24     end;
25     elseif nargin==1;
26     tmp1=varargin{1};
27     if iscell(tmp1);
28     fld=tmp1;
29     nFaces=length(fld);
30     else;
31     nFaces=varargin{1};
32     fld=[];
33     end;
34     elseif isfield(mygrid,'nFaces');
35     nFaces=mygrid.nFaces;
36     fld=[];
37     else;
38 gforget 1.5 nFaces=1;
39     fld=[];
40     warning('nFaces set to 1 by default');
41 gforget 1.4 end;
42 gforget 1.2
43     if nFaces==1; gridType='ll';
44     elseif nFaces==4; gridType='llpc';
45     elseif nFaces==5; gridType='llc';
46     elseif nFaces==6; gridType='cube';
47     else; error('wrong gcmfaces definition');
48     end;
49 gforget 1.1
50     nFacesMax=6;
51    
52     if iscell(fld);
53 gforget 1.4 s.nFaces=length(fld);
54     s.gridType=gridType;
55     for iF=1:s.nFaces;
56     eval(['s.f' num2str(iF) '=fld{iF};']);
57     end;
58     for iF=s.nFaces+1:nFacesMax;
59     eval(['s.f' num2str(iF) '=[];']);
60     end;
61 gforget 1.1 else;
62 gforget 1.2 s.nFaces=nFaces;
63     s.gridType=gridType;
64     for iF=1:nFacesMax;
65     eval(['s.f' num2str(iF) '=[];']);
66     end;
67 gforget 1.1 end;
68    
69     s = class(s,'gcmfaces');
70    

  ViewVC Help
Powered by ViewVC 1.1.22