Documentation of get_ao_regs


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


Help text

  Perform EOF

Cross-Reference Information

This script calls

Listing of script get_ao_regs


clean
cd /home/disk/tao/data/nmc.reanalysis/monthly
filin = 'slp.mon.mean.48jun01.nc';
varn = 'slp';
aolim = [0 360 20 90];
lev = 1;
tim = 1:636;
[sst, lat, lon] = getnc2(filin, varn, aolim, lev, tim);
sst = annave(sst);
sst = cosweight(sst, lat);

[ntim, nlat, nlon] = size(sst);
sst = reshape(sst, ntim, nlat*nlon);

[lam, lds, pcs, per] = eof_dan(sst);

%  Load data for regression maps

cd /home/disk/tao/data/nmc.reanalysis/monthly
filin = 'slp.mon.mean.48jun01.nc';
varn = 'slp';
lims = [0 360 -90 90];
lev = 1;
tim = 1:636;

[sst, lat, lon] = getnc2(filin, varn, lims, lev, tim);
sst = annave(sst);
[ntim, nlat, nlon] = size(sst);
sst = reshape(sst, ntim, nlat*nlon);

%  Regression on standardized CT index
regmap1 = pcs(:,1)'*sst/(ntim-1);

%  Correlation map
sst2 = standardize(sst);
cormap1 = pcs(:,1)'*sst2/(ntim-1);

%  Do surface temperature
cd /home/disk/tao/data/nmc.reanalysis/monthly
filin = 'air.mon.mean.sfc.48mar01.nc';
varn = 'air';
lims = [0 360 -90 90];
lev = 1;
tim = 1:636;

[sst, lat, lon] = getnc2(filin, varn, lims, lev, tim);
sst = annave(sst);
[ntim, nlat, nlon] = size(sst);
sst = reshape(sst, ntim, nlat*nlon);

%  Regression on standardized CT index
regmap2 = pcs(:,1)'*sst/(ntim-1);

%  Correlation map
sst2 = standardize(sst);
cormap2 = pcs(:,1)'*sst2/(ntim-1);

%  For kicks, get landmask
cd /home/disk/tao/data/nmc.reanalysis
load landmask.mat
lm(lm==-1)=NaN;

%  Reshape
regmap1 = reshape(regmap1, nlat, nlon);
cormap1 = reshape(cormap1, nlat, nlon);
regmap2 = reshape(regmap2, nlat, nlon);
cormap2 = reshape(cormap2, nlat, nlon);

%  Save data and indices
cd ~/matlab/Wallace
save AO_regmaps.mat lims tim pcs per regmap1 cormap1 lat lon lm ...
    regmap2 cormap2 



%  Plot data
clear

cd ~/matlab/Wallace
load AO_regmaps.mat

figure(1); fo(1); clf;
get_global; 
global_figs(6, 6, 0, 0, 3);
dg(lat, lon); FRAME = [0 360 -90 90];

%  Start by plotting regmap2

figure(1); fo(1); clf;
color_trans; colormap(cmap);

FRAME = [0 360 20 90];
sp(1,1); cla;
  maxes('stereo', [90 0]);  %  Define map axis
  [c, h] = contorm(YAX, [XAX; 360], [regmap1 regmap1(:,1)], ...
		   [-5:.5-.5], '-k');
  hold on;
    [c2, h2] = contorm(YAX, [XAX; 360], [regmap1 regmap1(:,1)], ...
	  	       [.5:.5:5], '--k');
  hold off;

  gridm on;  

%  Shade temperature underneath
  [xk, yk] = keep_var(FRAME, lon, lat);
  hh = surfacem2(YAX3(yk,:), XAX3(yk,:), ...
		 -[regmap2(yk,xk) regmap2(yk,1)], -1.1);
  caxis([-2 2]);
  axis_limits(100);
  h2 = displaym(worldlo('oceanmask')); 
  set(h2, 'facecolor', [1 1 1]);
  drawmapm
  set(gca, 'visible', 'off');
  ll = linem(20*ones(1, 361), 0:360, 'k');
  set(ll, 'linewidth', 2);
  
  
  
  
  
%  Make variance maps of SST, and climatological maps for SST too
clear

%  Do surface temperature
cd /home/disk/tao/data/nmc.reanalysis/monthly
filin = 'air.mon.mean.sfc.48mar01.nc';
varn = 'air';
lims = [0 360 -90 90];
lev = 1;
tim = 1:636;

[sst, lat, lon] = getnc2(filin, varn, lims, lev, tim);
[sst, clim] = remove_anncyc(sst);
[ntim, nlat, nlon] = size(sst);

%  Generate climatology maps
sfct_win = mean(clim([11:12 1:4],:,:));
sfct_sum = mean(clim([5:10],:,:));

%  Generate variance maps
ind1 = sort([1:12:ntim 2:12:ntim 3:12:ntim 4:12:ntim ...
	     11:12:ntim 12:12:ntim]);
ind2 = sort([5:12:ntim 6:12:ntim 7:12:ntim 8:12:ntim ...
	     9:12:ntim 10:12:ntim]);

sst = reshape(sst, ntim, nlat*nlon);
varsfct_win = var(sst(ind1,:));
varsfct_sum = var(sst(ind2,:));
varsfct_win = reshape(varsfct_win, nlat, nlon);
varsfct_sum = reshape(varsfct_sum, nlat, nlon);

%  Save data
cd ~/matlab/Wallace
save SFCT_mean_var.mat sfct_win sfct_sum lat lon ...
    varsfct_win varsfct_sum