Documentation of plot_30s30n_terms


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


Help text

  Load PCS:

Cross-Reference Information

This script calls

Listing of script plot_30s30n_terms


clear

biff2 = 1;
cd /home/disk/hayes2/dvimont/csiro/matlab_data/Heat_Content
if biff2 == 1;
  load BP10-60yr_L1-7_EOF.mat; tit = 'BP10-60;  0-80m';
%  load LP10_L1-7_CEOF.mat; tit = 'LP10';
elseif biff2 == 2;
  load HP8_L1-7_CEOF.mat; tit = 'HP8';
elseif biff2 == 3;
  load RAW_L1-7_CEOF.mat; tit = 'RAW';
end

cd ~/matlab/CSIRO/Heat/Old_routines

%nfrm = 6;
nfrm = [-6:-1];
tim = 101:550;
lev = 1:3;
lims = [106 312 -31 31];

%  Get ubar_dHCprimedx and vbar_dHCprimedy

   [ubtp, vbtp, lat_out, lon_out, depth_out] = ...
           get_ubar_gradtprime(pcs, lims, nfrm, tim, lev);

   [uptb, vptb, lat_out, lon_out, depth_out] = ...
           get_uprime_gradtbar(pcs, lims, nfrm, tim, lev);

%  Plot the data

[lat_out, lon_out, depth_out] = getll('u', lims);
default_global;  XAX = lon_out; YAX = lat_out; FRAME = [110 299 -30 30];
lag = 0;

figure(1); figure_orient(1);
cint = 0.5; clev = [-10:cint:-cint cint:cint:10];
for i = 1:6;
  tem = -1 * squeeze(ubtp4(i,:,:));
  subplot(6,2,2*i-1);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,1)
  title([tit ' Ubar dT''dx']);

for i = 1:6;
  tem = -1 * squeeze(uptb4(i,:,:));
  subplot(6,2,2*i);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,2)
  title([tit ' U'' dTbardx']);

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/Old_routines/Plot_HCadv/LP10_80-270m
%print -dps2 LP10_80-270m_udtdx_terms_30s_30n_poslag.ps


%  Plot the vdtdy data

default_global;  XAX = lon_out; YAX = lat_out; FRAME = [110 299 -30 30];
lag = 0;

figure(2); figure_orient;
for i = 1:6;
  tem = -1 * squeeze(vbtp4(i,:,:));
  subplot(6,2,2*i-1);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,1)
  title([tit ' Vbar dT''dy']);

for i = 1:6;
  tem = -1 * squeeze(vptb4(i,:,:));
  subplot(6,2,2*i);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,2)
  title([tit ' V'' dTbardy']);

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/Old_routines/Plot_HCadv/LP10_80-270m
%print -dps2 LP10_80-270m_vdtdy_terms_30s_30n_poslag.ps


%  Get the wdtdz terms

cd ~/matlab/CSIRO/Heat/Old_routines

   [wbtp, lat_out, lon_out] = ...
        get_wbar_dtprimedz(pcs, lims, nfrm, tim, lev);
   [wptb, lat_out, lon_out] = ...
        get_wprime_dtbardz(pcs, lims, nfrm, tim, lev);

%  Plot the wdtdz data

[lat_out, lon_out, depth_out] = getll('wl', lims);
default_global;  XAX = lon_out; YAX = lat_out; FRAME = [110 299 -30 30];
lag = 0;

figure(3); figure_orient;
for i = 1:6;
  tem = -1 * squeeze(wbtp4(i,:,:));
  subplot(6,2,2*i-1);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,1)
  title([tit ' Wbar dT''dy']);

for i = 1:6;
  tem = -1 * squeeze(wptb4(i,:,:));
  subplot(6,2,2*i);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,2)
  title([tit ' W'' dTbardy']);

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/Old_routines/Plot_HCadv/LP10_80-270m
%print -dps2 LP10_80-270m_wdtdz_terms_30s_30n_poslag.ps


%  Plot the heat flux and actual heat content terms

hflx = getnc('heat', lims, lev, tim);
[lat, lon, depth] = getll('heat', lims);

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat
[heat, lath, lonh, depthh, middepth] = getheat(lev, tim, lims);

hflx_reg = regress_eof(hflx, pcs, nfrm);
heat_reg = regress_eof(heat, pcs, nfrm);

%  Plot the HC and HFLX data

default_global;  XAX = lon; YAX = lat; FRAME = [110 299 -30 30];
lag = 0;

cint = 0.5; clev = [-10:cint:-cint cint:cint:10];
figure(4); figure_orient;
for i = 1:6;
  tem = squeeze(hflx_reg(i,:,:));
  subplot(6,2,2*i);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' W m^-^2']);
  end
