Documentation of flux_sst_corr


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


Help text

  Look at the point by point correlation maps between SST and different
  components of the heat flux.

Cross-Reference Information

This script calls

Listing of script flux_sst_corr



clean

%  Load data
lims = [89 302 -20 62];
tim = 1:636;

cd /home/disk/tao/data/nmc.reanalysis/monthly
[sst, lat, lon] = getnc2('skt.mon.mean.nc', 'skt', lims, 1, tim);

[lht, lat, lon] = getnc2('lhtfl.mon.mean.nc', 'lhtfl', lims, 1, tim);
[sht, lat, lon] = getnc2('shtfl.mon.mean.48jul01.nc', 'shtfl', ...
				       lims, 1, tim);
[swf, lat, lon] = getnc2('nswrs.mon.mean.48dec00.nc', 'nswrs', ...
				       lims, 1, tim);
[lwf, lat, lon] = getnc2('nlwrs.mon.mean.48dec00.nc', 'nlwrs', ...
				       lims, 1, tim);

[ntim, nlat, nlon] = size(sst);
sst2 = repmat(NaN, [ntim, nlat/2, nlon/3]);
lht2 = sst2; sht2 = sst2;
swf2 = sst2; lwf2 = sst2;
for i = 1:(nlat/2);
  ind1 = 2*(i-1)+[1:2];
  disp(['Latitude:  ' num2str(lat(2*i))])
  for j = 1:(nlon/3);
    ind2 = 3*(j-1)+[1:3];
    sst2(:,i,j) = mean(mean(shiftdim(sst(:,ind1,ind2), 1)));
    lht2(:,i,j) = mean(mean(shiftdim(lht(:,ind1,ind2), 1)));
    sht2(:,i,j) = mean(mean(shiftdim(sht(:,ind1,ind2), 1)));
    swf2(:,i,j) = mean(mean(shiftdim(swf(:,ind1,ind2), 1)));
    lwf2(:,i,j) = mean(mean(shiftdim(lwf(:,ind1,ind2), 1)));
  end
end
for i = 1:(nlat/2);
  ind1 = 2*(i-1)+[1:2];
  lat2(i) = mean(lat(ind1));
end
for j = 1:(nlon/3);
  ind2 = 3*(j-1)+[1:3];
  lon2(j) = mean(lon(ind2));
end

%  shrink data

[sst, clim1] = annave(sst2);
[lht, clim2] = annave(lht2);
[sht, clim3] = annave(sht2);
[swf, clim4] = annave(swf2);
[lwf, clim5] = annave(lwf2);

%  Get dsst

dsst = sst(3:636,:,:)-sst(1:634,:,:);

%  Get correlations
[ntim, nlat, nlon] = size(sst); ntim2 = ntim-2;
tim1 = sort([10:12:ntim2 11:12:ntim2 12:12:ntim2 13:12:ntim2 ...
	     14:12:ntim2 15:12:ntim2]);
tim2 = tim1+1;

%tim1 = 1:634;
%tim2 = 2:635;

c1pat = repmat(NaN, [4 nlat, nlon]);
r1pat = c1pat;
for i = 1:nlat;
  disp(['Latitude:  ' num2str(lat2(i))]);
  for j = 1:nlon;
    [r1pat(1,i,j), c1pat(1,i,j)] = regress_eof(dsst(tim1,i,j), ...
					       lht(tim2,i,j), 0);
    [r1pat(2,i,j), c1pat(2,i,j)] = regress_eof(dsst(tim1,i,j), ...
					       sht(tim2,i,j), 0);
    [r1pat(3,i,j), c1pat(3,i,j)] = regress_eof(dsst(tim1,i,j), ...
					       swf(tim2,i,j), 0);
    [r1pat(4,i,j), c1pat(4,i,j)] = regress_eof(dsst(tim1,i,j), ...
					       lwf(tim2,i,j), 0);
  end
end

%  Plot results
cd ~/matlab/Wallace; link_toolboxes;

figure_tall(1);
global_axes(6, 3, .5, .5, 1.5);
global_latlon(lat2, lon2, [100 300 -20 60]);
sc = 0.5;

num = 1;
subplot2(1,1); cla
  map_axis('giso');
  [c, h] = map_contour_pn(r1pat(num,:,:), .1);
  hold on;
    h2 = map_surface(c1pat(num,:,:), -0.5);
  hold off;
  caxis([-1 1]*sc);
  lm = fill_landmap('over', 0.5*[1 1 1]);
  set(lm, 'facecolor', 'none');
  gridm on; framem; set(gca, 'visible', 'off');
  cb = colorbar2('vert');

num = 2;
subplot2(1,2); cla
  map_axis('giso');
  [c, h] = map_contour_pn(r1pat(num,:,:), .1);
  hold on;
    h2 = map_surface(c1pat(num,:,:), -0.5);
  hold off;
  caxis([-1 1]*sc);
  lm = fill_landmap('over', 0.5*[1 1 1]);
  set(lm, 'facecolor', 'none');
  gridm on; framem; set(gca, 'visible', 'off');
  cb = colorbar2('vert');


figure_tall(2);
global_axes(6, 3, .5, .5, 1.5);
global_latlon(lat2, lon2, [100 300 -20 60]);

num = 3;
subplot2(1,1); cla
  map_axis('giso');
  [c, h] = map_contour_pn(r1pat(num,:,:), .1);
  hold on;
    h2 = map_surface(c1pat(num,:,:), -0.5);
  hold off;
  caxis([-1 1]*sc);
  lm = fill_landmap('over', 0.5*[1 1 1]);
  set(lm, 'facecolor', 'none');
  gridm on; framem; set(gca, 'visible', 'off');
  cb = colorbar2('vert');

num = 4;
subplot2(1,2); cla
  map_axis('giso');
  [c, h] = map_contour_pn(r1pat(num,:,:), .1);
  hold on;
    h2 = map_surface(c1pat(num,:,:), -0.5);
  hold off;
  caxis([-1 1]*sc);
  lm = fill_landmap('over', 0.5*[1 1 1]);
  set(lm, 'facecolor', 'none');
  gridm on; framem; set(gca, 'visible', 'off');
  cb = colorbar2('vert');