Documentation of eq_tend_terms


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


Help text

  Plot the data;

Cross-Reference Information

This script calls

Listing of script eq_tend_terms


clear
cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Data
load HP10_detrend_L1-7_CEOF_yr101-1000.mat
lev = 1:3;
lims = [178 272 -3 3]; %  CT index
lims = [168 203 20 33.5]; % NP cold anom (2nd attempt);
nfrm = 6; lags = 180/nfrm * [0:nfrm-1];
tim = 101:1000;
cd ~/matlab/CSIRO/Heat/Old_routines
   [utem, vtem, lat_out, lon_out, depth_out] = ...
           get_ubar_gradtprime(pcs, lims, nfrm, tim, lev);
   ubtp13 = squeeze(mean(utem));
   vbtp13 = squeeze(mean(vtem));
   [utem, vtem, lat_out, lon_out, depth_out] = ...
           get_uprime_gradtbar(pcs, lims, nfrm, tim, lev);
   uptb13 = squeeze(mean(utem));
   vptb13 = squeeze(mean(vtem));
   [wtem, lat_out, lon_out] = ...
           get_wbar_dtprimedz(pcs, lims, nfrm, tim, lev);
   wbtp13 = squeeze(mean2(mean2(shiftdim(wtem, 1))))';
   [wtem, lat_out, lon_out] = ...
           get_wprime_dtbardz(pcs, lims, nfrm, tim, lev);
   wptb13 = squeeze(mean2(mean2(shiftdim(wtem, 1))))';
   tim2 = 100:1000; ntim = length(tim2);
   hc13 = getheat(lims, lev, tim2);
   dhc13dt = (hc13(3:ntim,:,:) - hc13(1:(ntim-2),:,:)) / (2*3600*24*365);
   hc13 = hc13(2:ntim,:,:); ntim = length(tim);
   hc13 = regress_ceof(hc13, pcs, nfrm);
   dhc13dt = regress_ceof(dhc13dt, pcs(1:(ntim-1), :), nfrm);
   hc13 = squeeze(mean2(mean2(shiftdim(hc13, 1))))';
   dhc13dt = squeeze(mean2(mean2(shiftdim(dhc13dt, 1))))';
   hflx = getnc('heat', lims, 1, tim);
   hflx = regress_ceof(hflx, pcs, nfrm);
   hflx = squeeze(mean2(mean2(shiftdim(hflx, 1))))';

ubtp = -1*(ubtp13 + vbtp13 + wbtp13);
uptb = -1*(uptb13 + vptb13 + wptb13);

figure(1);
subplot(2,1,1);
  h1 = plot(...
       nfrm, ubtp, 'x--k', ...
       nfrm, uptb, 'o--k', ...
       nfrm, hflx, 'v--k', ...
       nfrm, dhc13dt, 'd-.k', ...
       nfrm, 1.5e-8*hc13, '-k');
  axis([-10 10 -2 2]);
  grid on
  xlabel('Lag (in years)');
  ylabel('W m^-^2');
  title('0-80m Integrated Heat Content Anomaly Tendency Terms');
  legend(h1, 'Ubar Grad(T'')', 'U'' Grad(Tbar)', 'Net Heat Flux', 'dHC/dt', 'HC (scaled)');

%  Get lower layer

cd ~/matlab/CSIRO/Heat/Old_routines

lev = 1:7;
   [utem, vtem, lat_out, lon_out, depth_out] = ...
           get_ubar_gradtprime(pcs, lims, nfrm, tim, lev);
   ubtp17 = squeeze(mean(utem));
   vbtp17 = squeeze(mean(vtem));

   [utem, vtem, lat_out, lon_out, depth_out] = ...
           get_uprime_gradtbar(pcs, lims, nfrm, tim, lev);
   uptb17 = squeeze(mean(utem));
   vptb17 = squeeze(mean(vtem));

   [wtem, lat_out, lon_out] = ...
           get_wbar_dtprimedz(pcs, lims, nfrm, tim, lev);
   wbtp17 = squeeze(mean2(mean2(shiftdim(wtem, 1))))';

   [wtem, lat_out, lon_out] = ...
           get_wprime_dtbardz(pcs, lims, nfrm, tim, lev);
   wptb17 = squeeze(mean2(mean2(shiftdim(wtem, 1))))';

   tim2 = 100:1000; ntim = length(tim2);
   hc17 = getheat(lims, lev, tim2);
   dhc17dt = (hc17(3:ntim,:,:) - hc17(1:(ntim-2),:,:)) / (2*3600*24*365);
   hc17 = hc17(2:ntim,:,:); ntim = length(tim);
   hc17 = regress_ceof(hc17, pcs, nfrm);
   dhc17dt = regress_ceof(dhc17dt, pcs(1:(ntim-1), :), nfrm);
   hc17 = squeeze(mean2(mean2(shiftdim(hc17, 1))))';
   dhc17dt = squeeze(mean2(mean2(shiftdim(dhc17dt, 1))))';


