Documentation of npac_sst_eofs


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


Help text

  Save the data

Cross-Reference Information

This script calls

Listing of script npac_sst_eofs


clean
cd /home/disk/tao/data/nmc.reanalysis
load landmask.mat
lims = [100 270 20 65];
[xk, yk] = keep_var(lims, lon, lat);
lm = lm(yk,xk);
lm(lm==-1)=NaN;
tim = 1:624;
varn = 'air';
filin = 'air.mon.mean.sfc.48mar01.nc';
lev = 1;
cd /home/disk/tao/data/nmc.reanalysis/monthly
[sst, lat, lon] = getnc2(filin, varn, lims, lev, tim);
sst = squeeze(sst);
sst = annave(sst);
sst = detrend(sst);
sst = cosweight(sst, lat);
[ntim, nlat, nlon] = size(sst);
kp = find(~isnan(lm));
sst = sst(:, kp);
[lam, lds, pcs, per] = eof_dan(sst);
cd /home/disk/tao/dvimont/matlab/NMC/Data
save npac_sst_eofs.mat lat lon lims tim lm kp nlat nlon ntim ...
    lam lds pcs per


%  Look at regression patterns
clean

cd /home/disk/tao/dvimont/matlab/NMC/Data
load npac_sst_eofs.mat

lims2 = [85 305 -50 80];

cd /home/disk/tao/data/nmc.reanalysis/monthly
[sst, lat, lon] = getnc2('air.mon.mean.sfc.48mar01.nc', 'air', ...
				       lims2, 1, tim);
[hgt5] = getnc2('hgt.mon.mean.nc', 'hgt', ...
				       lims2, 500, tim);
[slp] = getnc2('slp.monthly.nc', 'slp', ...
				       lims2, 1, tim);
[uwn5] = getnc2('uwnd.mon.mean.nc', 'uwnd', ...
				       lims2, 500, tim);

sst = annave(sst);
slp = annave(slp);
uwn5 = annave(squeeze(uwn5));
hgt5 = annave(squeeze(hgt5));

[xkc, ykc] = keep_var([180 270 -6 6], lon, lat);
ct = squeeze(mean2(mean2(shiftdim(sst(:,ykc,xkc), 1))));

[pat1sst, c1sst] = regress_eof(sst, pcs(:,1), 0);
[pat2sst, c2sst] = regress_eof(sst, pcs(:,2), 0);
[pat3sst, c3sst] = regress_eof(sst, pcs(:,3), 0);
[pat1slp, c1slp] = regress_eof(slp, pcs(:,1), 0);
[pat2slp, c2slp] = regress_eof(slp, pcs(:,2), 0);
[pat3slp, c3slp] = regress_eof(slp, pcs(:,3), 0);
[pat1uwn5, c1uwn5] = regress_eof(uwn5, pcs(:,1), 0);
[pat2uwn5, c2uwn5] = regress_eof(uwn5, pcs(:,2), 0);
[pat3uwn5, c3uwn5] = regress_eof(uwn5, pcs(:,3), 0);
[pat1hgt5, c1hgt5] = regress_eof(hgt5, pcs(:,1), 0);
[pat2hgt5, c2hgt5] = regress_eof(hgt5, pcs(:,2), 0);
[pat3hgt5, c3hgt5] = regress_eof(hgt5, pcs(:,3), 0);

%  Save the data
cd /home/disk/tao/dvimont/matlab/NMC/Data
save npac_sst_eof_regs.mat lat lon lims2 tim lam lds pcs per ct ...
    pat1sst c1sst pat2sst c2sst pat3sst c3sst ...
    pat1slp c1slp pat2slp c2slp pat3slp c3slp ...
    pat1uwn5 c1uwn5 pat2uwn5 c2uwn5 pat3uwn5 c3uwn5 ...
    pat1hgt5 c1hgt5 pat2hgt5 c2hgt5 pat3hgt5 c3hgt5


%  Plot the regressions
clean

cd /home/disk/tao/dvimont/matlab/NMC/Data
load npac_sst_eof_regs.mat

figure(1); fo(1); clf;

%  Set up figure window
get_global;
figure(1); fo(1); clf;
sz = get(gcf, 'PaperSize'); 
FRAME = [89.9 300.1 -40.1 70];
hw = 1/sz(1); vw = 1/sz(2); hsz = hw*(2.75); vsz = vw*1.75;
bmarg = (sz(2) - 8.5)*0.5; tmarg = (sz(2) - 8.5)*0.5;
midv = 0.25; midh = 0.5;

