Documentation of define_trop_GR


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


Help text

[wsst] = getnc('gr_warm_sst.nc', 'SST');
[csst] = getnc('gr_cold_sst.nc', 'SST');
[sst ] = getnc('T42M5079.nc'   , 'SST');
[lat, lon] = getll('gr_warm_sst.nc');
[wsst] = getnc('wgr_TPAC_t31.nc', 'SST');
[csst] = getnc('cgr_TPAC_t31.nc', 'SST');
[sst ] = getnc('sst5093t31.nc'   , 'SST');
[lat, lon] = getll('sst5093t31.nc');

Cross-Reference Information

This script calls

Listing of script define_trop_GR


clear
if 0
  cd /home/disk/hayes/dvimont/ccm3.6/data/GR

nc = netcdf('wgr_TPAC_t31.nc', 'nowrite');
  wsst = nc{'SST'}(:);
nc = close(nc);
nc = netcdf('cgr_TPAC_t31.nc', 'nowrite');
  csst = nc{'SST'}(:);
nc = close(nc);
nc = netcdf('sst5093t31.nc', 'nowrite');
  wsst = nc{'SST'}(:);
nc = close(nc);
nc = netcdf('sst5093t31.nc', 'nowrite');
  lat = nc{'lat'}(:);
  lon = nc{'lon'}(:);
nc = close(nc);

end

if 1
  cd /home/disk/tao/dvimont/matlab/CCM/GR/DATA
  load gr_pattern.mat
  cd /home/disk/hayes/dvimont/ccm3.6/data/GR
nc = netcdf('sst5093t31.nc', 'nowrite');
  lat31 = nc{'lat'}(:);
  lon31 = nc{'lon'}(:);
  sst = nc{'SST'}(:);
nc = close(nc);
end


get_global
default_global

ctpat = gr_pat;
ctpat(find(isnan(ctpat))) = zeros(size(find(isnan(ctpat))));

%  Interpolate to CCM grid:

ctpat2 = [ctpat(:,((nlon-4):nlon)) ctpat ctpat(:,1:5)];
lon2 = [(lon((nlon-4):nlon)-360); lon; (lon(1:5)+360)];
ctpat3 = interp2(lon2, lat, ctpat2, lon31, lat31');
ctpat3(find(isnan(ctpat3))) = zeros(size(find(isnan(ctpat3))));

XAX = lon31;
YAX = lat31;
FRAME = [0 360 -90 90];

figure(1)
sp(1)
     gcont(squeeze(ctpat3(:,:)), [-2:.1:2])
     dc
     hold on
     line([295 260], [0 25])
     line([295 295], [-25 0])
     line([145 295], [-25 -25])
     line([145 110], [-25 0])
     line([110 110], [0 25])
     line([110 260], [25 25])
     hold off
sp(2)
     gcont(squeeze(ctpat3(:,:)), [-2:.1:2])
     dc

%[ntim, nlat, nlon] = size(sst);
ntim = 12; nlat = 48; nlon = 48;

ssta = zeros(nlat, nlon);
lat = lat31;
lon = lon31;

[xk, yk] = keep_var([110 260 0 25], lon, lat);
ssta(yk, xk) = ones(length(yk), length(xk));
[xk, yk] = keep_var([145 295 -25 0], lon, lat);
ssta(yk, xk) = ones(length(yk), length(xk));

[xk, yk] = keep_var([260 295 0 25]);
for i = 1:length(yk);
  xk = find(lon >= 260 & lon <= (295 - (35/25)*lat(yk(i))))
  ssta(yk(i), xk) = ones(1, length(xk));
end

[xk, yk] = keep_var([110 145 -25 0], lon, lat);
for i = length(yk):-1:1;
  xk = find(lon <= 145 & lon >= (110 - (35/25)*lat(yk(i))))
  ssta(yk(i), xk) = ones(1, length(xk));
end

ssta = myrunning_ave(myrunning_ave(ssta, 3), 3);
ssta = (myrunning_ave(myrunning_ave(ssta', 3), 3))';

figure(1)
sp(2)
     gcont(squeeze(ctpat3(:,:)), [-2:.1:2])
     dc
     hold
     contour(XAX, YAX, ssta, [-2:.2:2],'k');
     hold off

newctpat = zeros(ntim, nlat, nlon);
for i = 1:ntim
  newctpat(i,:,:) = ssta .* ctpat3;
end

figure(1)
sp(1)
     gcont(ctpat3, [-2:.1:2])
     dc
     hold on
     contour(XAX, YAX, ssta, [-2:.2:2], 'k')
     hold off
     title('Original GR forcing pattern, with Weighting Function Overlay')
sp(2)
     gcont(squeeze(mean(newctpat(:,:,:))), [-2:.1:2])
     dc
     title('New GR forcing pattern, Tropical Pacific only')
     xlabel('Contour Interval:  0.1 K (std)^-^1')

cd /home/disk/tao/dvimont/matlab/CCM/GR/GR_Plots

cd /home/disk/hayes/dvimont/ccm3.6/data/GR

sstw = sst;
filin = 'wgr_TPAC_t31.nc';
nc = netcdf(filin, 'write');
  noice = find(sst >= -1.799);
  sstw(noice) = sst(noice) + newctpat(noice);
  nc{'SST'}(:,:,:) = sstw;
nc = close(nc);

sstw = sst;
filin = 'cgr_TPAC_t31.nc';
nc = netcdf(filin, 'write');
  noice = find(sst >= -1.799);
  sstw(noice) = sst(noice) - newctpat(noice);
  nc{'SST'}(:,:,:) = sstw;
nc = close(nc);