Global Index (short | long) | Local contents | Local Index (short | long)
First, project rlds and lds onto slp and slpc, respectively Start by normalizing rlds and lds
This script calls | |
---|---|
clear data load ML_SLP_eof_npac.mat; back csirod load RAW_SLP_NP_EOF.mat load ML_ANN_slp.mat back slpc = getflx('psl', ctlim); [xk, yk] = keep_var(lims, lon, lat); slp = slp(:, yk, xk); slp = detrend(slp); slpc = detrend(slpc); wgt = sqrt(diag(rlds'*rlds)); rlds = rlds ./ (ones(size(rlds, 1), 1) * wgt'); wgt = sqrt(diag(lds'*lds)); lds = lds ./ (ones(size(lds, 1), 1) * wgt'); [ntim, nlat, nlon] = size(slp); slp = reshape(slp, ntim, nlat*nlon); mpcs1 = slp * rlds; mppcs1 = slp * lds; [ntim, nlat, nlon] = size(slpc); slpc = reshape(slpc, ntim, nlat*nlon); dpcs1 = slpc * lds; dppcs1 = slpc * rlds; % Now, get the wind stress index xlim = [150 180 -6 6]; txc = getnc('taux', xlim, 1, 101:1000); csirod load taux_ML_annave.mat back [xk, yk] = keep_var(xlim, lon, lat); txm = 10*txann(:,yk,xk); txc = squeeze(mean2(mean2(shiftdim(txc, 1)))); txm = squeeze(mean2(mean2(shiftdim(txm, 1)))); txc = detrend(txc); txm = detrend(txm); tem1 = detrend(mpcs1(:,1))./std(detrend(mpcs1(:,1))); tem2 = detrend(dppcs1(:,1))./std(detrend(dppcs1(:,1))); tem1'*txm/length(txm) ans = 0.0024 tem2'*txc./length(txc) ans = 0.0089 % Do the same for LP data clear data load ML_SLP_eof_npac.mat; back csirod load LP9_SLP_NP_EOF.mat load ML_ANN_slp.mat back slpc = getflx('psl', ctlim); [xk, yk] = keep_var(lims, lon, lat); slp = slp(:, yk, xk); [b, a] = butter(9, 2/9); slp = filtfilt(b, a, detrend(slp)); slpc = filtfilt(b, a, detrend(slpc)); % First, project rlds and lds onto slp and slpc, respectively % Start by normalizing rlds and lds wgt = sqrt(diag(llds'*llds)); llds = llds ./ (ones(size(llds, 1), 1) * wgt'); wgt = sqrt(diag(lds'*lds)); lds = lds ./ (ones(size(lds, 1), 1) * wgt'); [ntim, nlat, nlon] = size(slp); slp = reshape(slp, ntim, nlat*nlon); mpcs1 = slp * llds; mppcs1 = slp * lds; [ntim, nlat, nlon] = size(slpc); slpc = reshape(slpc, ntim, nlat*nlon); dpcs1 = slpc * lds; dppcs1 = slpc * llds; % Now, get the wind stress index xlim = [150 180 -6 6]; txc = getnc('taux', xlim, 1, 101:1000); csirod load taux_ML_annave.mat back [xk, yk] = keep_var(xlim, lon, lat); txm = 10*txann(:,yk,xk); txc = squeeze(mean2(mean2(shiftdim(txc, 1)))); txm = squeeze(mean2(mean2(shiftdim(txm, 1)))); txc = filtfilt(b, a, detrend(txc)); txm = filtfilt(b, a, detrend(txm)); tem1 = detrend(mpcs1(:,1))./std(detrend(mpcs1(:,1))); tem2 = detrend(dppcs1(:,1))./std(detrend(dppcs1(:,1))); tem1'*txm/length(txm) ans = 0.0036 tem2'*txc./length(txc) ans = 0.0154