lev = 1:4
   [utem, vtem, lat_out, lon_out, depth_out] = ...
           get_ubar_gradtprime(pcs, lims, nfrm, tim, lev);
   ubtp14 = squeeze(mean(utem));
   vbtp14 = squeeze(mean(vtem));

   [utem, vtem, lat_out, lon_out, depth_out] = ...
           get_uprime_gradtbar(pcs, lims, nfrm, tim, lev);
   uptb14 = squeeze(mean(utem));
   vptb14 = squeeze(mean(vtem));

   [wtem, lat_out, lon_out] = ...
           get_wbar_dtprimedz(pcs, lims, nfrm, tim, lev);
   wbtp14 = squeeze(mean2(mean2(shiftdim(wtem, 1))))';

   [wtem, lat_out, lon_out] = ...
           get_wprime_dtbardz(pcs, lims, nfrm, tim, lev);
   wptb14 = squeeze(mean2(mean2(shiftdim(wtem, 1))))';

   tim2 = 100:1000; ntim = length(tim2);
   hc14 = getheat(lev, tim2, lims);
   dhc14dt = (hc14(3:ntim,:,:) - hc14(1:(ntim-2),:,:)) / (2*3600*24*365);
   hc14 = hc14(2:ntim,:,:); ntim = length(tim);
   hc14 = regress_eof(hc14, pcs, nfrm);
   dhc14dt = regress_eof(dhc14dt, pcs(1:(ntim-1), :), nfrm);
   hc14 = squeeze(mean2(mean2(shiftdim(hc14, 1))))';
   dhc14dt = squeeze(mean2(mean2(shiftdim(dhc14dt, 1))))';

   taux = getnc('taux', [165 210 -3 3], 1, tim);
   taux = regress_ceof(taux, pcs, nfrm);
   taux = squeeze(mean2(taux'));

%  Plot lower level

ubtp57 = -1*(ubtp17 + vbtp17 + wbtp17) - -1*(ubtp14 + vbtp14 + wbtp14);
uptb57 = -1*(uptb17 + vptb17 + wptb17) - -1*(uptb14 + vptb14 + wptb14);
hc57 = hc17 - hc14;
dhc57dt = dhc17dt - dhc14dt;

subplot(2,1,2);
  h1 = plot(...
       nfrm, ubtp57, 'x--k', ...
       nfrm, uptb57, 'o--k', ...
       nfrm, 1e2*taux, '>-.k', ...
       nfrm, dhc57dt, 'd-.k', ...
       nfrm, 1.5e-8*hc57, '-k');
  axis([-10 10 -1.5 1.5]);
  grid on
  xlabel('Lag (in years)');
  ylabel('W m^-^2');
  title('80-270m Integrated Heat Content Anomaly Tendency Terms');
  legend(h1, 'Ubar Grad(T'')', 'U'' Grad(Tbar)', 'Zonal Wind Stress',...
             'dHC/dt', 'HC (scaled)');

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/GRL_Figs



%  Plot all the terms

ubtp47 = ubtp17 - ubtp13;
vbtp47 = ubtp17 - vbtp13;
wbtp47 = ubtp17 - wbtp13;
uptb47 = uptb17 - uptb13;
vptb47 = vptb17 - vptb13;
wptb47 = wptb17 - wptb13;
hc47 = hc17 - hc13;
dhc47dt = dhc17dt - dhc13dt;

figure(1); figure_orient(1);

lag2 = 180/nfrm * [0:(2*nfrm)];

subplot(2,1,1);
  h1 = plot(...
    lag2, [-ubtp17 ubtp17 -ubtp17(1)], 'x-k', ...       
    lag2, [-vbtp17 vbtp17 -vbtp17(1)], 'o-k', ...
    lag2, [-wbtp17 wbtp17 -wbtp17(1)], 'v-k', ...
    lag2, [-uptb17 uptb17 -uptb17(1)], '*--k', ...
    lag2, [-vptb17 vptb17 -vptb17(1)], 's--k', ...
    lag2, [-wptb17 wptb17 -wptb17(1)], '^--k', ...
    lag2, [   hflx  -hflx    hflx(1)], '>-.k', ...
    lag2, [dhc13dt -dhc13dt dhc13dt(1)], 'd-.k', ...
    lag2, 1e-8*[hc13 -hc13 hc13(1)], '-k');%, ...
%    lag2, 35*[taux -taux taux(1)], '--k');
  set(h1(9:10), 'linewidth', 2);
  grid on
  xlabel('Phase (degrees)');
  ylabel('W m^-^2');
  title(['NP Cold Anomaly:  HP10 0-80m Integrated'...
        ' Anomalous Heat Content Tendency Terms']);
  axis([0 360 -4.5 4.5]);
  set(gca, 'XTick', 0:30:360);
  legend(h1, 'Ubar dHC''/dx', 'Vbar dHC''/dy', 'Wbar dHC''dz',...
             'U'' dHCbar/dx', 'V'' dHCbardy', 'W'' dHCbardz',...
             'Net Heat Flux', 'dHC''/dt', 'HC (scaled)', 'TAUX (scaled)');
%  legend(h1, 'Net Heat Flux', 'dHC''/dt', 'HC (10^8 J m^-^2)')

cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Chap2/Plots

figure(2); figure_landscape(1);
  h1 = plot(...
    lag2, [-ubtp47 ubtp47 -ubtp47(1)], 'x-k', ...       
    lag2, [-vbtp47 vbtp47 -vbtp47(1)], 'o-k', ...
    lag2, [-wbtp47 wbtp47 -wbtp47(1)], 'v-k', ...
    lag2, [-uptb47 uptb47 -uptb47(1)], '*--k', ...
    lag2, [-vptb47 vptb47 -vptb47(1)], 's--k', ...
    lag2, [-wptb47 wptb47 -wptb47(1)], '^--k', ...
    lag2, [dhc47dt -dhc47dt dhc47dt(1)], 'd-.k', ...
    lag2, 1e-8*[hc47 -hc47 hc47(1)], '-k', ...
    lag2, 35*[taux -taux taux(1)], '--k');
  set(h1(8:9), 'linewidth', 2);
  grid on
  xlabel('Lag (in years)');
  ylabel('W m^-^2');
  axis([0 360 -4 4]);
  title('HP10 80-270m Integrated Anomalous Heat Content Tendency Terms');
  legend(h1, 'Ubar dHC''/dx', 'Vbar dHC''/dy', 'Wbar dHC''dz',...
             'U'' dHCbar/dx', 'V'' dHCbardy', 'W'' dHCbardz',...
             'dHC''/dt', 'HC (scaled)', 'TAUX (scaled)');

cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Chap2/Plots


%  Look at heat content and wind stress only

clear

%  Load PCS:

cd /home/disk/hayes2/dvimont/csiro/matlab_data/Heat_Content
load LP10_detrend_L1-7_yr101-1000.mat
load RAW_detrend_L1-7_EOF_yr101-1000.mat
pcs = -1*pcs;

lev = 1:3;
lims = [178 272 -3 3]; 
nfrm = -25:25;
tim = 101:1000;

hc13 = getheat(1:3, tim, lims);
hc46 = getheat(4:6, tim, lims);
hc79 = getheat(7:9, tim, lims);
sst = getnc('temp', lims, 1, tim);
taux = getnc('taux', [165 210 -3 3], 1, tim);
[lat, lon, depthw] = getll('wl', lims);

[tem, hc13] = regress_eof(hc13, pcs, nfrm);
[tem, hc46] = regress_eof(hc46, pcs, nfrm);
[tem, hc79] = regress_eof(hc79, pcs, nfrm);
[tem, sst] = regress_eof(sst, pcs, nfrm);
[tem, taux] = regress_eof(taux, pcs, nfrm);

hc13 = squeeze(mean(mean(shiftdim(hc13, 1))));
hc46 = squeeze(mean(mean(shiftdim(hc46, 1))));
hc79 = squeeze(mean(mean(shiftdim(hc79, 1))));
sst = squeeze(mean(mean(shiftdim(sst, 1))));
taux = squeeze(mean(taux, 2));

taux2 = 1.8 * taux2 / max(taux2);
sst2 = 1.6 * sst2 / max(sst2);
h13 = 1.4 * h13 / max(h13);
h46 = 1.2 * h46 / max(h46);
h79 = 1.0 * h79 / max(h79);


figure(1); figure_landscape;
h1 = plot(...
   nfrm, hc79, ':k',  ...
   nfrm, hc46, '--k', ...
   nfrm, hc13, '-.k', ...
   nfrm, sst, 'o-k', ...
   nfrm, taux, 'x-k');
axis([-15 15 -1 2])
set(gca, 'XTick', [-20:2:20]);
grid on
title(['Lagged Regression (scaled) of Various Equatorial Indices on PC1 ' ...
       'of 0-270m Heat Content']); 
xlabel('Lag in Years');
ylabel('Scaled Regression Coefficient');
legend(h1, '210-470m Heat Content', '80-210m Heat Content', ...
           '0-80m Heat Content', '12.5m Temperature', ...
           'Zonal Wind Stress')

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/GRL_Figs



%  Look at each level individually

clear

lev = 1:3;
lims = [178 272 -3 3]; 
nfrm = -25:25;
tim = 101:1000;

%  Get CT index

ct = getnc('temp', [178 272 -6 6], 1, tim);
ct = getheat(1:7, tim, [178 272 -6 6]);
ct = squeeze(mean(mean(ct, 2), 3));
ct = detrend(ct);
[b, a] = butter(6, 2/10);
ct = filtfilt(b, a, ct);
pcs = ct./std(ct);

%  Load PCS:

cd /home/disk/hayes2/dvimont/csiro/matlab_data/Heat_Content
load LP10_detrend_L1-7_yr101-1000.mat
load RAW_detrend_L1-7_EOF_yr101-1000.mat
pcs = -1*pcs;

[lat, lon, depth] = getll('temp', lims);
temp = getnc('temp', lims, 1:10, tim);
temp = squeeze(mean(mean(temp, 3),4));
taux = getnc('taux', [165 210 -3 3], 1, tim);
taux = squeeze(mean(taux, 2));

temp = filtfilt(b, a, detrend(temp));
taux = filtfilt(b, a, detrend(taux));

[tem, tcoef] = regress_eof(temp, pcs, nfrm);
[tem, xcoef] = regress_eof(taux, pcs, nfrm);

h1 = plot(...
  nfrm, tcoef(:,8), 'v-k', ...
  nfrm, tcoef(:,7), '*-k', ...
  nfrm, tcoef(:,6), '^-k', ...
  nfrm, tcoef(:,5), '<-k', ...
  nfrm, tcoef(:,3), 's-k', ...
  nfrm, tcoef(:,1), 'o-k', ...
  nfrm, xcoef, 'x-k');
set(h1(6), 'linewidth', 2);
axis([-11 11 -.5 1.1]);
grid on
set(gca, 'XTick', [-20:2:20], 'YTick', [-0.5:.25:1]);
title(['Lagged Correlation between EQ Temp at various depths, and PC1 ' ...
       'of 0-270m Heat Content']); 
xlabel('Lag in Years');
ylabel('Correlation Coefficient');
legend(h1, '410m Temp', '240m Temp', '138.5m Temp', '65m Temp', '12.5m Temp', ...
           'Zonal Wind Stress');


cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/GRL_Figs


  nfrm, tcoef(:,9), 'v-k', ...
  nfrm, tcoef(:,2), '<-k', ...
  nfrm, tcoef(:,1), 'o-k', ...


cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Data
%save HP10_wstp_terms.mat uptbw13 ubtpw13 vptbw13 vbtpw13 wptbw13 wbtpw13 ...
%     uptbw17 ubtpw17 vptbw17 vbtpw17 wptbw17 wbtpw17 ...
%     hcw13 hcw17 dhcw13dt dhcw17dt hflx taux lags lims tim nfrm





%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Data
load HP10_eq_terms.mat

figure(1); figure_orient(1);

lag2 = 180/nfrm * [0:(2*nfrm)];

subplot(2,1,1);
  h1 = plot(...
    lag2, [-ubtp17 ubtp17 -ubtp17(1)], 'x-k', ...       
    lag2, [-vbtp17 vbtp17 -vbtp17(1)], 'o-k', ...
    lag2, [-wbtp17 wbtp17 -wbtp17(1)], 'v-k', ...
    lag2, [-uptb17 uptb17 -uptb17(1)], '*--k', ...
    lag2, [-vptb17 vptb17 -vptb17(1)], 's--k', ...
    lag2, [-wptb17 wptb17 -wptb17(1)], '^--k', ...
    lag2, [   hflx  -hflx    hflx(1)], '>-.k', ...
    lag2, [dhc17dt -dhc17dt dhc17dt(1)], 'd-.k', ...
    lag2, 1e-8*[hc17 -hc17 hc17(1)], '-k', ...
    lag2, 35*[taux -taux taux(1)], '--k');
  set(h1(9:10), 'linewidth', 2);
  grid on
  xlabel('Phase (degrees)');
  ylabel('W m^-^2');
  title('CT:  HP10 0-270m Integrated Anomalous Heat Content Tendency Terms');
  axis([0 360 -6 6]);
  set(gca, 'XTick', 0:30:360);
  legend(h1, 'Ubar dHC''/dx', 'Vbar dHC''/dy', 'Wbar dHC''dz',...
             'U'' dHCbar/dx', 'V'' dHCbardy', 'W'' dHCbardz',...
             'Net Heat Flux', 'dHC''/dt', 'HC (scaled)', 'TAUX (scaled)');

cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Data
load HP10_wstp_terms.mat

lag2 = 180/nfrm * [0:(2*nfrm)];

subplot(2,1,2);
  h1 = plot(...
    lag2, -[-ubtpw17 ubtpw17 -ubtpw17(1)], 'x-k', ...       
    lag2, -[-vbtpw17 vbtpw17 -vbtpw17(1)], 'o-k', ...
    lag2, -[-wbtpw17 wbtpw17 -wbtpw17(1)], 'v-k', ...
    lag2, -[-uptbw17 uptbw17 -uptbw17(1)], '*--k', ...
    lag2, -[-vptbw17 vptbw17 -vptbw17(1)], 's--k', ...
    lag2, -[-wptbw17 wptbw17 -wptbw17(1)], '^--k', ...
    lag2, [   hflx  -hflx    hflx(1)], '>-.k', ...
    lag2, [dhcw17dt -dhcw17dt dhcw17dt(1)], 'd-.k', ...
    lag2, -1e-8*[hcw17 -hcw17 hcw17(1)], '-k', ...
    lag2, -[curl2 -curl2 curl2(1)], '--k');
  set(h1(9:10), 'linewidth', 2);
  grid on
  xlabel('Phase (degrees)');
  ylabel('W m^-^2');
  title('WSTP:  HP10 0-270m Integrated Anomalous Heat Content Tendency Terms');
  axis([0 360 -4.5 4.5]);
  set(gca, 'XTick', 0:30:360);
  legend(h1, 'Ubar dHC''/dx', 'Vbar dHC''/dy', 'Wbar dHC''dz',...
             'U'' dHCbar/dx', 'V'' dHCbardy', 'W'' dHCbardz',...
             'Net Heat Flux', 'dHC''/dt', 'HC (scaled)', 'Curl(TAU)');


cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Chap2/Plots
print -dps2 CT_WSTP_Tendency_Terms.ps


ubtp47 = ubtp17 - ubtp13;
uptb47 = uptb17 - uptb13;
vbtp47 = vbtp17 - vbtp13;
vptb47 = vptb17 - vptb13;
wbtp47 = wbtp17 - wbtp13;
wptb47 = wptb17 - wptb13;
hc47 = hc17 - hc13;
dhc47dt = dhc17dt - dhc13dt;


%  Get curl(tau);

cd /home/disk/tao/dvimont/matlab/CSIRO/Thesis/Data
load HP10_detrend_L1-7_CEOF_yr101-1000.mat
[tx, ty] = getnc('taux', 'tauy', lims, 1, tim);
[lat, lon] = getll('taux', lims);

tx = regress_ceof(tx, pcs, nfrm);
ty = regress_ceof(ty, pcs, nfrm);

for i = 1:nfrm
  curl(i,:,:) = sph_curl1(squeeze(tx(i,:,:)), squeeze(ty(i,:,:)), lat, lon, 0);
end

curl2 = 1e8*mean(mean(curl, 2), 3)';