Global Index (short | long) | Local contents | Local Index (short | long)
[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');
| This script calls | |
|---|---|
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);