Global Index (short | long) | Local contents | Local Index (short | long)
Load PC1
This script calls | |
---|---|
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