Documentation of ml_run_stats4


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


Help text

for biff = 1:3;

Cross-Reference Information

This script calls

Listing of script ml_run_stats4


clear
biff = 0;

%  Incidently, check out ~davet/matlab/general/cosp_lsq.m for
%  projection routine

%  load data

csirod;
load ML_ANN_sst.mat
load ML_ANN_slp.mat
load taux_ML_annave.mat
load tauy_ML_annave.mat
back

ctlim = [180 270 -6 6];
[xk, yk] = keep_var(ctlim, lon, lat);
ctml = squeeze(mean2(mean2(shiftdim(sst2(:, yk, xk), 1))));
ctml = detrend(ctml);

timc = 101:1000;

lims = [100 300 -65 65];
[xk, yk] = keep_var(lims, lon, lat);

ctc = getct; ctc = detrend(ctc);
sstc = getnc('temp', lims, 1, timc);
if ~biff;
  [txc, tyc] = getnc('taux', 'tauy', lims, 1, timc);
  slpc = getflx('psl', lims, timc);
end
[lat, lon, depth, lm] = getll('temp', lims);
[lat1, lon1] = getll('taux', lims);

if biff == 3;
  [b, a] = butter(9, 2/9);
  ctml = filtfilt(b, a, detrend(ctml));
  ctc = filtfilt(b, a, detrend(ctc));
  sst2 = filtfilt(b, a, detrend(sst2(:,yk,xk)));
  sstc = filtfilt(b, a, detrend(sstc));
  if ~biff;
    slp = filtfilt(b, a, detrend(slp(:,yk,xk)));
    txann = filtfilt(b, a, detrend(txann(:,yk,xk)));
    tyann = filtfilt(b, a, detrend(tyann(:,yk,xk)));
    slpc = filtfilt(b, a, detrend(slpc));
    txc = filtfilt(b, a, detrend(txc));
    tyc = filtfilt(b, a, detrend(tyc));
  end
elseif biff == 2;
  [b, a] = butter(9, 2/10);
  ctml = detrend(ctml) - filtfilt(b, a, detrend(ctml));
  ctc = detrend(ctc) - filtfilt(b, a, detrend(ctc));
  sst2 = detrend(sst2(:,yk,xk)) - filtfilt(b, a, detrend(sst2(:,yk,xk)));
  sstc = detrend(sstc) - filtfilt(b, a, detrend(sstc));
  if ~biff;
    slp = detrend(slp(:,yk,xk)) - filtfilt(b, a, detrend(slp(:,yk,xk)));
    txann = detrend(txann(:,yk,xk)) - filtfilt(b, a, detrend(txann(:,yk,xk)));
    tyann = detrend(tyann(:,yk,xk)) - filtfilt(b, a, detrend(tyann(:,yk,xk)));
    slpc = detrend(slpc) - filtfilt(b, a, detrend(slpc));
    txc = detrend(txc) - filtfilt(b, a, detrend(txc));
    tyc = detrend(tyc) - filtfilt(b, a, detrend(tyc));
  end
elseif biff == 1;
  sst2 = detrend(sst2(:,yk,xk));
  sstc = detrend(sstc);
  if ~biff;
    slp = detrend(slp(:,yk,xk));
    txann = detrend(txann(:,yk,xk));
    tyann = detrend(tyann(:,yk,xk));
    slpc = detrend(slpc);
    sstc = detrend(sstc);
    txc = detrend(txc);
    tyc = detrend(tyc);
  end
end

[reg1m, c1m] = regress_eof(sst2, ctml, 0);
[reg1c, c1c] = regress_eof(sstc, ctc, 0);

if ~biff;
[reg2m, c2m] = regress_eof(slp, ctml, 0);
[reg3m, c3m] = regress_eof(txann, ctml, 0);
[reg4m, c4m] = regress_eof(tyann, ctml, 0);
[reg2c, c2c] = regress_eof(slpc, ctc, 0);
[reg3c, c3c] = regress_eof(txc, ctc, 0);
[reg4c, c4c] = regress_eof(tyc, ctc, 0);

default_global; FRAME = [105 295 -60 60];

