Documentation of ml_run_stats3


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


Help text

  Get CT index

Cross-Reference Information

This script calls

Listing of script ml_run_stats3


clear

csirod;
%load ML_seas_sst.mat
%load ML_seas_slp.mat 
load ML_ANN_sst.mat
load ML_ANN_slp.mat
seas = sst2; 
seas_slp = slp;
back

[b, a] = butter(9, 2/9);

lims = [100 305 -65 65];
[xk, yk] = keep_var(lims, lon, lat);
seas = seas(:, yk, xk);
seas_slp = seas_slp(:, yk, xk);
seas = filtfilt(b, a, seas);
seas_slp = filtfilt(b, a, seas_slp);

[lat, lon, depth, lm] = getll('temp', lims);

if 1;
  ctlim = [180 270 -6 6];
  [xk, yk] = keep_var(ctlim, lon, lat);
  ct1 = seas(:,yk,xk);
  ct1 = squeeze(mean2(mean2(shiftdim(ct1, 1))));
  ct1 = detrend(ct1);
%  ct1 = filtfilt(b, a, ct1);
end

if 0;
cd ~/matlab/CSIRO/Thesis/Data; load ML_SST_eof_eq.mat; back;
ct1 = lpcs(:,1);
ct = hpcs(:,1);
end

[reg1, c1] = regress_eof(seas, ct1, 0);
[reg2, c2] = regress_eof(seas_slp, ct1, 0);

if 1;
  sst = getnc('temp', lims, 1, 101:1000); sst = filtfilt(b, a, sst);
  slp = getflx('psl', lims, 101:1000); slp = filtfilt(b, a, slp);
  ct = getct;
  ct = detrend(ct)./std(detrend(ct));
  ct = filtfilt(b, a, ct);
end

[creg1, cc1] = regress_eof(sst, ct, 0);
[creg2, cc2] = regress_eof(slp, ct, 0);

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

figure(2); fo; clf
pos = [.2 (9.8/11)-1*7/33 .3 .18];
subplot('position', pos);
  gcont(reg1, .05);
  dc2(lm, .5, 1);
  color_shade(squeeze(c1.^2), .25, .87*[1 1 1]);
  title('ML');
pos = [.2 (9.8/11)-2*7/33 .3 .18];
subplot('position', pos);
  gcont(reg2, .1);
  dc2(lm, .5, 1);
  color_shade(squeeze(c2.^2), .25, .87*[1 1 1]);

pos = [.58 (9.8/11)-1*7/33 .3 .18];
subplot('position', pos);
  gcont(creg1, .05);
  dc2(lm, .5, 1);
  color_shade(squeeze(cc1.^2), .25, .87*[1 1 1]);
  title('COUP');
pos = [.58 (9.8/11)-2*7/33 .3 .18];
subplot('position', pos);
  gcont(creg2, .1);
  dc2(lm, .5, 1);
  color_shade(squeeze(cc2.^2), .25, .87*[1 1 1]);

thes; cd Chap5;
%print -dps2 ML_COUP_SST_SLP_CT.ps


%  Get NH component of this

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

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

  sstm = cosweight(seas(:, yk, xk), lat(yk));
  sstc = cosweight(sst(:, yk, xk), lat(yk));

  mpat = cos((pi/180)*lat(yk)*ones(1, size(xk))).*squeeze(reg1(:,yk,xk));
  cpat = cos((pi/180)*lat(yk)*ones(1, size(xk))).*squeeze(creg1(:,yk,xk));
  [nlat, nlon] = size(mpat);
  mpat = reshape(mpat, 1, nlat*nlon)';
  cpat = reshape(cpat, 1, nlat*nlon)';
  sstm = reshape(sstm, size(sstm, 1), nlat*nlon);
  sstc = reshape(sstc, size(sstc, 1), nlat*nlon);

  kp2 = find(~isnan(reshape(lm(yk, xk), 1, nlat*nlon)));
  mpat = mpat(kp2);
  cpat = cpat(kp2);
  sstm = sstm(:, kp2);
  sstc = sstc(:, kp2);

  mtime(:,i) = sstm*mpat;
  ctime(:,i) = sstc*cpat;
  mtime(:,i) = detrend(mtime(:,i))./std(detrend(mtime(:,i)));
  ctime(:,i) = detrend(ctime(:,i))./std(detrend(ctime(:,i)));

  [mreg, mc] = regress_eof(seas, mtime(:,i), 0);
  [creg, cc] = regress_eof(sst, ctime(:,i), 0);

  default_global; FRAME = [105 300 -60 60];
  figure(3); fo(1);
  pos = [.2 (9.8/11)-i*7/33 .3 .18];
  subplot('position', pos);
    gcont(mreg, .05);
    dc2(lm, .5, 1);
    color_shade(squeeze(mc.^2), .25, .87*[1 1 1]);
    if i == 1; title('ML'); end;
    ylabel(tit);
  pos = [.58 (9.8/11)-i*7/33 .3 .18];
  subplot('position', pos);
    gcont(creg, .05);
    dc2(lm, .5, 1);
    color_shade(squeeze(cc.^2), .25, .87*[1 1 1]);
    if i == 1; title('COUP'); end;

end;

thes; cd Chap5;
%print -dps2 ML_COUP_NHSH_SST_CT.ps

[corr(mtime(:,1), mtime(:,2), -2) ...
 corr(mtime(:,1), mtime(:,2), -1) ...
 corr(mtime(:,1), mtime(:,2), 0) ...
 corr(mtime(:,1), mtime(:,2), 1) ...
 corr(mtime(:,1), mtime(:,2), 2)]
ans =

    0.0124    0.1564    0.2430    0.0161    0.0361

[corr(ctime(:,1), ctime(:,2), -2) ...
 corr(ctime(:,1), ctime(:,2), -1) ...
 corr(ctime(:,1), ctime(:,2), 0) ...
 corr(ctime(:,1), ctime(:,2), 1) ...
 corr(ctime(:,1), ctime(:,2), 2)]
ans =

    0.2871    0.4153    0.4377    0.3401    0.1982


LP:  
ML:  ans =

    0.3132    0.3607    0.3675    0.3273    0.2463

COUP:  ans =

    0.5070    0.5861    0.6109    0.5758    0.4896