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);