GRDX = 30; GRDY = 20;

cint = [0.1 0.4 5 .5]
clev = .1;
shcolor = 0.8;

perstr = round(10*per)/10;
yr = [1948:1/12:(1999+11/12)];
lppcs = standardize(rave(rave(pcs, 5), 7));
ct = rave(standardize(ct), 5);

% Mode 1
dg(lat, lon);
subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg)-vsz hsz vsz]); cla
  mcont2(-pat1sst, cint(1), 'mollweid');
  dcmfill(1);
  color_shadem(squeeze(c1sst.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('SAT', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);
  xx = get(gca, 'Xlim'); yy = get(gca, 'YLim');
  tx = text(mean(xx), yy(2)+0.5, '\bf{NPAC:  SST EOF1}', ...
            'fontsize', 12, 'horizontalalignment', 'center');
  tx2 = text(mean(xx), yy(2)+0.15, [num2str(perstr(1)) '% Var Expl'], ...
            'fontsize', 12, 'horizontalalignment', 'center');

subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-midv)-2*vsz hsz vsz]); cla
  mcont2(-pat1slp, cint(2), 'mollweid');
  dcmfill(-1);
  color_shadem(-squeeze(c1slp.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('SLP', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5+midh*hw/2 ...
        vw*(sz(2)-tmarg)-vsz hsz vsz]); cla
  mcont2(-pat1hgt5, cint(3), 'mollweid');
  dcmfill(-1);
  color_shadem(squeeze(c1hgt5.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('HGT500', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5+midh*hw/2 ...
        vw*(sz(2)-tmarg-midv)-2*vsz hsz vsz]); cla
  mcont2(-pat1uwn5, cint(4), 'mollweid');
  dcmfill(-1);
  color_shadem(squeeze(c1uwn5.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('UWN500', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-2*midv)-3*vsz 2*hsz+midh*hw vsz]); cla
  ind = 1:264;
  pp = plot(yr(ind), -pcs(ind,1), 'k', yr(ind), -lppcs(ind), 'b', ...
	    yr(ind), ct(ind), 'r');
  set(pp(2:3), 'linewidth', 2);
  axis([1940 1970 -3 3]);
  grid on;
  set(gca, 'fontsize', 8, 'XTick', 1940:5:1970, 'YTick', -5:5);
  ylabel('STD', 'fontsize', 9);
  legend('PC1', 'LPPC1', 'CT');
subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-3*midv)-4*vsz 2*hsz+midh*hw vsz]); cla
  ind = 265:624;
  pp = plot(yr(ind), -pcs(ind,1), 'k', yr(ind), -lppcs(ind), 'b', ...
	    yr(ind), ct(ind), 'r');
  set(pp(2:3), 'linewidth', 2);
  axis([1970 2000 -3 3]);
  grid on;
  set(gca, 'fontsize', 8, 'XTick', 1970:5:2000, 'YTick', -5:5);
  ylabel('STD', 'fontsize', 9);

  
% Mode 2
figure(2); fo(1); clf;

dg(lat, lon);
subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg)-vsz hsz vsz]); cla
  mcont2(pat2sst, cint(1), 'mollweid');
  dcmfill(1);
  color_shadem(squeeze(c2sst.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('SAT', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);
  xx = get(gca, 'Xlim'); yy = get(gca, 'YLim');
  tx = text(mean(xx), yy(2)+0.5, '\bf{NPAC:  SST EOF2}', ...
            'fontsize', 12, 'horizontalalignment', 'center');
  tx2 = text(mean(xx), yy(2)+0.15, [num2str(perstr(1)) '% Var Expl'], ...
            'fontsize', 12, 'horizontalalignment', 'center');

subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-midv)-2*vsz hsz vsz]); cla
  mcont2(pat2slp, cint(2), 'mollweid');
  dcmfill(-1);
  color_shadem(-squeeze(c2slp.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('SLP', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5+midh*hw/2 ...
        vw*(sz(2)-tmarg)-vsz hsz vsz]); cla
  mcont2(pat2hgt5, cint(3), 'mollweid');
  dcmfill(-1);
  color_shadem(squeeze(c2hgt5.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('HGT500', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5+midh*hw/2 ...
        vw*(sz(2)-tmarg-midv)-2*vsz hsz vsz]); cla
  mcont2(pat2uwn5, cint(4), 'mollweid');
  dcmfill(-1);
  color_shadem(squeeze(c2uwn5.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('UWN500', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-2*midv)-3*vsz 2*hsz+midh*hw vsz]); cla
  ind = 1:264;
  pp = plot(yr(ind), pcs(ind,2), 'k', yr(ind), lppcs(ind, 2), 'b', ...
	    yr(ind), ct(ind), 'r');
  set(pp(2:3), 'linewidth', 2);
  axis([1940 1970 -3 3]);
  grid on;
  set(gca, 'fontsize', 8, 'XTick', 1940:5:1970, 'YTick', -5:5);
  ylabel('STD', 'fontsize', 9);
  legend('PC2', 'LPPC2', 'CT');
subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-3*midv)-4*vsz 2*hsz+midh*hw vsz]); cla
  ind = 265:624;
  pp = plot(yr(ind), pcs(ind,2), 'k', yr(ind), lppcs(ind, 2), 'b', ...
	    yr(ind), ct(ind), 'r');
  set(pp(2:3), 'linewidth', 2);
  axis([1970 2000 -3 3]);
  grid on;
  set(gca, 'fontsize', 8, 'XTick', 1970:5:2000, 'YTick', -5:5);
  ylabel('STD', 'fontsize', 9);

