Global Index (short | long) | Local contents | Local Index (short | long)
[varargout] = getc(varargin);
[out1, ...] = getc(var1, ... , xylim, lev, tim); tim = time indices lev = level indices xylim = x and y limits
function [varargout] = getc(varargin); nvar = 0; for i = 1:nargin; if isstr(varargin{i}); nvar = nvar + 1; end end xylim = [110 300 -60 60]; lev = 1; tim = 101:550; if nargin < nargout; error('Input and output arguments must match'); end if nargin > nargout; xylim = varargin{nvar+1}; end; if nargin > nargout+1; lev = varargin{nvar+2}; end; if nargin > nargout+2; tim = varargin{nvar+3}; end; if nargin > nargout+3; error('Too many input arguments'); end cdtem = ['cd ' eval('pwd')]; cd /home/disk/hayes2/dvimont/csiro/data for i = 1:nvar; if strcmp(varargin{i}, 'wl') | strcmp(varargin{i}, 'we'); filin = [varargin{i} '_L2-10.nc']; elseif strcmp(varargin{i}, 'heat'); filin = 'heat_flux_A_1000_years.nc'; elseif strcmp(varargin{i}, 'taux') | ... strcmp(varargin{i}, 'tauy') | ... strcmp(varargin{i}, 'z250'); filin = [varargin{i} '_A_1000_years.nc']; else filin = [varargin{i} '_L1-10.nc']; end nc = netcdf(filin, 'nowrite'); lat = nc{'latitude'}(:); lon = nc{'longitude'}(:); [xk, yk] = keep_var(xylim, lon, lat); if strcmp(varargin{i}, 'heat'); tem = nc{'stfht'}(tim, yk, xk); mv = nc{'stfht'}.missing_value(:); elseif strcmp(varargin{i}, 'taux'); tem = nc{'smfzon'}(tim, yk, xk); mv = nc{'smfzon'}.missing_value(:); elseif strcmp(varargin{i}, 'tauy'); tem = nc{'smfmer'}(tim, yk, xk); mv = nc{'smfmer'}.missing_value(:); elseif strcmp(varargin{i}, 'z250'); tem = nc{varargin{i}}(tim, yk, xk); mv = nc{varargin{i}}.missing_value(:); else tem = nc{varargin{i}}(tim, lev, yk, xk); depth = nc{'depth'}(lev); mv = nc{varargin{i}}.missing_value(:); end nc = close(nc); tem(tem == mv) = NaN; varargout{i} = squeeze(tem); end eval(cdtem);