Global Index (short | long) | Local contents | Local Index (short | long)
Get ppcs
This script calls | |
---|---|
clear dofilt = 0; data load ML_SLP_eof_nhem.mat; back mrpcs = rpcs; mlpcs = lpcs; mhpcs = hpcs; mrper = rper; mlper = lper; mhper = hper; mrlds = rlds; mllds = llds; mhlds = hlds; mrlam = rlam; mllam = llam; mhlam = hlam; if dofilt uselds = 1*mhlds; usepcs = 1*mhpcs; uselims = lims; else uselds = 1*mrlds; usepcs = 1*mrpcs; uselims = lims; end tim = 101:1000; slp = getflx('psl', lims, tim); if dofilt; [b, a] = butter(9, 2/10); slp = detrend(slp)-filtfilt(b, a, detrend(slp)); else slp = detrend(slp); end; % Project lds onto slp [ntim, nlat, nlon] = size(slp); ppcs = reshape(slp, ntim, nlat*nlon) * uselds ./ ntim; lims = [-0.1 360 -90 90]; sstc = getnc('temp', lims, 1, tim); slpc = getflx('psl', lims, tim); csirod load ML_ANN_slp.mat; load ML_ANN_sst.mat; sst = sst2; clear sst2; back lims = [-0.1 360 -90 90]; [xk, yk] = keep_var(lims, lon, lat); slp = slp(:, yk, xk); sst = sst(:, yk, xk); ctc = getct; [xkc, ykc] = keep_var([180 270 -6 6], lon, lat); ctm = squeeze(mean2(mean2(shiftdim(sst(:,ykc,xkc), 1)))); ctc = detrend(ctc); ctm = detrend(ctm); if dofilt; ctm = ctm - filtfilt(b, a, ctm); ctc = ctc - filtfilt(b, a, ctc); end % Get regression maps if dofilt; slp = filtfilt(b, a, detrend(slp)); slpc = filtfilt(b, a, detrend(slpc)); sst = filtfilt(b, a, detrend(sst)); sstc = filtfilt(b, a, detrend(sstc)); else slp = detrend(slp); slpc = detrend(slpc); sst = detrend(sst); sstc = detrend(sstc); end num = 1; pm = sign(corr(usepcs(:,num), ctm)); [reg1m, c1m] = regress_eof(slp, pm*usepcs(:,num), 0); [reg2m, c2m] = regress_eof(sst, pm*usepcs(:,num), 0); [reg1c, c1c] = regress_eof(slpc, pm*ppcs(:,num), 0); [reg2c, c2c] = regress_eof(sstc, pm*ppcs(:,num), 0); % Plot the data [lat, lon, depth, lm] = getll('temp', lims); default_global; FRAME = [105 295 -60 60]; figure(1); fo(1); clf; sptalk(4,2,1); FRAME = [0 360 -1 90]; mcont3(reg1m, 0.2, 'stereo', [90 270]); drawmap2(lm, 0.5, -100); hold on; mshade3(squeeze(c1m.^2), 0.25, 0.7*[1 1 1]); hold off; gridm on; axis_limits; title(['ML: Regression on NP\_PC' num2str(num)]); sptalk(4,2,2); FRAME = [0 360 -1 90]; mcont3(reg1c, 0.2, 'stereo', [90 270]); drawmap2(lm, 0.5, -100); hold on; mshade3(squeeze(c1c.^2), 0.25, 0.7*[1 1 1]); hold off; gridm on; axis_limits; title(['COUP: Regression on NP\_PPC' num2str(num)]); sptalk(4,2,3); FRAME = [0 360 -90 1]; mcont3(reg1m, 0.2, 'stereo', [-90 270]); drawmap2(lm, 0.5, -100); hold on; mshade3(squeeze(c1m.^2), 0.25, 0.7*[1 1 1]); hold off; gridm on; axis_limits; sptalk(4,2,4); FRAME = [0 360 -90 1]; mcont3(reg1c, 0.2, 'stereo', [-90 270]); drawmap2(lm, 0.5, -100); hold on; mshade3(squeeze(c1c.^2), 0.25, 0.7*[1 1 1]); hold off; gridm on; axis_limits; sptalk(4,2,5); FRAME = [105 295 -60 60]; gcont(reg2m, 0.05); dc2(lm, 0.5, 100); color_shade(squeeze(c2m.^2), 0.25, 0.7*[1 1 1]); ylabel('SST'); sptalk(4,2,6); gcont(reg2c, 0.05); dc2(lm, 0.5, 100); color_shade(squeeze(c2c.^2), 0.25, 0.7*[1 1 1]); data; load LP9_detrend_L1-7_EOF_yr101-1000.mat; back lags = -10:10; for i = 1:length(lags); a(i,1) = corr(pm*usepcs(:,num), ctm, lags(i)); a(i,2) = corr(pm*ppcs(:,num), ctc, lags(i)); end sptalk(4,2,7); bar(lags, a(:,1)); axis([-11 11 -0.5 0.75]); grid on; set(gca, 'XTick', -10:5:10, 'YTick', -0.5:.25:1); xlabel('PC1 leads CT | CT leads PC1'); ylabel('Lagged Correlation'); sptalk(4,2,8); bar(lags, a(:,2)); axis([-11 11 -0.5 0.75]); grid on; set(gca, 'XTick', -10:5:10, 'YTick', -0.5:.25:1); xlabel('PPC1 leads CT | CT leads PPC1'); cd ~/matlab/CSIRO/Thesis/Chap5/Plots %print -dps2 SP_SLP_LP9_PC2_PPC2_Regressions.ps cd ~/Thesis/Chap5 %print -dps2 NP_SLP_LP9_PC1_PPC1_Regressions.ps data; load HP10_detrend_L1-7_EOF_yr101-1000.mat; hcpcs = -pcs; load COUP_SLP_eof_nhem.mat; slppcs = hpcs; back num = 2; lags = -10:10; for i = 1:length(lags); a(i,1) = corr(ppcs(:,num), ctc, lags(i)); a(i,2) = corr(ppcs(:,num), slppcs(:,num), lags(i)); a(i,3) = corr(ppcs(:,num), hcpcs(:,num), lags(i)); end figure(2); fo(1);% clf sptalk(3,2,2); bar(lags, -a(:,1)); axis([-11 11 -0.5 1]); grid on; set(gca, 'XTick', -10:5:10, 'YTick', -0.5:.25:1); xlabel('PPC1 leads CT | CT leads PPC1'); title('Unfiltered'); sptalk(3,2,4); bar(lags, a(:,2)); axis([-11 11 -0.5 1]); grid on; set(gca, 'XTick', -10:5:10, 'YTick', -0.5:.25:1); xlabel('PPC1 leads SLPPC1 | SLPPC1 leads PPC1'); sptalk(3,2,6); bar(lags, -a(:,3)); axis([-11 11 -0.5 1]); grid on; set(gca, 'XTick', -10:5:10, 'YTick', -0.5:.25:1); xlabel('PPC1 leads LPPC1 | LPPC1 leads PPC1'); % Look at power spectra tem1 = ppcs2 = ppcs(:,1)./std(ppcs(:,1)); nfft = 128; noverlap = 3*nfft/4; [p1, f1] = spectrum(mrpcs(:,1), nfft, noverlap); [p2, f2] = spectrum(ppcs2, nfft, noverlap); f = f1./2; figure(3); fo(1); clf; sptalk(3,1,1); h = semilogy(f, p1(:,1), 'v-k', f, p2(:,1), 'o-k');