% Mode 3
figure(3); fo(1); clf;

dg(lat, lon);
subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg)-vsz hsz vsz]); cla
  mcont2(-pat3sst, cint(1), 'mollweid');
  dcmfill(1);
  color_shadem(squeeze(c3sst.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('SAT', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);
  xx = get(gca, 'Xlim'); yy = get(gca, 'YLim');
  tx = text(mean(xx), yy(2)+0.5, '\bf{NPAC:  SST EOF3}', ...
            'fontsize', 12, 'horizontalalignment', 'center');
  tx2 = text(mean(xx), yy(2)+0.15, [num2str(perstr(1)) '% Var Expl'], ...
            'fontsize', 12, 'horizontalalignment', 'center');

subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-midv)-2*vsz hsz vsz]); cla
  mcont2(-pat3slp, cint(2), 'mollweid');
  dcmfill(-1);
  color_shadem(-squeeze(c3slp.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('SLP', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5+midh*hw/2 ...
        vw*(sz(2)-tmarg)-vsz hsz vsz]); cla
  mcont2(-pat3hgt5, cint(3), 'mollweid');
  dcmfill(-1);
  color_shadem(squeeze(c3hgt5.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('HGT500', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5+midh*hw/2 ...
        vw*(sz(2)-tmarg-midv)-2*vsz hsz vsz]); cla
  mcont2(-pat3uwn5, cint(4), 'mollweid');
  dcmfill(-1);
  color_shadem(squeeze(c3uwn5.^2), clev, shcolor*[1 1 1])
  gridm on; 
  setm(gca, 'plinelocation', GRDY, 'mlinelocation', GRDX);
  axis_limits;
  set(gca, 'fontsize', 8, 'visible', 'off');
  t1 = ylabel('UWN500', 'fontsize', 9, 'visible', 'on');
  pos = get(t1, 'Position'); set(t1, 'Position', [0.9*pos(1) pos(2:3)]);

subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-2*midv)-3*vsz 2*hsz+midh*hw vsz]); cla
  ind = 1:264;
  pp = plot(yr(ind), -pcs(ind,3), 'k', yr(ind), -lppcs(ind,3), 'b', ...
	    yr(ind), ct(ind), 'r');
  set(pp(2:3), 'linewidth', 2);
  axis([1940 1970 -3 3]);
  grid on;
  set(gca, 'fontsize', 8, 'XTick', 1940:5:1970, 'YTick', -5:5);
  ylabel('STD', 'fontsize', 9);
  legend('PC3', 'LPPC3', 'CT');
subplot('position', [0.5-hsz-midh*hw/2 ...
        vw*(sz(2)-tmarg-3*midv)-4*vsz 2*hsz+midh*hw vsz]); cla
  ind = 265:624;
  pp = plot(yr(ind), -pcs(ind,3), 'k', yr(ind), -lppcs(ind,3), 'b', ...
	    yr(ind), ct(ind), 'r');
  set(pp(2:3), 'linewidth', 2);
  axis([1970 2000 -3 3]);
  grid on;
  set(gca, 'fontsize', 8, 'XTick', 1970:5:2000, 'YTick', -5:5);
  ylabel('STD', 'fontsize', 9);