Documentation of calc_pacbasin_gr


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


Help text

  Load and configure NMC.REANAL data

Cross-Reference Information

This script calls

Listing of script calc_pacbasin_gr


clear

%cd /home/disk/tao/data/nmc.reanalysis/monthly
cd /home/disk/tao/data/reynolds/eof

%filin = ['sst.mon.mean.nc'];
filin = ['ssteof5092.nc'];

nc = netcdf(filin, 'nowrite');
%  datets = nc{'time'}(:);
  lat = nc{'lat'}(:);
  lon = nc{'lon'}(:);
  lims = [110 300 -50 50];
  [xk, yk] = keep_var(lims, lon, lat);
  lat = lat(yk); lon = lon(xk);
  ts = nc{'data'}(:,yk,xk);
  add_offset = nc{'data'}.add_offset(:);
  scale_factor = nc{'data'}.scale_factor(:);
nc = close(nc)
ts = ts * scale_factor;
ts = ts + add_offset;

[ntim, nlat, nlon] = size(ts);

cd /home/disk/hayes2/dvimont/ccm/ccm3.6/data
[clat, clon] = getll('wgr.nc');
oro = getnc('wgr.nc', 'ORO');
oro = squeeze(mean(oro));

lims = [120 290 -40 40];
[xk, yk] = keep_var(lims, clon, clat);
oro = oro(yk, xk);
ocpt = find(oro == 0);
clat = clat(yk); clon = clon(xk);

ccmts = zeros(ntim, length(clat), length(clon));
for i = 1:ntim;
  ccmts(i,:,:) = interp2(lon, lat, squeeze(ts(i,:,:)), clon', clat);
end

[ntim, nlat, nlon] = size(ccmts);
clear ts; ts = ccmts;
lat = clat; lon = clon;

[ts, clim] = annave(ts);

ctlim = [180 270 -6 6];
[cx, cy] = keep_var(ctlim, lon, lat);
ct = squeeze(mean(mean(shiftdim(ts(:, cy, cx), 1))));
ctnorm = (ct - mean(ct)) / std(ct);
ctpat = ctnorm' * reshape(ts, ntim, nlat*nlon) / ntim;
ctpat = reshape(ctpat, nlat, nlon);

default_global
FRAME = lims;

figure(1)
sd(1)
     gcont(ctpat, [-2:.2:2]);
     title(['NMC SST regressed on unfiltered CT']);
     xlabel(['Contour Interval:  0.2 K (std)^-^1'])
     dc
sd(2)
     plot(ctnorm);
     xlabel(['Unfiltered CT']);
     ylabel(['STD'])
     axis([0 480 -3 4])
     grid
     set(gca, 'XTick', [25:60:481], 'XTickLabel', [1960:5:2000], 'YTick', [-3:4])

cd /home/disk/tao/dvimont/matlab/CCM/CT/CT_Plots
%print -dps2 Unfiltered_CT_SST.ps

newts = cosweight(ts, lat);
newts = reshape(newts, ntim, nlat*nlon);
newts = newts(:, ocpt);

c = newts * newts' / size(newts, 2);
[lam, pcs, per] = eof(c);

pc10 = pcs(:, 1:10) ./ (ones(ntim, 1) * std(pcs(:,1:10)));
lds = pc10' * newts / ntim;

num = 1;
tem = NaN * ones(1, nlat*nlon);
tem(ocpt) = lds(num, :);
tem = reshape(tem, nlat, nlon);

figure(1)
sd(1)
     gcont(tem, [-2:.2:2]);
     title(['NMC EOF' num2str(num) ', unfiltered SST']);
     xlabel(['Contour Interval:  0.2 K (std)^-^1'])
     dc
sd(2)
     plot(pc10(:,num));
     xlabel(['PC' num2str(num) ',  corr(PC' num2str(num) ', CT) = ' num2str(...
              corr(pc10(:,num), ct))]);
     ylabel(['STD'])
     axis([0 ntim+1 -3 4])
     grid
     set(gca, 'XTick', [1:60:(ntim+1)], 'XTickLabel', [1950:5:2000], 'YTick', [-3:4])

cd /home/disk/tao/dvimont/matlab/CCM/CT/CT_Plots
%print -dps2 EOF1_Pac_basin_SST.ps

ctstar = ct - myrunning_ave(myrunning_ave(ct, 25), 37);
ctstar = (ctstar - mean(ctstar)) / std(ctstar);
ctstarpat = ctstar' * reshape(ts, ntim, nlat*nlon) / ntim;
gr = pc10(:,1) - corr(ctstar, pc10(:,1)) * ctstar;
gr = (gr - mean(gr)) / std(gr);
grpat = gr' * reshape(ts, ntim, nlat*nlon) / ntim;

figure(1)
tem = reshape(ctstarpat, nlat, nlon);
sd(1)
     gcont(tem, [-2:.2:2]);
     title(['NMC SST regressed on CT*']);
     xlabel(['Contour Interval:  0.2 K (std)^-^1'])
     dc
sd(2)
     plot(ctstar);
     xlabel(['HP filtered CT (CT*)']);
     ylabel(['STD'])
     axis([0 480 -3 4])
     grid
     set(gca, 'XTick', [25:60:481], 'XTickLabel', [1960:5:2000], 'YTick', [-3:4])

cd /home/disk/tao/dvimont/matlab/CCM/CT/CT_Plots
%print -dps2 HP_filtered_CT_SST.ps

figure(1)
tem = reshape(grpat, nlat, nlon);
sd(1)
     gcont(tem, [-2:.1:2]);
     title(['NMC SST regressed on Unfiltered GR']);
     xlabel(['Contour Interval:  0.1 K (std)^-^1'])
     dc
sd(2)
     plot(gr);
     xlabel(['Unfiltered GR']);
     ylabel(['STD'])
     axis([0 ntim+1 -3 3])
     grid
     set(gca, 'XTick', [1:60:(ntim+1)], 'XTickLabel', [1950:5:2000], 'YTick', [-3:4])

cd /home/disk/tao/dvimont/matlab/CCM/CT/CT_Plots
%print -dps2 Unfiltered_GR_SST.ps

%  Look at how this projects on the entire globe.

%cd /home/disk/tao/data/nmc.reanalysis/monthly
%[tsg, latg, long] = getnc('sst.mon.mean.nc', 'air', 'lat', 'lon');
cd /home/disk/tao/data/reynolds/eof
[tsg, latg, long] = getnc('ssteof5092.nc', 'data', 'lat', 'lon');
tsg = tsg * scale_factor;
tsg = tsg + add_offset;


[tsg, climg] = annave(tsg);
tsg = reshape(tsg, size(tsg, 1), size(tsg, 2) * size(tsg, 3));

figure(1)
tem = ind' * tsg / ntim;
tem = reshape(tem, length(latg), length(long));
tem(find(abs(tem) < 0.01)) = NaN * ones(size(find(abs(tem) < 0.01)));
XAX = long; YAX = latg; FRAME = [0 360 -45 60];
sd(1)
     gcont(tem, [-2:.1:2]);
     title(['NMC SST regressed on Unfiltered GR']);
     xlabel(['Contour Interval:  0.1 K (std)^-^1'])
     dc
sd(2)
     plot(ind);
     xlabel(['Unfiltered GR']);
     ylabel(['STD'])
     axis([0 ntim+1 -3 3])
     grid
     set(gca, 'XTick', [1:60:(ntim+1)], 'XTickLabel', [1950:5:2000], 'YTick', [-3:4])

cd /home/disk/tao/dvimont/matlab/CCM/CT/CT_Plots
print -dps2 Reynolds_GR_Pac_Basin.ps