Documentation of reg_gr


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


Function Synopsis

[pat, clim] = reg_ct(filin, var_nam, lev);

Help text


  [pat, clim] = reg_ct(filin, var_nam, lev);


Cross-Reference Information

This function calls This function is called by

Listing of function reg_gr

function [pat, clim] = reg_ct(filin, var_nam, lev);

curdir = cd;

cd /home/disk/hayes2/dvimont/data
%load gr_ccm.mat
%load gr_ct_pacific_only.mat
%load ct_gr.mat
load gr_ct_29March1999.mat
%cd /home/disk/tao/dvimont/matlab/CCM/GR/DATA
%load gr_time_25_37_only.mat
%gr = rave(rave(gr, 5), 9);
%gr = gr_tim;

cd /home/disk/tao/data/nmc.reanalysis/monthly

%filin = 'prate.mon.mean.nc';
%var_nam = 'prate';
%filin = 'vwnd.mon.mean.nc';
%var_nam = 'vwnd';
%lev = 250;

nc = netcdf(filin, 'nowrite');

  if (lev ~= 1)
    levs = nc{'level'}(:);
size(levs)
    lind = find(levs == lev);
    var = nc{var_nam}(37:457,lind,:,:);
    var = squeeze(var);
  else
    var = nc{var_nam}(37:457,:,:);
  end;

  lat = nc{'lat'}(:);
  lon = nc{'lon'}(:);
  add_offset = nc{var_nam}.add_offset(:);
  scale_factor = nc{var_nam}.scale_factor(:);
nc = close(nc);

var = var * scale_factor;
var = var + add_offset;
get_global;
[ntim, nlat, nlon] = size(var);

%  Regress out CTstar:

%var = reshape(var, ntim, nlat*nlon);
%ctstar = ctstar(37:457);
%ctstar = ctstar(kp);
%ctstar = (ctstar - mean(ctstar)) / std(ctstar);
%a1 = (ctstar' * var) / ntim;
%var = var - (ctstar * a1);
%var = reshape(var, ntim, nlat, nlon);

kp = sort([12:12:408 1:12:408 2:12:408 3:12:408 4:12:408 11:12:408]);
%kp = 1:408;
var = var(kp,:,:);
[ntimw, nlat, nlon] = size(var);
%var = reshape(var, ntimw, nlat*nlon);

%grlp = grlp(37:457);
%temct = 1*grlp(kp);
gr = gr(37:457);
temct = 1*gr(kp);
i = 0;
clear clim
for m = 1:3;
  i = i+1;
  clim(i,:,:) = mean(var(m:3:ntimw,:,:));
  climct(i) = mean(temct(m:3:ntimw));
end
x = zeros(ntimw,nlat,nlon);
for m = 1:ntimw;
  l=rem(m-1,3)+1;
  var(m,:,:) = var(m,:,:) - clim(l,:,:);
  temct(m) = temct(m) - climct(l);
end;

%temct = ctstar(kp);
%temct = -1*gr(kp);
temct = (temct-mean(temct))/std(temct);

var = reshape(var, ntimw, nlat*nlon);
pat = reshape((temct' * var /ntimw),nlat,nlon);
clim = squeeze(mean(clim));

curdir = ['cd ' curdir];
eval(curdir)