Global Index (short | long) | Local contents | Local Index (short | long)
Start with ubardt'dx and vbardt'dy
This script calls | |
---|---|
clear tim = 101:550; ctlim = [110 300 -60 60]; lev = 1; cd /home/disk/hayes2/dvimont/csiro/data % First, get ubar and vbar filin = 'ul_L1-10.nc'; nc = netcdf(filin, 'nowrite'); latu = nc{'latitude'}(:); lonu = nc{'longitude'}(:); [xk, yk] = keep_var(ctlim, lonu, latu); ubar = nc{'u'}(tim,lev,yk,xk); mv = nc{'u'}.missing_value(:); nc = close(nc); ubar(ubar == mv) = NaN; ubar = squeeze(mean2(ubar))/100; latu = latu(yk); lonu = lonu(xk); filin = 'vl_L1-10.nc'; nc = netcdf(filin, 'nowrite'); vbar = nc{'v'}(tim,lev,yk,xk); mv = nc{'v'}.missing_value(:); nc = close(nc); vbar(vbar == mv) = NaN; vbar = squeeze(mean2(vbar))/100; % Now get tprime cd /home/disk/hayes2/dvimont/csiro/data filin = 'temp_A_L1-10.nc'; nc = netcdf(filin, 'nowrite'); depth = nc{'depth'}(:); latt = nc{'latitude'}(:); lont = nc{'longitude'}(:); [xk, yk] = keep_var(ctlim, lont, latt); temp = nc{'temp'}(tim, lev, yk, xk); mv = nc{'temp'}.missing_value(:); nc = close(nc); temp(temp == mv) = NaN; latt = latt(yk); lont = lont(xk); temp = squeeze(temp); [temp, tbar] = remove_mean(temp); [ntim, nlat, nlon] = size(temp); % Load CPCs cd /home/disk/hayes2/dvimont/csiro/matlab_data/20Deg_Isotherm %load 20deg_CEOF_LP10_yr101-550.mat; tit = 'Lowpass Filtered Data ( > 10 Years )'; load 20deg_CEOF_HP8_yr101-550.mat; tit = 'Highpass Filtered Data ( < 8 Years )'; %load 20deg_CEOF_RAW_yr101-550.mat; tit = 'Unfiltered Data'; % Get regressions lag = 0; lg = lag*pi/180; lg2 = 1; num = 1; lind = 1; nfrm = 6; % Store all regressions under one variable j = sqrt(-1); timeseries = sqrt(2)*pcs(:,num)./std(pcs(:,num)); temp = reshape(temp, ntim, nlat*nlon); clear temtim treg [b, a] = butter(6, 2/8); temp = temp - filtfilt(b, a, temp); for i = 1:nfrm wgt = conj(exp(j * ((i-1) * pi/(lg2*nfrm) + lg) )); temtim(:,i) = squeeze(real(wgt .* timeseries)); treg(i, :) = temtim(:,i)' * temp ./ ntim; end treg = reshape(treg, 6, nlat, nlon); % Get dtdx and dtdy global DEGREE RADIAN RADUS clear ty tx dtdy dtdx j for i = 1:6; for j = 1:nlat; ty(j,:) = interp1(lont, squeeze(treg(i,j,:)), lonu)'; end for j = 1:nlon; tx(:,j) = interp1(latt, squeeze(treg(i,:,j)), latu); end [dtdy(i,:,:) temlat] = sph_grady1(ty, RADIAN*latt, RADIAN*lonu, 1); [dtdx(i,:,:) temlon] = sph_gradx1(tx, RADIAN*latu, RADIAN*lont, 0); end % Plot the data get_global; FRAME = ctlim; XAX = lonu; YAX = latu; figure(1); figure_orient; cint = 5; clev = [-50:cint:-cint cint:cint:50]; for i = 1:nfrm tem = -1e9 * ubar .* squeeze(dtdx(i,:,:)); subplot(3,2,i); gcont(tem, clev); dc if i > 4; xlabel(['Contour Interval: ' num2str(cint) ' x 10^-^9 K s^-^1']); end end subplot(3,2,3); ylabel([tit ': Zonal Advection of T'' by Mean U; '... 'Depth = ' num2str(depth(lev)/100) 'm']); cd /home/disk/tao/dvimont/matlab/CSIRO/Velocity/Plots_Tadv %print -dps2 LP10_ubar_dtprimedx_L1_yr1.ps figure(2); figure_orient; for i = 1:nfrm tem = -1e9 * vbar .* squeeze(dtdy(i,:,:)); subplot(3,2,i); gcont(tem, clev); dc if i > 4; xlabel(['Contour Interval: ' num2str(cint) ' x 10^-^9 K s^-^1']); end end subplot(3,2,3); ylabel([tit ': Meridional Advection of T'' by Mean V; '... 'Depth = ' num2str(depth(lev)/100) 'm']); %print -dps2 LP10_vbar_dtprimedy_L1_yr1.ps