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