Documentation of regress_ddt_co2


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


Help text

  Load PC1

Cross-Reference Information

This script calls

Listing of script regress_ddt_co2


cd /home/disk/tao/dvimont/matlab; link_toolboxes;
cd /home/disk/tao/dvimont/matlab/Wallace; link_toolboxes
clean

cd /home/disk/tao/dvimont/matlab/OBS/jrussell;
load PC1.mat

tim1 = (12*(1980-1948)+7):(12*(2000-1948)+6);
tim2 = (12*(1958-1948)+7):(12*(2000-1948)+6);
lims = [0 360 -90 90];

%  Look at SST

cd /home/disk/tao/data/nmc.reanalysis/monthly
[sst1, lat, lon] = getnc2('skt.mon.mean.nc', 'skt', lims, 1, tim1);
[sst2, lat, lon] = getnc2('skt.mon.mean.nc', 'skt', lims, 1, tim2);

%  Get landmask
lm = getnc2('land.sfc.gauss.nc', 'land', lims, 1, 1);
lm = 1-lm; lm(lm==0)=NaN;

sst1 = remove_anncyc(sst1);
sst2 = remove_anncyc(sst2);

[reg1short, c1short] = regress_eof(sst1, PC1short, 0);
[reg1long, c1long] = regress_eof(sst2, PC1long, 0);
[reg2short, c2short] = regress_eof(sst1, PC2short, 0);
[reg2long, c2long] = regress_eof(sst2, PC2long, 0);

reg_info = 'SST regressions onto PC1long, PC1short, etc.';

% While we're at it, get CTI
[ntim, nlat, nlon] = size(sst1);
sst1 = cosweight(sst1, lat);
sst2 = cosweight(sst2, lat);
tem = cosweight(ones(2, nlat, nlon), lat); tem = squeeze(tem(1,:,:));
tem = lm.* tem;

[ntim, nlat, nlon] = size(sst1);
for i = 1:ntim; sst1(i,:,:) = lm.* squeeze(sst1(i,:,:)); end
[ntim, nlat, nlon] = size(sst2);
for i = 1:ntim; sst2(i,:,:) = lm.* squeeze(sst2(i,:,:)); end

ctlims = [180 270 -6 6];
[xk, yk] = keep_var(ctlims, lon, lat);
wgt = sum2(sum2(tem(yk,xk)));
ct1 = squeeze(sum2(sum2(shiftdim(sst1(:,yk,xk), 1))))/wgt;
ct2 = squeeze(sum2(sum2(shiftdim(sst2(:,yk,xk), 1))))/wgt;

tlims = [0 360 -30 30];
[xk, yk] = keep_var(tlims, lon, lat);
wgt = sum2(sum2(tem(yk,xk)));
tt1 = squeeze(sum2(sum2(shiftdim(sst1(:,yk,xk), 1))))/wgt;
tt2 = squeeze(sum2(sum2(shiftdim(sst2(:,yk,xk), 1))))/wgt;

%  Save SST regs
cd /home/disk/tao/dvimont/matlab/OBS/jrussell;
save SST_regs_pc1_pc2.mat lims lat lon ct1 ct2 reg_info ...
    reg1short reg2short reg1long reg2long ...
    c1short c1long c2short c2long tt1 tt2 tlims ctlims
    
%  Check out SLP

cd /home/disk/tao/data/nmc.reanalysis/monthly
[sst1, lat, lon] = getnc2('slp.mon.mean.nc', 'slp', lims, 1, tim1);
[sst2, lat, lon] = getnc2('slp.mon.mean.nc', 'slp', lims, 1, tim2);

sst1 = remove_anncyc(sst1);
sst2 = remove_anncyc(sst2);

[reg1short, c1short] = regress_eof(sst1, PC1short, 0);
[reg1long, c1long] = regress_eof(sst2, PC1long, 0);
[reg2short, c2short] = regress_eof(sst1, PC2short, 0);
[reg2long, c2long] = regress_eof(sst2, PC2long, 0);

reg_info = 'SLP regressions onto PC1long, PC1short, etc.';

%  Save SST regs
cd /home/disk/tao/dvimont/matlab/OBS/jrussell;
save SLP_regs_pc1_pc2.mat lims lat lon reg_info ...
    reg1short reg2short reg1long reg2long ...
    c1short c1long c2short c2long






%  Plot the data

%cd /home/disk/tao/dvimont/matlab; link_toolboxes;
%cd /home/disk/tao/dvimont/matlab/Wallace; link_toolboxes

clean

cd /home/disk/tao/dvimont/matlab/OBS/jrussell;
load SST_regs_pc1_pc2.mat;
load PC1.mat

%  Start by plotting time series
figure_tall(1);
global_axes(6.5, 4.5, 0, 0, 1.5);

yr1 = 1980+(6/12)+[1:240]/12;
yr2 = 1958+(6/12)+[1:504]/12;

subplot2(1,1); cla
  h1 = plot(yr2, standardize(PC1long)+12, 'r', ...
	    yr2, standardize(tt2)+8, 'g', ...
	    yr2, standardize(ct2)+4, 'b', ...
	    yr1, standardize(PC1short)+0, 'r');
  set(gca, 'YTick', [0 4 8 12], 'YTickLabel', []);
  axis([1958 2001 -3 16]);
  grid on;
  title2('Time indices', 'fontsize', 12);
  l1 = legend(h1, 'PC1long', 'TTemp (30S-30N)', 'CTI', 'PC1short');
 
  
