Global Index (short | long) | Local contents | Local Index (short | long)
Plot the data
This script calls | |
---|---|
clean cd /home/disk/hayes2/dvimont/csiro/data/Individual_levels lims = [120 260 20 60]; tim = 1:(12*500); filin = 'temp_M_L1_1000_years_new.nc'; varn = 'temp'; nc = netcdf(filin, 'nowrite'); [lat, lon, yk, xk] = get_nclatlon2(lims, nc); sst = nc{varn}(tim,:,yk,xk); nc = close(nc); [tem, tem, tem, lm] = getll('temp', lims); sst = squeeze(sst); [sst, clim] = annave(sst); [ntim, nlat, nlon] = size(sst); sst = reshape(sst, ntim, nlat*nlon); sst2 = rave(sst, 3); kp = find(~isnan(lm)); sst2 = sst2(:, kp); sst2 = detrend(sst2); lags = [0:36]; nlag = length(lags); corsst = repmat(NaN, [12, 36, length(kp)]); covsst = repmat(NaN, [12, 36, length(kp)]); for i = 1:12; i ind1 = i:12:(ntim-36); dat1 = remove_mean(sst2(ind1,:)); dat1b = standardize(dat1); for j = 1:nlag; ind2 = (i-1)+lags(j)+[1:12:(ntim-36)]; dat2 = remove_mean(sst2(ind2,:)); dat2b = standardize(dat2); for k = 1:length(kp); corsst(i, j, k) = dat1b(:,k)'*dat2b(:,k)/(length(ind1)-1); covsst(i, j, k) = dat1(:,k)'*dat2(:,k)/(length(ind1)-1); end end end cd ~/matlab/CSIRO/DYN/Data save reemerge.mat corsst covsst lims kp tim nlat nlon lat lon lags cd ~/matlab/CSIRO/DYN/Data load reemerge.mat default_global; FRAME = lims; color_trans; colormap(cmap); figure(1); fo(1); clf; tem = NaN*ones(nlat, nlon); dg(lat-mean(diff(lat))/2, lon-mean(diff(lon))/2); for i = 1:12; subplot(6,2,i); axesm('mapprojection', 'mollweid', 'origin', ... [mean(FRAME(3:4)), mean(FRAME(1:2))]); tem(kp) = corsst(6,i,:); [c, h] = surfacem(YAX*ones(1, nlon), ones(nlat,1)*XAX', tem); caxis([-1 1]); axis_limits(100); end figure(1); fl(1); clf; color_trans; colormap(cmap); tem = squeeze(mean(corsst, 3)); subplot(1,1,1); contourf(1:nlag, 1:12, tem, [-1:.1:1]); caxis([-1 1]); % Do the same for obs: clean cd /home/disk/tao/data/nmc.reanalysis load landmask.mat cd /home/disk/tao/data/nmc.reanalysis/monthly lims = [120 260 20 60]; tim = 1:624; filin = 'air.mon.mean.sfc.nc'; varn = 'air'; nc = netcdf(filin, 'nowrite'); [lat, lon, yk, xk] = get_nclatlon(lims, nc); sst = nc{varn}(tim,yk,xk); nc = close(nc); lm = lm(yk, xk); lm(lm==-1)=NaN; sst = squeeze(sst); [sst, clim] = annave(sst); [ntim, nlat, nlon] = size(sst); sst = reshape(sst, ntim, nlat*nlon); sst2 = rave(sst, 3); kp = find(~isnan(lm)); sst2 = sst2(:, kp); lags = [0:36]; nlag = length(lags); corsst = repmat(NaN, [12, 36, length(kp)]); covsst = repmat(NaN, [12, 36, length(kp)]); for i = 1:12; i ind1 = i:12:(ntim-36); dat1 = remove_mean(sst2(ind1,:)); dat1b = standardize(dat1); for j = 1:nlag; ind2 = (i-1)+lags(j)+[1:12:(ntim-36)]; dat2 = remove_mean(sst2(ind2,:)); dat2b = standardize(dat2); for k = 1:length(kp); corsst(i, j, k) = dat1b(:,k)'*dat2b(:,k)/(length(ind1)-1); covsst(i, j, k) = dat1(:,k)'*dat2(:,k)/(length(ind1)-1); end end end cd ~/matlab/CSIRO/DYN/Data save reemerge_ncep.mat corsst covsst lims kp tim nlat nlon lat lon lags [xk, yk] = figure(1); fl(1); clf; color_trans; colormap(cmap); tem = squeeze(mean(corsst, 3)); subplot(1,1,1); contourf(1:18, 1:12, tem(:,1:18), [-1:.1:1]); caxis([-1 1]); default_global; FRAME = lims; color_trans; colormap(cmap); figure(1); fo(1); clf; tem = NaN*ones(nlat, nlon); dg(lat-mean(diff(lat))/2, lon-mean(diff(lon))/2); for i = 1:12; subplot(6,2,i); axesm('mapprojection', 'mollweid', 'origin', ... [mean(FRAME(3:4)), mean(FRAME(1:2))]); tem(kp) = corsst(6,i+12,:); [c, h] = surfacem(YAX*ones(1, nlon), ones(nlat,1)*XAX', tem); caxis([-1 1]); gridm on; axis_limits(100); end