Documentation of PNA_index_regs


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


Help text

  Get data

Cross-Reference Information

This script calls

Listing of script PNA_index_regs


clean
cd /home/disk/tao/dvimont/Data/Indices
load -ascii pna.asc
tim = 1:636;
yr = pna(tim,1);
mon = pna(tim,2);
pnaind = pna(tim,3);
ntim = length(pnaind);
nyr = ntim/12-1;
win = [11:16]; nmo = length(win);
pna2 = repmat(NaN, [nmo*nyr 1]);
for i = 1:nyr;
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  pna2(ind2) = pnaind(ind1)-mean(pnaind(ind1));
end
pna2 = standardize(pna2);
lims = [0 360 -30 90];
lev = 500;

% HGT (500mb)
cd /home/disk/tao/data/nmc.reanalysis/monthly
[var, lat, lon] = getnc2('hgt.mon.mean.nc', 'hgt', lims, lev, tim);
var = squeeze(var);
var = annave(var);
[ntim, nlat, nlon] = size(var);

win = [11:16]; nmo = length(win);
hgt = NaN*ones(nyr*nmo, nlat*nlon);
for i = 1:nyr;
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  hgt(ind2,:) = var(ind1,:)-ones(nmo,1)*mean(var(ind1,:));
end
hgt = reshape(hgt, nmo*nyr, nlat, nlon);

[pat1, c1] = regress_eof(hgt, pna2);

% Latent
cd /home/disk/tao/data/nmc.reanalysis/monthly
[var, lat2, lon2] = getnc2('lhtfl.mon.mean.48jul01.nc', 'lhtfl', ...
				       lims, lev, tim);
var = squeeze(var);
var = annave(var);
[ntim, nlat, nlon] = size(var);

win = [11:16]; nmo = length(win);
hgt = NaN*ones(nyr*nmo, nlat*nlon);
for i = 1:nyr; disp(i)
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  hgt(ind2,:) = var(ind1,:)-ones(nmo,1)*mean(var(ind1,:));
end
hgt = reshape(hgt, nmo*nyr, nlat, nlon);

[pat2, c2] = regress_eof(hgt, pna2);
lhf = hgt;

% Sensible
cd /home/disk/tao/data/nmc.reanalysis/monthly
[var, lat3, lon3] = getnc2('shtfl.mon.mean.48jul01.nc', 'shtfl', ...
				       lims, lev, tim);
var = squeeze(var);
var = annave(var);
[ntim, nlat, nlon] = size(var);

win = [11:16]; nmo = length(win);
hgt = NaN*ones(nyr*nmo, nlat*nlon);
for i = 1:nyr; disp(i)
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  hgt(ind2,:) = var(ind1,:)-ones(nmo,1)*mean(var(ind1,:));
end
hgt = reshape(hgt, nmo*nyr, nlat, nlon);

[pat3, c3] = regress_eof(hgt, pna2);
hfl = hgt;

% SW
cd /home/disk/tao/data/nmc.reanalysis/monthly
[var, lat4, lon4] = getnc2('nswrs.mon.mean.48dec00.nc', 'nswrs', ...
				       lims, lev, tim);
var = squeeze(var);
var = annave(var);
[ntim, nlat, nlon] = size(var);

win = [11:16]; nmo = length(win);
hgt = NaN*ones(nyr*nmo, nlat*nlon);
for i = 1:nyr;
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  hgt(ind2,:) = var(ind1,:)-ones(nmo,1)*mean(var(ind1,:));
end
hgt = reshape(hgt, nmo*nyr, nlat, nlon);

[pat4, c4] = regress_eof(hgt, pna2);
swrad = hgt;

% LW
cd /home/disk/tao/data/nmc.reanalysis/monthly
[var, lat5, lon5] = getnc2('nlwrs.mon.mean.48dec00.nc', 'nlwrs', ...
				       lims, lev, tim);
var = squeeze(var);
var = annave(var);
[ntim, nlat, nlon] = size(var);

win = [11:16]; nmo = length(win);
hgt = NaN*ones(nyr*nmo, nlat*nlon);
for i = 1:nyr;
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  hgt(ind2,:) = var(ind1,:)-ones(nmo,1)*mean(var(ind1,:));
end
hgt = reshape(hgt, nmo*nyr, nlat, nlon);

[pat5, c5] = regress_eof(hgt, pna2);
lwrad = hgt;

%  Total heat flux
tot = lhf+hfl+swrad+lwrad;

[pat6, c6] = regress_eof(tot, pna2);

