Global Index (short | long) | Local contents | Local Index (short | long)
First get tbar
This script calls | |
---|---|
clear tim = 101:550; ctlim = [108 302 -62 62]; lev = 1:7; 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(mean2(temp)); % Now get u' and v' filin = 'ul_L1-10.nc'; nc = netcdf(filin, 'nowrite'); latu = nc{'latitude'}(:); lonu = nc{'longitude'}(:); [xk, yk] = keep_var(ctlim, lonu, latu); u = nc{'u'}(tim,lev,yk,xk); mv = nc{'u'}.missing_value(:); nc = close(nc); u(u == mv) = NaN; latu = latu(yk); lonu = lonu(xk); [u, climu] = remove_mean(u/100); filin = 'vl_L1-10.nc'; nc = netcdf(filin, 'nowrite'); v = nc{'v'}(tim,lev,yk,xk); mv = nc{'v'}.missing_value(:); nc = close(nc); v(v == mv) = NaN; [v, climv] = remove_mean(v/100); depth = depth/100; u = squeeze(u); v = squeeze(v); [ntim, nlev, nlat, nlon] = size(u); % 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 [nlev, nlat, nlon] = size(squeeze(climu)); j = sqrt(-1); timeseries = sqrt(2)*pcs(:,num)./std(pcs(:,num)); u = reshape(u, ntim, nlev*nlat*nlon); v = reshape(v, ntim, nlev*nlat*nlon); clear temtim ureg vreg for i = 1:nfrm wgt = conj(exp(j * ((i-1) * pi/(lg2*nfrm) + lg) )); temtim(:,i) = squeeze(real(wgt .* timeseries)); ureg(i, :) = temtim(:,i)' * u ./ ntim; vreg(i, :) = temtim(:,i)' * v ./ ntim; end ureg = reshape(ureg, 6, nlev, nlat, nlon); vreg = reshape(vreg, 6, nlev, nlat, nlon); % Get div(u) clear divu lat2 lon2 for i = 1:6; for j = 1:nlev; [divu(i,j,:,:), lat2, lon2] = sph_div1(squeeze(ureg(i,j,:,:)), ... squeeze(vreg(i,j,:,:)), latu, lonu, 0, 1); end end % Get vvel (vvel @ lev x = sum(vvel(:,1:x,:,:)) % Assume variable 'depth' refers to the middle (vertically) of the layer to be integrated [tem, nlev, nlat, nlon] = size(divu); d1 = depth(1); depthw = []; for i = 1:nlev; depthw = [depthw; depth(i)+d1]; d1 = depth(i+1) - depth(i) - d1; end dz = diff([0; depthw]); dz = dz(1:7) * ones(1, nlat*nlon); dz = reshape(dz, nlev, nlat, nlon); for i = 1:6; vvel(i,:,:,:) = squeeze(divu(i,:,:,:)) .* dz; end % Get dtdz [nlev, nlat, nlon] = size(temp); temp2 = reshape(temp, nlev, nlat*nlon); dz = diff(depth(1:7)) * ones(1, nlat*nlon); dzdepth = depth(1:6) + 0.5*diff(depth(1:7)); dtdz = diff(temp2) ./ dz; for i = 1:nlat*nlon; dtdz(:,i) = interp1(dzdepth, dtdz(:,i), depthw(1:6)); end dtdz = reshape(dtdz, (nlev-1), nlat, nlon); % Plot the data default_global; XAX = lon2; YAX = lat2; lev = 1:2; %yk = keep_var3([-8 8], lat2); figure(1); figure_orient; cint = 1; clev = [-20:cint:-cint 0 cint:cint:20]; for i = 1:nfrm if length(lev) > 1; tem = 1e7*squeeze(sum(vvel(i,lev,:,:)));% .* squeeze(dtdz(max(lev),:,:)); else tem = 1e7*squeeze(vvel(i,lev,:,:));% .* squeeze(dtdz(lev,:,:)); end % tem(yk,:) = NaN; 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 ': Vertical Advelction of Tbar by W''; '... ylabel([tit ': Vertical Velocity regressed on CPC1 of 20 deg. Isotherm; '... 'Depth = ' num2str(depthw(max(lev))) 'm']); cd /home/disk/tao/dvimont/matlab/CSIRO/Velocity/Plots_Tadv %print -dps2 HP8_wprime_dtbardz_L5_yr1.ps