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

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

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


Revision 1.2 - (show annotations) (download)
Thu Jan 17 20:23:22 2013 UTC (12 years, 6 months ago) by gforget
Branch: MAIN
Changes since 1.1: +1 -0 lines
- add gcmfaces_diags to path.

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
17 %set optional paramaters to default values
18 resetGrid=0; listVars={};
19 %set more optional paramaters to user defined values
20 for ii=1:nargin;
21 if ~iscell(varargin{ii});
22 warning('inputCheck:gcmfaces_global_1',...
23 ['As of june 2011, gcmfaces_global expects \n'...
24 ' its optional parameters as cell arrays. \n'...
25 ' Argument no. ' num2str(ii+1) ' was ignored \n'...
26 ' Type ''help gcmfaces_global'' for details.']);
27 elseif ~ischar(varargin{ii}{1});
28 warning('inputCheck:gcmfaces_global_2',...
29 ['As of june 2011, gcmfaces_global expects \n'...
30 ' its optional parameters cell arrays \n'...
31 ' to start with character string. \n'...
32 ' Argument no. ' num2str(ii+1) ' was ignored \n'...
33 ' Type ''help gcmfaces_global'' for details.']);
34 else;
35 if strcmp(varargin{ii}{1},'listVars');
36 eval([varargin{ii}{1} '={varargin{ii}{2:end}};']);
37 elseif strcmp(varargin{ii}{1},'resetGrid');
38 eval([varargin{ii}{1} '=varargin{ii}{2};']);
39 else;
40 warning('inputCheck:gcmfaces_global_3',...
41 ['unknown option ''' varargin{ii}{1} ''' was ignored']);
42 end;
43 end;
44 end;
45
46
47 %get/define global variables:
48 global myenv mygrid;
49
50 %take care of path:
51 test0=which('convert2gcmfaces.m');
52 if isempty(test0);
53 test0=which('gcmfaces_global.m'); ii=strfind(test0,'/');
54 mydir=test0(1:ii(end));
55 %
56 eval(['addpath ' mydir ';']);
57 eval(['addpath ' mydir '/gcmfaces_IO/;']);
58 eval(['addpath ' mydir 'gcmfaces_convert/;']);
59 eval(['addpath ' mydir 'gcmfaces_exch/;']);
60 eval(['addpath ' mydir 'gcmfaces_maps/;']);
61 eval(['addpath ' mydir '/gcmfaces_misc/;']);
62 eval(['addpath ' mydir '/gcmfaces_calc/;']);
63 eval(['addpath ' mydir '/gcmfaces_smooth/;']);
64 eval(['addpath ' mydir 'ecco_v4/;']);
65 eval(['addpath ' mydir 'sample_analysis/;']);
66 eval(['addpath ' mydir 'sample_processing/;']);
67 eval(['addpath ' mydir 'gcmfaces_diags/;']);
68 eval(['addpath ' mydir 'gcmfaces_devel/;']);
69 end;
70
71 %environment variables:
72 if isempty(myenv);
73 test0=which('gcmfaces_global.m'); ii=strfind(test0,'/');
74 myenv.gcmfaces_dir=test0(1:ii(end));
75 myenv.verbose=0;
76 myenv.lessplot=0;
77 myenv.lesstest=0;
78 myenv.useNativeMatlabNetcdf = ~isempty(which('netcdf.open'));
79 %... check m_map and netcdf
80 end;
81
82 %load grid variables:
83 if resetGrid==1;
84 mygrid=[];
85 dirGrid=input('grid directory name?\n','s');
86 nFaces=input('number of grid faces?\n');
87 fileFormat=input('file format?\n[''native'',''straight'',''cube'' or ''compact'']\n','s');
88 if strcmp(fileFormat,'native');
89 grid_load_native(dirGrid,nFaces);
90 else;
91 grid_load(dirGrid,nFaces,fileFormat);
92 end;
93 end;
94
95 %check available mygrid variables:
96 for ii=1:length(listVars);
97 if ~isfield(mygrid,listVars{ii});
98 error(['mygrid does not include ' listVars{ii}]);
99 end;
100 end;
101
102 %send to workspace:
103 evalin('caller','global mygrid myenv');
104

  ViewVC Help
Powered by ViewVC 1.1.22