Global Index (short | long) | Local contents | Local Index (short | long)
This script calls | |
---|---|
cd /home/disk/hayes/dvimont/ccm3.6/data/SR filin = 'SR_t42x21_sst.nc'; nc = netcdf(filin, 'nowrite'); lon = nc{'lon'}(:); lat = nc{'lat'}(:); sst = nc{'SST'}(:); nc = close(nc); get_global define_global subplot(2,1,1) gcont(squeeze(mean(sst)), [-4:2:50]); dc ssta = zeros(64); clim = 30; xk = find(lon <= 120); ssta(:,xk) = (exp(-1*(1/40) * abs(lat)) .* cos(pi/clim * lat)) *... exp(-1*((1/4)*(lon(xk)-120)).^2)'; xk = find(lon > 120 & lon < 277.5); ssta(:,xk) = (exp(-1*(1/40) * abs(lat)) .* cos(pi/clim * lat)) *... ones(1, length(xk)); xk = find(lon >= 277.5); ssta(:,xk) = (exp(-1*(1/40) * abs(lat)) .* cos(pi/clim * lat)) *... exp(-1*((1/4)*(lon(xk)-277.5)).^2)'; [ntim, nlat, nlon] = size(sst); xk = find(lon > 120 & lon < 277.5); temp1 = reshape(shiftdim(sst(:,:,xk), 2), length(xk), nlat*ntim); temp2 = sign(cos(pi/clim * lat)); temp2 = ones(ntim,1) * temp2'; temp2 = ones(length(xk), 1) * reshape(temp2, 1, ntim*nlat); amp = abs(max(temp1 .* temp2)); amp = ones(nlat,1) * amp; amp = shiftdim(reshape(amp, nlon, ntim, nlat), 1); amp = reshape(amp - sst, ntim, nlat*nlon); ssta = amp .* (ones(12, 1) * reshape(abs(ssta), 1, nlat*nlon)); ssta = reshape(ssta, ntim, nlat, nlon); yk = find(abs(lat) > 60); ssta(:, yk, :) = zeros(ntim, length(yk), nlon); sstnew = sst + ssta; sstnew(find(sst == min(min(min(sst))))) = sst(find(sst == min(min(min(sst))))); subplot(2,1,2) gcont(squeeze(mean(sstnew)), [-4:2:50]); dc subplot(2,1,2) gcont(squeeze(mean(sstnew - sst)), [-10:1:10]); dc filin = 'SR_t42x21_sst.nc'; nc = netcdf(filin, 'write'); nc{'SST'}(:) = sstnew; nc = close(nc);