figure(1); fo(1); clf;
XAX = lon; YAX = lat;
sptalk(4,2,1);
  gcont(reg1m, 0.05);
  dc2(lm, 0.5, 1);
  color_shade(squeeze(c1m.^2), 0.25, .87*[1 1 1]);
  set(gca, 'fontsize', 9);
  title('ML RUN:  < SST, CT >');
sptalk(4,2,2);
  gcont(reg1c, 0.05);
  dc2(lm, 0.5, 1);
  color_shade(squeeze(c1c.^2), 0.25, .87*[1 1 1]);
  set(gca, 'fontsize', 9);
  title('COUP RUN:  < SST, CT >');

sptalk(4,2,3);
  gcont(reg2m, 0.1);
  dc2(lm, 0.5, -1);
  color_shade(squeeze(c2m.^2), 0.25, .87*[1 1 1]);
  set(gca, 'fontsize', 9);
  title('< SLP, CT >');
sptalk(4,2,4);
  gcont(reg2c, 0.1);
  dc2(lm, 0.5, -1);
  color_shade(squeeze(c2c.^2), 0.25, .87*[1 1 1]);
  set(gca, 'fontsize', 9);
  title('< SLP, CT >');

[divm, latm, lonm] = sph_div1(squeeze(reg3m), squeeze(reg4m), lat, lon, 0);
[divc, latc, lonc] = sph_div1(squeeze(reg3c), squeeze(reg4c), lat1, lon1, 0);

XAX = lon1; YAX = lat1;
sptalk(4,2,5); cla;
  gquiv(10*reg3m, 10*reg4m, -.1, 2, 0.1);
  XAX = lon; YAX = lat;
  dc2(lm, 0.5, 1);
%  XAX = lonm, YAX = latm;
%  color_shade(-1e8*squeeze(divm), .25, [1 0 0]);
%  color_shade(1e8*squeeze(divm), .25, [0 0 1]);
  set(gca, 'fontsize', 9);
  title('< \fontsize{12}\tau\fontsize{9}, CT >');
XAX = lon1; YAX = lat1;
sptalk(4,2,6); cla;
  gquiv(reg3c, reg4c, -.1, 2, 0.1);
  XAX = lon; YAX = lat;
  dc2(lm, 0.5, 1);
%  XAX = lonc, YAX = latc;
%  color_shade(-1e8*squeeze(divc), 1.5, [1 0 0]);
%  color_shade(1e8*squeeze(divc), 1.5, [0 0 1]);
  set(gca, 'fontsize', 9);
  title('< \fontsize{12}\tau\fontsize{9}, CT >');

end; %  if ~biff statement

