Global Index (short | long) | Local contents | Local Index (short | long)
Get ppcs
This script calls | |
---|---|
clear data load ML_SLP_eof_shem.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; uselds = 1*mllds; usepcs = 1*mlpcs; uselims = lims; tim = 101:1000; slp = getflx('psl', lims, tim); [b, a] = butter(9, 2/9); slp = filtfilt(b, a, detrend(slp)); % Project lds onto slp [ntim, nlat, nlon] = size(slp); ppcs = reshape(slp, ntim, nlat*nlon) * uselds ./ ntim; lims = [100 300 -65 65]; sstc = getnc('temp', lims, 1, tim); [txc, tyc] = getnc('taux', 'tauy', lims, 1, tim); slpc = getflx('psl', lims, tim); csirod load ML_ANN_slp.mat; load ML_ANN_sst.mat; sst = sst2; clear sst2; load taux_ML_annave.mat load tauy_ML_annave.mat back lims = [100 300 -65 65]; [xk, yk] = keep_var(lims, lon, lat); slp = slp(:, yk, xk); sst = sst(:, yk, xk); txann = txann(:, yk, xk); tyann = tyann(:, yk, xk); % Get regression maps if 1; slp = filtfilt(b, a, detrend(slp)); slpc = filtfilt(b, a, detrend(slpc)); sst = filtfilt(b, a, detrend(sst)); sstc = filtfilt(b, a, detrend(sstc)); txann = filtfilt(b, a, detrend(txann)); txc = filtfilt(b, a, detrend(txc)); tyann = filtfilt(b, a, detrend(tyann)); tyc = filtfilt(b, a, detrend(tyc)); end num = 1; [reg1m, c1m] = regress_eof(slp, usepcs(:,num), 0); [reg2m, c2m] = regress_eof(sst, usepcs(:,num), 0); [reg3m, c3m] = regress_eof(txann, usepcs(:,num), 0); [reg4m, c4m] = regress_eof(tyann, usepcs(:,num), 0); [reg1c, c1c] = regress_eof(slpc, ppcs(:,num), 0); [reg2c, c2c] = regress_eof(sstc, ppcs(:,num), 0); [reg3c, c3c] = regress_eof(txc, ppcs(:,num), 0); [reg4c, c4c] = regress_eof(tyc, ppcs(:,num), 0); % Plot the data [lat, lon, depth, lm] = getll('temp', lims); [lat1, lon1] = getll('taux', lims); default_global; FRAME = [105 295 -60 60]; figure(1); fo(1); clf; sptalk(4,2,1); gcont(reg1m, 0.2); dc2(lm, 0.5, -100); color_shade(squeeze(c1m.^2), 0.25, 0.7*[1 1 1]); title(['ML: Regression on SP\_PC' num2str(num)]); ylabel('SLP'); sptalk(4,2,2); gcont(reg1c, 0.2); dc2(lm, 0.5, -100); color_shade(squeeze(c1c.^2), 0.25, 0.7*[1 1 1]); title(['COUP: Regression on SP\_PPC' num2str(num)]); sptalk(4,2,3); 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,4); gcont(reg2c, 0.05); dc2(lm, 0.5, 100); color_shade(squeeze(c2c.^2), 0.25, 0.7*[1 1 1]); sptalk(4,2,5); gquiv(reg3m, reg4m, -.01, 2, 'dynes cm^-^1 sec^-^1'); dc2(lm, 0.5, 100); ylabel('WIND STRESS'); xlabel(''); sptalk(4,2,6); XAX = lon1; YAX = lat1; gquiv(reg3c, reg4c, -.1, 2, 'dynes cm^-^1 sec^-^1'); XAX = lon; YAX = lat; dc2(lm, 0.5, 100); xlabel(''); 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 == 1; elseif dofilt == 2; end lags = -10:10; for i = 1:length(lags); a(i,1) = corr(usepcs(:,num), ctm, lags(i)); a(i,2) = corr(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