% SLP 
cd /home/disk/tao/data/nmc.reanalysis/monthly
[var, lat, lon] = getnc2('slp.mon.mean.48jun01.nc', 'slp', ...
				       lims, 1, tim);
var = squeeze(var);
var = annave(var);
[ntim, nlat, nlon] = size(var);

win = [11:16]; nmo = length(win);
hgt = NaN*ones(nyr*nmo, nlat*nlon);
for i = 1:nyr;
  ind1 = 12*(i-1)+win;
  ind2 = nmo*(i-1)+[1:nmo];
  hgt(ind2,:) = var(ind1,:)-ones(nmo,1)*mean(var(ind1,:));
end
hgt = reshape(hgt, nmo*nyr, nlat, nlon);

[pat7, c7] = regress_eof(hgt, pna2);

%  Save data
desc1 = [...
    '1 = 500mb HGT'; ...
    '2 = Latent HF'; ...
    '3 = Sensible '; ...
    '4 = Shortwave'; ...
    '5 = Longwave '; ...
    '6 = Tot HFLX '; ...
    '7 = SLP      '];

cd /home/disk/tao/dvimont/matlab/NMC/Data
save HP_PNA_regs.mat lims lat lon lat2 lon2 tim win pna2 pna2 yr mon ...
    pat1 pat2 pat3 pat4 pat5 pat6 c1 c2 c3 c4 c5 c6 desc1 pat7 c7







%  Plot the results
clean

cd /home/disk/tao/dvimont/matlab/NMC/Data
load HP_PNA_regs.mat

figure_tall(1);
global_axes(6.25/2, 8/3, 0.25, 0.5, 1.5);
clf

global_latlon(lat, lon);
FRAME = [0 360 15 90];

sp(2,1); cla;
  mcont3(pat1, 7.5, 'stereo', [90 270]);
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  ylabel('500 mb HGT', 'visible', 'on');
  title('Regression', 'visible', 'on');
  xlabel('Contour:  7.5 m', 'visible', 'on');
  
sp(2,2); cla;
  mcont3(c1, 0.2, 'stereo', [90 270]);
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  xlabel('Contour:  0.2', 'visible', 'on');
  title('Correlation', 'visible', 'on');
  
  
global_latlon(lat2, lon2); FRAME = [0 360 -40 90];
sp(2,3); cla;
  mcont2(-pat6, 5, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  ylabel('NET HFLX', 'visible', 'on');
  xlabel('Contour:  5 W M^-^2', 'visible', 'on');
  
sp(2,4); cla;
  mcont2(-c6, 0.2, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  xlabel('Contour:  0.2', 'visible', 'on');
  
global_latlon(lat2, lon2); FRAME = [0 360 -40 90];
sp(2,5); cla;
  mcont2(-pat2, 5, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  ylabel('Latent', 'visible', 'on');
  xlabel('Contour:  5 W M^-^2', 'visible', 'on');
  
sp(2,6); cla;
  mcont2(-c2, 0.2, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  xlabel('Contour:  0.2', 'visible', 'on');
  

  
figure_tall(2);
global_axes(6.25/2, 8/3, 0.25, 0.5, 1.5);
clf

global_latlon(lat2, lon2); FRAME = [0 360 -40 90];
sp(2,1); cla;
  mcont2(-pat4, 5, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  ylabel('Shortwave', 'visible', 'on');
  xlabel('Contour:  5 W M^-^2', 'visible', 'on');
  title('Regression', 'visible', 'on');
  
sp(2,2); cla;
  mcont2(-c4, 0.2, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  xlabel('Contour:  0.2', 'visible', 'on');
  title('Correlation', 'visible', 'on');

global_latlon(lat2, lon2); FRAME = [0 360 -40 90];
sp(2,3); cla;
  mcont2(-pat3, 5, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  ylabel('Sensible', 'visible', 'on');
  xlabel('Contour:  5 W M^-^2', 'visible', 'on');
  
sp(2,4); cla;
  mcont2(-c3, 0.2, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  xlabel('Contour:  0.2', 'visible', 'on');

global_latlon(lat2, lon2); FRAME = [0 360 -40 90];
sp(2,5); cla;
  mcont2(-pat5, 5, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  ylabel('Longwave', 'visible', 'on');
  xlabel('Contour:  5 W M^-^2', 'visible', 'on');
  
sp(2,6); cla;
  mcont2(-c5, 0.2, 'giso');
  mapfill('under', 0.8); gridm on; framem2; tightmap2;
  set(gca, 'visible', 'off');
  xlabel('Contour:  0.2', 'visible', 'on');