Global Index (short | long) | Local contents | Local Index (short | long)
Start with CT regressions
This script calls | |
---|---|
clear cd /home/disk/hayes2/dvimont/csiro/data ctlim = [0 360 -90 90]; tim = 101:550; lev = 5; nc = netcdf('ul_L1-10.nc', 'nowrite'); lat = nc{'latitude'}(:); lon = nc{'longitude'}(:); [xk, yk] = keep_var(ctlim, lon, lat); u = nc{'u'}(tim, lev, yk, xk); mv = nc{'u'}.missing_value(:); nc = close(nc); u(u == mv) = NaN; nc = netcdf('vl_L1-10.nc', 'nowrite'); v = nc{'v'}(tim, lev, yk, xk); nc = close(nc); v(v == mv) = NaN; lat = lat(yk); lon = lon(xk); u = squeeze(u); v = squeeze(v); [ntim, nlat, nlon] = size(u); cd /home/disk/tao/dvimont/matlab/CSIRO/Data load butter_4.5_ctstar.mat ct = detrend(ctstar(tim)); ct = ct./std(ct); u = reshape(u, ntim, nlat*nlon); v = reshape(v, ntim, nlat*nlon); temu = reshape(ct'*u/ntim, nlat, nlon); temv = reshape(ct'*v/ntim, nlat, nlon); default_global figure(1); figure_orient; sp(2) [h, a, c] = gquiv(temu, temv, 2); dc; xlabel(['Max = ' num2str(round(c(2)*100)/100) ' cm s^-^1']) % Now look at CPC's cd /home/disk/hayes2/dvimont/csiro/matlab_data % load 20deg_CEOF_HP10_yr101-550.mat % load 20deg_CEOF_LP10_yr101-550.mat load 20deg_CEOF_HP8_yr101-550.mat % load 20deg_CEOF_RAW_yr101-550.mat cd /home/disk/hayes2/dvimont/csiro/data nc = netcdf('ul_L1-10.nc', 'nowrite'); lat = nc{'latitude'}(:); lon = nc{'longitude'}(:); [xk, yk] = keep_var(ctlim, lon, lat); nc = close(nc); lat = lat(yk); lon = lon(xk); oce_vel = sqrt(u.^2 + v.^2); timeseries = sqrt(2)*pcs(:,1)./std(pcs(:,1)); cint1 = [0.05 0.05 0.05 1 1 1]; FRAME = [110 300 -60 60]; lag = 0; lg = lag*pi/180; num = 1; nfrm = 6; for ind = 1:nfrm; wgt = conj(exp(j * ((ind-1) * pi/nfrm + lg) )); temtim = real(wgt .* timeseries); temu = temtim'*u./ntim; temv = temtim'*v./ntim; ccoef = corr_sig(temtim, oce_vel); temu = reshape(temu, nlat, nlon); temv = reshape(temv, nlat, nlon); tstat = reshape(abs(ccoef), nlat, nlon); subplot(3,2,ind); cla; gshade2(abs(tstat), 0.25); hold on; [h, a, c] = gquiv(temu, temv, 1); hold off; dc; title(['Phase = ' num2str((ind-1)*180/nfrm + lag)]); xlabel(['Max = ' num2str(round(c(2)*100)/100) ' cm s^-^1']) end