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

Contents 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 - (show 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
Error occurred while calculating annotation data.
- assume nFaces=1; if no argument is specificed
  and if mygrid has not been loaded yet.

1 function s=gcmfaces(varargin);
2 %object: create an empty gcmfaces object
3 %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
17 global mygrid;
18
19 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 nFaces=1;
39 fld=[];
40 warning('nFaces set to 1 by default');
41 end;
42
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
50 nFacesMax=6;
51
52 if iscell(fld);
53 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 else;
62 s.nFaces=nFaces;
63 s.gridType=gridType;
64 for iF=1:nFacesMax;
65 eval(['s.f' num2str(iF) '=[];']);
66 end;
67 end;
68
69 s = class(s,'gcmfaces');
70

  ViewVC Help
Powered by ViewVC 1.1.22