Global Index (short | long) | Local contents | Local Index (short | long)
for biff = 1:3;
This script calls | |
---|---|
clear biff = 0; % Incidently, check out ~davet/matlab/general/cosp_lsq.m for % projection routine % load data csirod; load ML_ANN_sst.mat load ML_ANN_slp.mat load taux_ML_annave.mat load tauy_ML_annave.mat back ctlim = [180 270 -6 6]; [xk, yk] = keep_var(ctlim, lon, lat); ctml = squeeze(mean2(mean2(shiftdim(sst2(:, yk, xk), 1)))); ctml = detrend(ctml); timc = 101:1000; lims = [100 300 -65 65]; [xk, yk] = keep_var(lims, lon, lat); ctc = getct; ctc = detrend(ctc); sstc = getnc('temp', lims, 1, timc); if ~biff; [txc, tyc] = getnc('taux', 'tauy', lims, 1, timc); slpc = getflx('psl', lims, timc); end [lat, lon, depth, lm] = getll('temp', lims); [lat1, lon1] = getll('taux', lims); if biff == 3; [b, a] = butter(9, 2/9); ctml = filtfilt(b, a, detrend(ctml)); ctc = filtfilt(b, a, detrend(ctc)); sst2 = filtfilt(b, a, detrend(sst2(:,yk,xk))); sstc = filtfilt(b, a, detrend(sstc)); if ~biff; slp = filtfilt(b, a, detrend(slp(:,yk,xk))); txann = filtfilt(b, a, detrend(txann(:,yk,xk))); tyann = filtfilt(b, a, detrend(tyann(:,yk,xk))); slpc = filtfilt(b, a, detrend(slpc)); txc = filtfilt(b, a, detrend(txc)); tyc = filtfilt(b, a, detrend(tyc)); end elseif biff == 2; [b, a] = butter(9, 2/10); ctml = detrend(ctml) - filtfilt(b, a, detrend(ctml)); ctc = detrend(ctc) - filtfilt(b, a, detrend(ctc)); sst2 = detrend(sst2(:,yk,xk)) - filtfilt(b, a, detrend(sst2(:,yk,xk))); sstc = detrend(sstc) - filtfilt(b, a, detrend(sstc)); if ~biff; slp = detrend(slp(:,yk,xk)) - filtfilt(b, a, detrend(slp(:,yk,xk))); txann = detrend(txann(:,yk,xk)) - filtfilt(b, a, detrend(txann(:,yk,xk))); tyann = detrend(tyann(:,yk,xk)) - filtfilt(b, a, detrend(tyann(:,yk,xk))); slpc = detrend(slpc) - filtfilt(b, a, detrend(slpc)); txc = detrend(txc) - filtfilt(b, a, detrend(txc)); tyc = detrend(tyc) - filtfilt(b, a, detrend(tyc)); end elseif biff == 1; sst2 = detrend(sst2(:,yk,xk)); sstc = detrend(sstc); if ~biff; slp = detrend(slp(:,yk,xk)); txann = detrend(txann(:,yk,xk)); tyann = detrend(tyann(:,yk,xk)); slpc = detrend(slpc); sstc = detrend(sstc); txc = detrend(txc); tyc = detrend(tyc); end end [reg1m, c1m] = regress_eof(sst2, ctml, 0); [reg1c, c1c] = regress_eof(sstc, ctc, 0); if ~biff; [reg2m, c2m] = regress_eof(slp, ctml, 0); [reg3m, c3m] = regress_eof(txann, ctml, 0); [reg4m, c4m] = regress_eof(tyann, ctml, 0); [reg2c, c2c] = regress_eof(slpc, ctc, 0); [reg3c, c3c] = regress_eof(txc, ctc, 0); [reg4c, c4c] = regress_eof(tyc, ctc, 0); default_global; FRAME = [105 295 -60 60]; figure(1); fo(1); clf; XAX = lon; YAX = lat; sptalk(4,2,1); gcont(reg1m, 0.05); dc2(lm, 0.5, 1); color_shade(squeeze(c1m.^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title('ML RUN: < SST, CT >'); sptalk(4,2,2); gcont(reg1c, 0.05); dc2(lm, 0.5, 1); color_shade(squeeze(c1c.^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title('COUP RUN: < SST, CT >'); sptalk(4,2,3); gcont(reg2m, 0.1); dc2(lm, 0.5, -1); color_shade(squeeze(c2m.^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title('< SLP, CT >'); sptalk(4,2,4); gcont(reg2c, 0.1); dc2(lm, 0.5, -1); color_shade(squeeze(c2c.^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title('< SLP, CT >'); [divm, latm, lonm] = sph_div1(squeeze(reg3m), squeeze(reg4m), lat, lon, 0); [divc, latc, lonc] = sph_div1(squeeze(reg3c), squeeze(reg4c), lat1, lon1, 0); XAX = lon1; YAX = lat1; sptalk(4,2,5); cla; gquiv(10*reg3m, 10*reg4m, -.1, 2, 0.1); XAX = lon; YAX = lat; dc2(lm, 0.5, 1); % XAX = lonm, YAX = latm; % color_shade(-1e8*squeeze(divm), .25, [1 0 0]); % color_shade(1e8*squeeze(divm), .25, [0 0 1]); set(gca, 'fontsize', 9); title('< \fontsize{12}\tau\fontsize{9}, CT >'); XAX = lon1; YAX = lat1; sptalk(4,2,6); cla; gquiv(reg3c, reg4c, -.1, 2, 0.1); XAX = lon; YAX = lat; dc2(lm, 0.5, 1); % XAX = lonc, YAX = latc; % color_shade(-1e8*squeeze(divc), 1.5, [1 0 0]); % color_shade(1e8*squeeze(divc), 1.5, [0 0 1]); set(gca, 'fontsize', 9); title('< \fontsize{12}\tau\fontsize{9}, CT >'); end; % if ~biff statement for i = 2:2; if i == 1; hlims = [100 260 15 60]; tit = 'NP'; else hlims = [150 290 -60 -15]; tit = 'SP'; end [xk, yk] = keep_var(hlims, lon, lat); mpat = (cos(pi/180 * lat(yk))*ones(1, length(xk))).*squeeze(reg1m(1,yk,xk)); cpat = (cos(pi/180 * lat(yk))*ones(1, length(xk))).*squeeze(reg1c(1,yk,xk)); [nlat, nlon] = size(mpat); mpat = reshape(mpat, nlat*nlon, 1); cpat = reshape(cpat, nlat*nlon, 1); csst = reshape(sstc(:,yk,xk), size(sstc, 1), nlat*nlon); msst = reshape(sst2(:,yk,xk), size(sst2, 1), nlat*nlon); kp2 = find(~isnan(cpat)); mtim(:,i) = msst(:,kp2) * mpat(kp2); ctim(:,i) = csst(:,kp2) * cpat(kp2); mtim(:,i) = (detrend(mtim(:,i)))./std(detrend(mtim(:,i))); ctim(:,i) = (detrend(ctim(:,i)))./std(detrend(ctim(:,i))); if ~biff; [mreg1(i,:,:), mc1(i,:,:)] = regress_eof(sst2, mtim(:,i), 0); [mreg2(i,:,:), mc2(i,:,:)] = regress_eof(slp, mtim(:,i), 0); [mreg3(i,:,:), mc3(i,:,:)] = regress_eof(txann, mtim(:,i), 0); [mreg4(i,:,:), mc4(i,:,:)] = regress_eof(tyann, mtim(:,i), 0); [creg1(i,:,:), cc1(i,:,:)] = regress_eof(sstc, ctim(:,i), 0); [creg2(i,:,:), cc2(i,:,:)] = regress_eof(slpc, ctim(:,i), 0); [creg3(i,:,:), cc3(i,:,:)] = regress_eof(txc, ctim(:,i), 0); [creg4(i,:,:), cc4(i,:,:)] = regress_eof(tyc, ctim(:,i), 0); figure(i+1); fo(1); clf; XAX = lon; YAX = lat; sptalk(4,2,1); gcont(mreg1(i,:,:), 0.05); dc2(lm, 0.5, 1); color_shade(squeeze(mc1(i,:,:).^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title(['ML RUN: < SST, ' tit ' >']); sptalk(4,2,2); gcont(creg1(i,:,:), 0.05); dc2(lm, 0.5, 1); color_shade(squeeze(cc1(i,:,:).^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title(['COUP RUN: < SST, ' tit ' >']); sptalk(4,2,3); gcont(mreg2(i,:,:), 0.1); dc2(lm, 0.5, -1); color_shade(squeeze(mc2(i,:,:).^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title(['< SLP, ' tit ' >']); sptalk(4,2,4); gcont(creg2(i,:,:), 0.1); dc2(lm, 0.5, -1); color_shade(squeeze(cc2(i,:,:).^2), 0.25, .87*[1 1 1]); set(gca, 'fontsize', 9); title(['< SLP, ' tit ' >']); XAX = lon1; YAX = lat1; sptalk(4,2,5); cla; gquiv(10*mreg3(i,:,:), 10*mreg4(i,:,:), -.1, 2, 0.1); XAX = lon; YAX = lat; dc2(lm, 0.5, 1); set(gca, 'fontsize', 9); title(['< \fontsize{12}\tau\fontsize{9}, ' tit ' >']); XAX = lon1; YAX = lat1; sptalk(4,2,6); cla; gquiv(creg3(i,:,:), creg4(i,:,:), -.1, 2, 0.1); XAX = lon; YAX = lat; dc2(lm, 0.5, 1); set(gca, 'fontsize', 9); title(['< \fontsize{12}\tau\fontsize{9}, ' tit ' >']); end end; lags = -10:10; for i = 1:length(lags); a1(biff,i,:) = [corr(mtim(:,1), mtim(:,2), lags(i)) ... corr(ctim(:,1), ctim(:,2), lags(i))]; end figure(4); fo(1); if biff == 1; clf; end sptalk(4,2,2*biff-1); bar(lags, a1(biff,:,1), 'b'); axis([min(lags-1) max(lags+1), -0.4 0.8]); set(gca, 'XTick', min(lags):5:max(lags), 'YTick', [-1:.2:1]); grid on; if biff == 1; title('ML: NP, SP Lag Correlation'); ylabel('Unfiltered'); elseif biff == 2; ylabel('HP10'); elseif biff == 3; ylabel('LP9'); end sptalk(4,2,2*biff); bar(lags, a1(biff,:,2), 'b'); axis([min(lags-1) max(lags+1), -0.4 0.8]); set(gca, 'XTick', min(lags):5:max(lags), 'YTick', [-1:.2:1]); grid on; if biff == 1; title('COUP: NP, SP Lag Correlation'); end end; % end biff loop