Documentation of pn_reg_ct


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


Function Synopsis

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

Help text


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


Cross-Reference Information

This function calls This function is called by

Listing of function pn_reg_ct

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

curdir = cd;

cd /home/disk/hayes2/dvimont/data
load ct_gr.mat

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'}(:);
    lind = find(levs == lev);
    var = squeeze(nc{var_nam}(1:480,lind,:,:));
  else
    var = nc{var_nam}(1:480,:,:);
  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;

kp = sort([1:12:480 2:12:480 12:12:480]);
%kp = 1:408;
var = var(kp,:,:);
[ntimw, nlat, nlon] = size(var);

temct = ctstar(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);

tem = temct;
kpt = find(temct > 0);
tem(kpt) = zeros(size(kpt));
npat = reshape((tem' * var/sum(tem)), nlat, nlon);
tem = temct;
kpt = find(temct < 0);
tem(kpt) = zeros(size(kpt));
ppat = reshape((tem' * var/sum(tem)), nlat, nlon);
pat = reshape((temct' * var/ntimw),nlat,nlon);
clim = squeeze(mean(clim));

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