Documentation of w_intprime_dtbardz


Global Index (short | long) | Local contents | Local Index (short | long)


Help text

  First get tbar

Cross-Reference Information

This script calls

Listing of script w_intprime_dtbardz


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