/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_global.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/gcmfaces_global.m

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


Revision 1.3 - (hide annotations) (download)
Mon Jul 28 20:54:09 2014 UTC (10 years, 11 months ago) by gforget
Branch: MAIN
Changes since 1.2: +2 -3 lines
- fix windows PC compatibility (contributed by D.Spiegel).

1 gforget 1.1 function []=gcmfaces_global(varargin);
2     %object: take care of path and global variables (mygrid and myenv),
3     % and sends global variables to caller routine workspace
4     %optional inputs: optional paramaters take the following form
5     % {'name',param1,param2,...}. Are currently active:
6     % {'resetGrid',resetGrid} states that mygrid will be cleared
7     % and re-loaded interactively (1), or not (0;default).
8     % {'listVars',varName1,varName2} is a list of variables
9     % to check is in mygrid (empty by default).
10     %notes: - in any call, if this has not yet been done,
11     % this routine also adds gcmfaces subdirectories
12     % to the matlab path, and it defines myenv.
13     % - calls to this routine will eventually replace
14     % both gcmfaces_path and 'global mygrid' calls.
15    
16     %set optional paramaters to default values
17     resetGrid=0; listVars={};
18     %set more optional paramaters to user defined values
19     for ii=1:nargin;
20     if ~iscell(varargin{ii});
21     warning('inputCheck:gcmfaces_global_1',...
22     ['As of june 2011, gcmfaces_global expects \n'...
23     ' its optional parameters as cell arrays. \n'...
24     ' Argument no. ' num2str(ii+1) ' was ignored \n'...
25     ' Type ''help gcmfaces_global'' for details.']);
26     elseif ~ischar(varargin{ii}{1});
27     warning('inputCheck:gcmfaces_global_2',...
28     ['As of june 2011, gcmfaces_global expects \n'...
29     ' its optional parameters cell arrays \n'...
30     ' to start with character string. \n'...
31     ' Argument no. ' num2str(ii+1) ' was ignored \n'...
32     ' Type ''help gcmfaces_global'' for details.']);
33     else;
34     if strcmp(varargin{ii}{1},'listVars');
35     eval([varargin{ii}{1} '={varargin{ii}{2:end}};']);
36     elseif strcmp(varargin{ii}{1},'resetGrid');
37     eval([varargin{ii}{1} '=varargin{ii}{2};']);
38     else;
39     warning('inputCheck:gcmfaces_global_3',...
40     ['unknown option ''' varargin{ii}{1} ''' was ignored']);
41     end;
42     end;
43     end;
44    
45    
46     %get/define global variables:
47     global myenv mygrid;
48    
49     %take care of path:
50     test0=which('convert2gcmfaces.m');
51     if isempty(test0);
52 gforget 1.3 test0=which('gcmfaces_global.m'); ii=strfind(test0,filesep);
53 gforget 1.1 mydir=test0(1:ii(end));
54     %
55     eval(['addpath ' mydir ';']);
56     eval(['addpath ' mydir '/gcmfaces_IO/;']);
57     eval(['addpath ' mydir 'gcmfaces_convert/;']);
58     eval(['addpath ' mydir 'gcmfaces_exch/;']);
59     eval(['addpath ' mydir 'gcmfaces_maps/;']);
60     eval(['addpath ' mydir '/gcmfaces_misc/;']);
61     eval(['addpath ' mydir '/gcmfaces_calc/;']);
62     eval(['addpath ' mydir '/gcmfaces_smooth/;']);
63     eval(['addpath ' mydir 'ecco_v4/;']);
64     eval(['addpath ' mydir 'sample_analysis/;']);
65     eval(['addpath ' mydir 'sample_processing/;']);
66 gforget 1.2 eval(['addpath ' mydir 'gcmfaces_diags/;']);
67 gforget 1.1 eval(['addpath ' mydir 'gcmfaces_devel/;']);
68     end;
69    
70     %environment variables:
71     if isempty(myenv);
72 gforget 1.3 test0=which('gcmfaces_global.m'); ii=strfind(test0,filesep);
73 gforget 1.1 myenv.gcmfaces_dir=test0(1:ii(end));
74     myenv.verbose=0;
75     myenv.lessplot=0;
76     myenv.lesstest=0;
77     myenv.useNativeMatlabNetcdf = ~isempty(which('netcdf.open'));
78     %... check m_map and netcdf
79     end;
80    
81     %load grid variables:
82     if resetGrid==1;
83     mygrid=[];
84     dirGrid=input('grid directory name?\n','s');
85     nFaces=input('number of grid faces?\n');
86     fileFormat=input('file format?\n[''native'',''straight'',''cube'' or ''compact'']\n','s');
87     if strcmp(fileFormat,'native');
88     grid_load_native(dirGrid,nFaces);
89     else;
90     grid_load(dirGrid,nFaces,fileFormat);
91     end;
92     end;
93    
94     %check available mygrid variables:
95     for ii=1:length(listVars);
96     if ~isfield(mygrid,listVars{ii});
97     error(['mygrid does not include ' listVars{ii}]);
98     end;
99     end;
100    
101     %send to workspace:
102     evalin('caller','global mygrid myenv');
103    

  ViewVC Help
Powered by ViewVC 1.1.22