for i = 2:2;
  if i == 1;
    hlims = [100 260 15 60];
    tit = 'NP';
  else
    hlims = [150 290 -60 -15];
    tit = 'SP';
  end

  [xk, yk] = keep_var(hlims, lon, lat);

  mpat = (cos(pi/180 * lat(yk))*ones(1, length(xk))).*squeeze(reg1m(1,yk,xk));
  cpat = (cos(pi/180 * lat(yk))*ones(1, length(xk))).*squeeze(reg1c(1,yk,xk));

  [nlat, nlon] = size(mpat);
  mpat = reshape(mpat, nlat*nlon, 1);
  cpat = reshape(cpat, nlat*nlon, 1);
  csst = reshape(sstc(:,yk,xk), size(sstc, 1), nlat*nlon);
  msst = reshape(sst2(:,yk,xk), size(sst2, 1), nlat*nlon);

  kp2 = find(~isnan(cpat));
  mtim(:,i) = msst(:,kp2) * mpat(kp2);
  ctim(:,i) = csst(:,kp2) * cpat(kp2);

  mtim(:,i) = (detrend(mtim(:,i)))./std(detrend(mtim(:,i)));
  ctim(:,i) = (detrend(ctim(:,i)))./std(detrend(ctim(:,i)));

 if ~biff;
  [mreg1(i,:,:), mc1(i,:,:)] = regress_eof(sst2, mtim(:,i), 0);
  [mreg2(i,:,:), mc2(i,:,:)] = regress_eof(slp, mtim(:,i), 0);
  [mreg3(i,:,:), mc3(i,:,:)] = regress_eof(txann, mtim(:,i), 0);
  [mreg4(i,:,:), mc4(i,:,:)] = regress_eof(tyann, mtim(:,i), 0);
  [creg1(i,:,:), cc1(i,:,:)] = regress_eof(sstc, ctim(:,i), 0);
  [creg2(i,:,:), cc2(i,:,:)] = regress_eof(slpc, ctim(:,i), 0);
  [creg3(i,:,:), cc3(i,:,:)] = regress_eof(txc, ctim(:,i), 0);
  [creg4(i,:,:), cc4(i,:,:)] = regress_eof(tyc, ctim(:,i), 0);

  figure(i+1); fo(1); clf;
  XAX = lon; YAX = lat;
  sptalk(4,2,1);
    gcont(mreg1(i,:,:), 0.05);
    dc2(lm, 0.5, 1);
    color_shade(squeeze(mc1(i,:,:).^2), 0.25, .87*[1 1 1]);
    set(gca, 'fontsize', 9);
    title(['ML RUN:  < SST, ' tit ' >']);
  sptalk(4,2,2);
    gcont(creg1(i,:,:), 0.05);
    dc2(lm, 0.5, 1);
    color_shade(squeeze(cc1(i,:,:).^2), 0.25, .87*[1 1 1]);
    set(gca, 'fontsize', 9);
    title(['COUP RUN:  < SST, ' tit ' >']);

  sptalk(4,2,3);
    gcont(mreg2(i,:,:), 0.1);
    dc2(lm, 0.5, -1);
    color_shade(squeeze(mc2(i,:,:).^2), 0.25, .87*[1 1 1]);
    set(gca, 'fontsize', 9);
    title(['< SLP, ' tit ' >']);
  sptalk(4,2,4);
    gcont(creg2(i,:,:), 0.1);
    dc2(lm, 0.5, -1);
    color_shade(squeeze(cc2(i,:,:).^2), 0.25, .87*[1 1 1]);
    set(gca, 'fontsize', 9);
    title(['< SLP, ' tit ' >']);

  XAX = lon1; YAX = lat1;
  sptalk(4,2,5); cla;
    gquiv(10*mreg3(i,:,:), 10*mreg4(i,:,:), -.1, 2, 0.1);
    XAX = lon; YAX = lat;
    dc2(lm, 0.5, 1);
    set(gca, 'fontsize', 9);
    title(['< \fontsize{12}\tau\fontsize{9}, ' tit ' >']);
  XAX = lon1; YAX = lat1;
  sptalk(4,2,6); cla;
    gquiv(creg3(i,:,:), creg4(i,:,:), -.1, 2, 0.1);
    XAX = lon; YAX = lat;
    dc2(lm, 0.5, 1);
    set(gca, 'fontsize', 9);
    title(['< \fontsize{12}\tau\fontsize{9}, ' tit ' >']);

 end
end;

lags = -10:10;
for i = 1:length(lags);
  a1(biff,i,:) = [corr(mtim(:,1), mtim(:,2), lags(i)) ...
            corr(ctim(:,1), ctim(:,2), lags(i))];
end

figure(4); fo(1); 
if biff == 1; clf; end
sptalk(4,2,2*biff-1);
  bar(lags, a1(biff,:,1), 'b');
  axis([min(lags-1) max(lags+1), -0.4 0.8]);
  set(gca, 'XTick', min(lags):5:max(lags), 'YTick', [-1:.2:1]);
  grid on;
  if biff == 1;
    title('ML:  NP, SP Lag Correlation');
    ylabel('Unfiltered');
  elseif biff == 2;
    ylabel('HP10');
  elseif biff == 3; 
    ylabel('LP9');
  end
sptalk(4,2,2*biff);
  bar(lags, a1(biff,:,2), 'b');
  axis([min(lags-1) max(lags+1), -0.4 0.8]);
  set(gca, 'XTick', min(lags):5:max(lags), 'YTick', [-1:.2:1]);
  grid on;
  if biff == 1;
    title('COUP:  NP, SP Lag Correlation');
  end

end; % end biff loop