end
subplot(6,2,2)
  title([tit ' Heat Flux (Pos Down)']);

cint = 0.25; clev = [-10:cint:10];
for i = 1:6;
  tem = 1e-8*squeeze(heat_reg(i,:,:));
  subplot(6,2,2*i-1);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' x 10^8 J m^-^2']);
  end
end
subplot(6,2,1)
  title([tit ' L4-7 Heat Content']);

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/Old_routines/Plot_HCadv/LP10_0-270m
%print -dps2 LP10_80-270m_HC_hflx_30sto30n_poslag.ps


%  Plot sfc temp and zonal wind

[temp, taux] = getnc('temp', 'taux', lims, 1, tim);
[lat, lon, depth] = getll('temp', lims);
[latx, lonx, depthx] = getll('taux', lims);

treg = regress_eof(temp, pcs, nfrm);
xreg = regress_eof(taux, pcs, nfrm);

%  Plot the HC and HFLX data

default_global;  XAX = lon; YAX = lat; FRAME = [110 299 -30 30];
lag = 0;

cint = 0.05; clev = [-1:cint:1];
figure(1); figure_orient;
for i = 1:6;
  tem = squeeze(treg(i,:,:));
  subplot(6,2,2*i-1);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' K std^-^1']);
  end
end
subplot(6,2,1)
  title([tit ' L1 Temperature']);

default_global;  XAX = lonx; YAX = latx; FRAME = [110 299 -30 30];
cint = 1; clev = [-10:cint:10];
for i = 1:6;
  tem = 100*squeeze(xreg(i,:,:));
  subplot(6,2,2*i);
    gcont(tem, clev);
    dc2(tem);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' x 10^2 dynes cm^-^2']);
  end
end
subplot(6,2,2)
  title([tit ' SFC Zonal Wind Stress']);

cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/Old_routines/Plot_HCadv/LP10_80m
%print -dps2 LP10_temp1_taux_30s_30n_poslag.ps

%  Plot Ekman Upwelling and, say, convergence of wind stress

[taux, tauy] = getnc('taux', 'tauy', lims, lev, tim);
[lat, lon, depth] = getll('taux', lims);
xreg = regress_eof(taux, pcs, nfrm);
yreg = regress_eof(tauy, pcs, nfrm);

[nreg, nlat, nlon] = size(xreg);

f = (2*7.292e-5)*sin(lat*pi/180);
clear curlt;
for i = 1:nreg;
  temx = squeeze(xreg(i,:,:)) ./ (f * ones(1, nlon));
  temy = squeeze(yreg(i,:,:)) ./ (f * ones(1, nlon));
  [curlt(i,:,:), lat2, lon2] = sph_curl1(temx, temy, lat, lon, 0);
end;
lm = isnan(curlt(1,:,:));
lm(lm == 1) = NaN;
yk = keep_var3([-2 2], lat2);
curlt(:,yk,:) = NaN;
curlt = (1 / (10 * 1000)) * curlt; % This is in units m/s (Ekman vertical velocity)

figure(3); figure_orient;
default_global;  XAX = lon2; YAX = lat2; FRAME = [110 299 -60 60];
cint = 0.5; clev = [-10:cint:10];
for i = 1:6;
  tem = 1e2*squeeze(xreg(i+12,:,:));
  subplot(3,2,i);
    gcont(tem, clev);
    dc2(lm);
%    ylabel(['Phase = ' num2str((i-1)*180/nfrm + lag)]);
    ylabel(['Lag ' num2str(nfrm(i+12))]);
  if i == 6;
    xlabel(['Contour Interval:  ' num2str(cint) ' x 10^-^7 m s^-^1']);
  end
end
subplot(3,2,1)
  title([tit ' Ekman Upwelling']);


%  Swap variables -- var7 means level 1-7

ubtp7 = ubtp;
uptb7 = uptb;
vbtp7 = vbtp;
vptb7 = vptb;
wbtp7 = wbtp;
wptb7 = wptb;
heat7 = heat_reg;
hflx7 = hflx_reg;

%  Swap variables -- var3 means level 1-3

ubtp3 = ubtp;
uptb3 = uptb;
vbtp3 = vbtp;
vptb3 = vptb;
wbtp3 = wbtp;
wptb3 = wptb;
heat3 = heat_reg;
hflx3 = hflx_reg;

%  Look at lower level --  var4 means level 4-7

ubtp4 = ubtp7 - ubtp3;
uptb4 = uptb7 - uptb3;
vbtp4 = vbtp7 - vbtp3;
vptb4 = vptb7 - vptb3;
wbtp4 = wbtp7 - wbtp3;
wptb4 = wptb7 - wptb3;
heat4 = heat7 - heat3;
hflx4 = hflx7 - hflx3;;