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