lags = -20:20; nlag = length(lags);
a1 = repmat(NaN, [nlag, 5]);
for i = 1:nlag;
  a1(i,1) = corr(ct2, PC1long, lags(i));
  a1(i,2) = corr(tt2, PC1long, lags(i));
  a1(i,3) = corr(ct2, tt2, lags(i));
  a1(i,4) = corr(ct2, PC2long, lags(i));
end

global_axes(3, 1.5, .5, 0.5, 6.75);

subplot2(2,1); cla
  h2 = bar(lags, a1(:,1), .6);
  set(h2, 'facecolor', [.5 .5 1]);
  axis([-20.5 20.5 -.3 .8]);
  title2('Lag Corr:  CT, PC1long', 'fontsize', 12);
  set(gca, 'YTick', -1:.25:1);
  grid on
  
subplot2(2,2); cla
  h2 = bar(lags, a1(:,2), .6);
  set(h2, 'facecolor', [.5 .5 1]);
  axis([-20.5 20.5 -.3 .8]);
  title2('Lag Corr:  TTemp, PC1long', 'fontsize', 12);
  set(gca, 'YTick', -1:.25:1);
  grid on
  
subplot2(2,3); cla
  h2 = bar(lags, a1(:,3), .6);
  set(h2, 'facecolor', [.5 .5 1]);
  axis([-20.5 20.5 -.3 .8]);
  title2('Lag Corr:  CTI, TTemp', 'fontsize', 12);
  set(gca, 'YTick', -1:.25:1);
  grid on

cd /home/disk/tao/dvimont/matlab/OBS/jrussell
print -dpsc2 time_series2.ps


figure_tall(1); clf;
global_axes(6.5, 4, 0.5, 0.5, 1.5);

cd /home/disk/tao/dvimont/matlab/OBS/jrussell;
load SST_regs_pc1_pc2.mat;
global_latlon(lat, lon, lims);

subplot2(1,1); cla;
  map_axis('giso');
  map_contour_pn(reg1short, 0.1, 'nozero');
  hold on;
    map_surface(c1short, -0.5);
  hold off;
  caxis([-1 1]);
  fill_landmap('over');
  gridm on; framem; tightmap2;  
  set(gca, 'visible', 'off');
  colorbar2('ver');
  title2('SST regressed on PC1short', 'visible', 'on', 'fontsize', 12);
  xlabel('Contour:  0.1 K std^-^1; Shading:  Correlation', ...
	 'visible', 'on', 'fontsize', 10);
  
load SLP_regs_pc1_pc2.mat;
global_latlon(lat, lon, lims);

subplot2(1,2); cla;
  map_axis('giso');
  map_contour_pn(reg1long, 0.2, 'nozero');
  hold on;
    tem = c1long; tem(abs(tem)<0.1)=NaN;
    map_surface(tem, -0.5);
  hold off;
  caxis([-1 1]);
  fill_landmap('under');
  gridm on; framem; tightmap2;  
  set(gca, 'visible', 'off');
  colorbar2('ver');
  title2('SLP regressed on PC1short', 'visible', 'on', 'fontsize', 12);
  xlabel('Contour:  0.2 hPa std^-^1; Shading:  Correlation', ...
	 'visible', 'on', 'fontsize', 10);
  
cd /home/disk/tao/dvimont/matlab/OBS/jrussell
print -dpsc2 PC1short.ps

  
figure_tall(2); clf;
global_axes(6.5, 4, 0.5, 0.5, 1.5);

cd /home/disk/tao/dvimont/matlab/OBS/jrussell;
load SST_regs_pc1_pc2.mat;
global_latlon(lat, lon, lims);

subplot2(1,1); cla;
  map_axis('giso');
  map_contour_pn(reg2long, 0.1, 'nozero');
  hold on;
    map_surface(c2long, -0.5);
  hold off;
  caxis([-1 1]);
  fill_landmap('over');
  gridm on; framem; tightmap2;  
  set(gca, 'visible', 'off');
  colorbar2('ver');
  title2('SST regressed on PC2long', 'visible', 'on', 'fontsize', 12);
  xlabel('Contour:  0.1 K std^-^1; Shading:  Correlation', ...
	 'visible', 'on', 'fontsize', 10);
  
load SLP_regs_pc1_pc2.mat;
global_latlon(lat, lon, lims);

subplot2(1,2); cla;
  map_axis('giso');
  map_contour_pn(reg2long, 0.2, 'nozero');
  hold on;
    tem = c2long; tem(abs(tem)<0.1)=NaN;
    map_surface(tem, -0.5);
  hold off;
  caxis([-1 1]);
  fill_landmap('under');
  gridm on; framem; tightmap2;  
  set(gca, 'visible', 'off');
  colorbar2('ver');
  title2('SLP regressed on PC1long', 'visible', 'on', 'fontsize', 12);
  xlabel('Contour:  0.2 hPa std^-^1; Shading:  Correlation', ...
	 'visible', 'on', 'fontsize', 10);
  
cd /home/disk/tao/dvimont/matlab/OBS/jrussell
print -dpsc2 PC1long.ps