Global Index (short | long) | Local contents | Local Index (short | long)
file_base = [1:73];
This script calls | |
---|---|
clean file_base = [7:48]; ntim = length(file_base); fint = []; for i = 1:6; fint = [fint 73*(i-1)+file_base]; end % Start with earth lims = [0 360 20 90]; tim = 1:5; cd /home/disk/hayes2/dvimont/ccm/ccm3.6/run/sun/HT/HTRAE/cdtem_e %cd /home/disk/hayes2/dvimont/ccm/ccm3.6/run/sun/HT/EARTH/cdtem_e % Get parameters nc = netcdf('ha0001.nc', 'nowrite'); [lat, lon, yk, xk] = get_nclatlon(lims, nc); nc = close(nc); nlat = length(lat); nlon = length(lon); zdat = repmat(NaN, [length(fint) nlat nlon]);; for i = 1:length(fint); disp(fint(i)) if fint(i) < 10; fyr = ['000' num2str(fint(i))]; elseif fint(i) < 100; fyr = ['00' num2str(fint(i))]; elseif fint(i) < 1000; fyr = ['0' num2str(fint(i))]; end fname = ['ha' fyr '.nc']; nc = netcdf(fname, 'nowrite'); z = nc{'Z500', 1}(:, yk, xk); nc = close(nc); z(abs(z)>1e4)=NaN; zdat(i, :, :) = mean2(z); end % Remove climatology z = repmat(NaN, [6 ntim nlat nlon]); for i = 1:6; ind = ntim*(i-1)+[1:ntim]; z(i,:,:,:) = zdat(ind,:,:); end z = mean2(z); z = squeeze(z); z = rave(z, 3); for i = 1:6; ind = ntim*(i-1)+[1:ntim]; zdat(ind,:,:) = zdat(ind,:,:) - z; end % Get rotated eofs z = zdat; z = rave(z, 3); z = cosweight(z, lat); z = reshape(z, ntim*6, nlat*nlon); z(isnan(z)) = 0; [lam, lds, pcs, per] = eof_dan(z, 20); % Rotate nkp = 15; wgt = diag(lds'*lds); rlds = (ones(size(lds, 1), 1)*(1./sqrt(wgt'))) .* lds; [frot, var] = varimax(rlds, lam(1:nkp), nkp, 1, 'N'); prot = z*frot; prot = standardize(prot); % Get patterns pat1 = repmat(NaN, [nkp, nlat, nlon]); c1 = pat1; pat2 = pat1; c2 = pat1; for i = 1:6 disp(i) [pat1(i,:,:), c1(i,:,:)] = regress_eof(zdat, pcs(:,i), 0); [pat2(i,:,:), c2(i,:,:)] = regress_eof(zdat, prot(:,i), 0); end % Plot results global_axes(2.75, 2.75, .5, .75/2, 1); global_latlon(lat, lon, lims); % EARTH figure_tall(1); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn((squeeze(pat1(i,:,:))), 7.5, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(per(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 EOFs_EARTH.ps figure_tall(2); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn((squeeze(pat2(i,:,:))), 7.5, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(var(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 REOFs_EARTH.ps cint = .1; figure_tall(3); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn(fliplr(squeeze(c1(i,:,:))), cint, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(per(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 EOFs_HTRAE.ps figure_tall(4); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn(fliplr(squeeze(c2(i,:,:))), cint, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(var(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 REOFs_HTRAE.ps % Try this again with SLP clean cd ~/matlab/CCM/Htrea/Data2 load SLP_monthly_earth.mat; slp1 = slp; load SLP_monthly_htrae.mat; slp2 = slp; % Manipulate slp1 = annave(slp1); slp2 = annave(slp2); lims = [0 360 20 90]; [xk, yk] = keep_var(lims, lon, lat); var1 = slp1(:, yk, xk); var2 = slp2(:, yk, xk); lon1 = lon(xk); lat1 = lat(yk); var1 = cosweight(var1, lat1); var2 = cosweight(var2, lat1); [ntim, nlat, nlon] = size(var1); var1 = reshape(var1, ntim, nlat*nlon); var2 = reshape(var2, ntim, nlat*nlon); % Get eofs [lam1, lds1, pcs1, per1] = eof_dan(var1, 25); [lam2, lds2, pcs2, per2] = eof_dan(var2, 25); % Rotate nkp = 6; wgt = diag(lds1'*lds1); rlds1 = (ones(size(lds1, 1), 1)*(1./sqrt(wgt'))) .* lds1; [frot1, vrot1] = varimax(rlds1, lam1(1:nkp), nkp, 1, 'N'); prot1 = var1*frot1; prot1 = standardize(prot1); wgt = diag(lds2'*lds2); rlds2 = (ones(size(lds2, 1), 1)*(1./sqrt(wgt'))) .* lds2; [frot2, vrot2] = varimax(rlds2, lam2(1:nkp), nkp, 1, 'N'); prot2 = var2*frot2; prot2 = standardize(prot2); % Get regressions [ntim, nlat, nlon] = size(slp1); pat1a = repmat(NaN, [6 nlat nlon]); pat2a = pat1a; pat1b = pat1a; pat2b = pat1a; c1a = pat1a; c2a = c1a; c1b = c1a; c2b = c1a; for i = 1:6; disp(i) [pat1a(i,:,:), c1a(i,:,:)] = regress_eof(slp1, pcs1(:,i)); [pat1b(i,:,:), c1b(i,:,:)] = regress_eof(slp1, prot1(:,i)); [pat2a(i,:,:), c2a(i,:,:)] = regress_eof(slp2, pcs2(:,i)); [pat2b(i,:,:), c2b(i,:,:)] = regress_eof(slp2, prot2(:,i)); end % Plot data cd ~/matlab/Wallace; link_toolboxes; figure_tall(1); clf; global_axes(2.75, 2.75, .5, .75/2, 1); global_latlon(lat, lon, lims); % EARTH figure_tall(1); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn((squeeze(pat1a(i,:,:))), 125, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(vrot1(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 SLP_EOFs_EARTH.ps figure_tall(2); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn((squeeze(pat1b(i,:,:))), 125, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(pvar1(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 SLP_REOFs_EARTH.ps % HTRAE figure_tall(3); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn((squeeze(pat2a(i,:,:))), 125, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(per1(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 SLP_EOFs_HTRAE.ps figure_tall(2); clf; for i = 1:6; subplot2(2,i); cla map_axis('stereo', [90 270]); [c, h] = map_contour_pn((squeeze(pat2a(i,:,:))), 125, 'nozero'); fill_landmap('under'); gridm on; framem; tightmap2; set(gca, 'visible', 'off'); title(['EOF' num2str(i) '; ' num2str(round(var(i))) '%'], ... 'visible', 'on', 'fontsize', 12); end cd ~/matlab/CCM/Htrea/Figs_Talk print -dpsc2 SLP_REOFs_EARTH.ps