Global Index (short | long) | Local contents | Local Index (short | long)
[pat, clim] = reg_ct(filin, var_nam, lev, endnum);
[pat, clim] = reg_ct(filin, var_nam, lev);
| This function calls | This function is called by |
|---|---|
function [pat, clim] = reg_ct(filin, var_nam, lev, endnum);
curdir = cd;
if nargin < 4;
endnum = 444;
end
cd /home/disk/hayes2/dvimont/ccm/ccm3.6/data
load ct_gr.mat
ctstar = ctstar(37:endnum);
%ctstar = ctstar(253:480);
cd /home/disk/tao/data/nmc.reanalysis/monthly
%cd /home/disk/tao/data/merged_precip
%cd /home/disk/tao/data/MSU/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 ~= 0;
levs = nc{'level'}(:);
lind = find(levs == lev);
var = squeeze(nc{var_nam}(37:endnum,lind,:,:));
else
var = nc{var_nam}(37:endnum,:,:);
% var = nc{var_nam}(1:228,:,:);
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:228 2:12:228 12:12:228]);
kp = sort([12:12:408 1:12:408 2:12:408]);
kp = sort([kp 3:12:408 4:12:408 11:12:408]);
%kp = sort([1:12:(endnum-36) 2:12:(endnum-36) 12:12:(endnum-36)]);
%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);
pat = reshape((temct' * reshape(var, ntimw, nlat*nlon)/ntimw),nlat,nlon);
clim = squeeze(mean(clim));
curdir = ['cd ' curdir];
eval(curdir)