Documentation of read_clim


Global Index (short | long) | Local contents | Local Index (short | long)


Function Synopsis

[dat, lat, lon, lev] = ...

Help text

  [dat, lat, lon, lev] = ...
      read_clim(fstr, pathstr, lims, levind, varname);

Cross-Reference Information

This function calls

Listing of function read_clim

function [dat, lat, lon, lev] = ...
    read_clim(fstr, pathstr, lims, levind, varname);


%lims = [40 300 -30 30];
%levind = 1; nlev = length(levind);
%varname = 'PRECC';

%  Get filenames
this_dir = pwd;
if strcmp(this_dir(1:8), '/tmp_mnt'); this_dir = this_dir(9:end); end;

eval(['cd ' pathstr]);
fname = dir(fstr);
nmonth = length(fname);

%  Load lat, lon, and such
nc = netcdf(fname(1).name, 'nowrite');
  lat = nc{'lat'}(:);
  lon = nc{'lon'}(:);
  lev = nc{'lev'}(:);
  [xk, yk] = keep_var(lims, lon, lat);
  
  %  Get variable parameters
  szvar = size(var(nc, varname));
nc = close(nc);

lat = lat(yk); nlat = length(lat);
lon = lon(xk); nlon = length(lon);

vardims = length(szvar);

if vardims == 3;
  
  dat = repmat(NaN, [nmonth nlat nlon]);
  for i = 1:nmonth;
    disp(char(fname(i).name))
    nc = netcdf(fname(i).name, 'nowrite');
      dat(i,:,:) = nc{varname, 1}(1,yk,xk);
    nc = close(nc);
  end 
  
else
  
  dat = repmat(NaN, [nmonth nlev nlat nlon]);
  for i = 1:nmonth;
    disp(char(fname(i).name))
    nc = netcdf(fname(i).name, 'nowrite');
      dat(i,:,:) = nc{varname, 1}(1,levind,yk,xk);
    nc = close(nc);
  end 

end