Global Index (short | long) | Local contents | Local Index (short | long)
Edit time:
This script calls | |
---|---|
cd /home/disk/hayes/dvimont/ccm3.6/data/CT [wsst] = getnc('ct_warm_sst.nc', 'SST'); [csst] = getnc('ct_cold_sst.nc', 'SST'); [sst ] = getnc('T42M5079.nc' , 'SST'); [lat, lon] = getll('ct_warm_sst.nc'); sst = [sst(9:12,:,:); sst(1:4,:,:)]; ctpat = wsst - sst; figure(1) sp(1) gcont(squeeze(ctpat(1,:,:)), [-2:.2: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(ctpat(1,:,:)), [-2:.2:2]) dc [ntim, nlat, nlon] = size(sst); ssta = zeros(nlat, nlon); [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(ctpat(1,:,:)), [-2:.2: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 .* squeeze(ctpat(i,:,:)); end figure(1) sp(1) gcont(squeeze(mean(ctpat(:,:,:))), [-2:.2:2]) dc hold on contour(XAX, YAX, ssta, [-2:.2:2], 'k') hold off title('Original CT forcing pattern, with Weighting Function Overlay') sp(2) gcont(squeeze(mean(newctpat(:,:,:))), [-2:.2:2]) dc title('New CT forcing pattern, Tropical Pacific only') xlabel('Contour Interval: 0.2 K (std)^-^1') cd /home/disk/tao/dvimont/matlab/CCM/CT/CT_Plots cd /home/disk/hayes/dvimont/ccm3.6/data/CT filin = 'wct_TPAC.nc'; nc = netcdf(filin, 'write'); sstw = nc{'SST'}(:); sstw = sstw + newctpat; nc{'SST'}(:,:,:) = sstw; nc = close(nc); filin = 'cct_TPAC.nc'; nc = netcdf(filin, 'write'); sstw = nc{'SST'}(:); sstw = sstw - newctpat; nc{'SST'}(:,:,:) = sstw; nc = close(nc); [date, time] = getnc('ct_warm_sst.nc', 'date', 'time'); filin = 'wct_TPAC.nc'; nc = netcdf(filin, 'write'); nc{'time'}(:) = time; nc{'date'}(:) = date; nc = close(nc); filin = 'cct_TPAC.nc'; nc = netcdf(filin, 'write'); nc{'time'}(:) = time; nc{'date'}(:) = date; nc = close(nc);