Global Index (short | long) | Local contents | Local Index (short | long)
[pat, clim] = reg_ct(filin, var_nam, lev);
[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); 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)