Documentation of ubar_gradtprime


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


Help text

  Start with ubardt'dx and vbardt'dy

Cross-Reference Information

This script calls

Listing of script ubar_gradtprime


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