Global Index (short | long) | Local contents | Local Index (short | long)
Save data
| This script calls | |
|---|---|
clean
lims1 = [270 360 20 70];
lims2 = [0 40 20 70];
lims = [-90 40 20 70];
cd /home/disk/hayes2/dvimont/csiro/data/Individual_levels
filin = 'spsl_c10_056-1055.nc';
varn = 'psl';
tim = 1:1000;
nc = netcdf(filin, 'nowrite');
[lat, lon, yk, xk] = get_nclatlon2(lims1, nc);
slp1 = nc{varn, 1}(tim,:,yk,xk);
[lat2, lon2, yk2, xk2] = get_nclatlon2(lims2, nc);
slp2 = nc{varn, 1}(tim,:,yk2,xk2);
nc = close(nc);
slp = shiftdim([shiftdim(slp1, 3); shiftdim(slp2, 3)], 1);
lon = [lon-360; lon2];
clear slp1 slp2 lat2 lon2
[slp, ntim, nlat, nlon] = reshape_ann_to_mon(slp);
[slp, clim] = annave(slp);
slp2 = cosweight(slp, lat);
slp2 = reshape(slp2, ntim, nlat*nlon);
[lam, lds, pcs, per] = eof_dan(slp2);
cd /home/disk/tao/dvimont/matlab/CSIRO/ATLANTIC/Data
save NAO_slp_pcs.mat lims1 lims2 lims tim varn lam lds pcs per ...
ntim nlat nlon
% Get regressions
clean
cd /home/disk/tao/dvimont/matlab/CSIRO/ATLANTIC/Data
load NAO_slp_pcs.mat
lims1 = [240 360 -20 90];
lims2 = [0 90 -20 90];
lims = [-120 90 -20 90];
cd /home/disk/hayes2/dvimont/csiro/data/Individual_levels
tim = 1:1000;
filin = 'spsl_c10_056-1055.nc';
varn = 'psl';
filin = 'stax_c10_056-1055.nc';
varn = 'tax';
nc = netcdf(filin, 'nowrite');
[lat, lon, yk, xk] = get_nclatlon2(lims1, nc);
slp1 = nc{varn, 1}(tim,:,yk,xk);
[lat2, lon2, yk2, xk2] = get_nclatlon2(lims2, nc);
slp2 = nc{varn, 1}(tim,:,yk2,xk2);
nc = close(nc);
if 0;
filin = 'temp_M_L1_1000_years_new.nc';
varn = 'temp';
nc = netcdf(filin, 'nowrite');
[lat, lon, yk, xk] = get_nclatlon2(lims1, nc);
slp1 = nc{varn, 1}(:,1,yk,xk);
[lat2, lon2, yk2, xk2] = get_nclatlon2(lims2, nc);
slp2 = nc{varn, 1}(:,1,yk2,xk2);
nc = close(nc);
slp = shiftdim([shiftdim(squeeze(slp1), 2); ...
shiftdim(squeeze(slp2), 2)], 1);
lon = [lon-360; lon2]; latsst = lat; lonsst = lon;
end
slp = shiftdim([shiftdim(slp1, 3); shiftdim(slp2, 3)], 1);
lon = [lon-360; lon2];
clear slp1 slp2 lat2 lon2
[slp, ntim, nlat, nlon] = reshape_ann_to_mon(slp);
[slp, clim] = annave(slp);
[pat1, c1] = regress_eof(slp, pcs(:,1), 0);
[pat2, c2] = regress_eof(slp, pcs(:,1), 6);
cd /home/disk/tao/dvimont/matlab/CSIRO/ATLANTIC/Data
save NAO_regs.mat pat1 pat2 c1 c2 pat1tx pat2tx c1tx c2tx ...
pat1sst pat2sst c1sst c2sst lat lon lims latsst lonsst
get_global; dg(lat, lon); FRAME = lims;
figure(1); fo(1); clf;
subplot(3,2,1);
mcont2(c1, 0.2, 'mollweid');
gridm on;
axis_limits
dcmfill(-1);
subplot(3,2,2);
mcont2(c2, 0.025, 'mollweid');
gridm on;
axis_limits
dcmfill(-1);
subplot(3,2,3);
mcont2(c1tx, 0.2, 'mollweid');
gridm on;
axis_limits
dcmfill(-1);
subplot(3,2,4);
mcont2(c2tx, 0.025, 'mollweid');
gridm on;
axis_limits
dcmfill(-1);
dg(latsst, lonsst);
subplot(3,2,5);
mcont2(c1sst, 0.1, 'mollweid');
gridm on;
axis_limits
dcmfill(-1);
subplot(3,2,6);
mcont2(c2sst, 0.025, 'mollweid');
gridm on;
axis_limits
dcmfill(-1);
figure(2); fo(1); clf;
tem = standardize(rave(pcs(:,1), 12));
for i = 1:6;
ind = 1200*(i-1)+[1:1200];
subplot(6,1,i);
plot(ind, tem(ind), 'k');
axis([min(ind)-1 max(ind)+1 -3 3]);
set(gca, 'XTick', ind(1):120:max(ind))
grid on;
end
figure(3); fo(1); clf;
for i = 1:3;
if i~=3; ind = 3000*(i-1)+[1:3000]; else; ind = 1:12000; end;
nfft = 128*12; noverlap = 64*12; n2 = nfft/2;
tem = pcs(ind,1); nx = length(tem);
[p,f] = spectrum(tem, nfft, noverlap, hamming(nfft), 12);
% p = rave(p, 10);
rho = corr(tem, tem, 1)
rn = (1-rho^2) ./ (1-2*rho*cos((pi/n2)*(0:n2))+rho^2);
rn = rn / mean(rn(3:(n2+1)));
rn = rn * mean(p(3:(n2+1),1));
f5 = finv(0.95, round(nx/n2), 1000000);
f1 = finv(0.99, round(nx/n2), 1000000);
subplot(3,1,i);
ll = loglog((f), (p(:,1)), 'k', (f), (rn), 'k', ...
(f), (rn*f5), '--r', (f), (rn*f1), '--b');
set(ll(1), 'linewidth', 2);
end