Global Index (short | long) | Local contents | Local Index (short | long)
Get 20deg data from saved data
| This script calls | |
|---|---|
clear
cd /home/disk/hayes2/dvimont/csiro/matlab_data/20Deg_Isotherm/
ind = 1;
ttit = ['101 - 550'];
if ind == 1;
load 20degiso_yr101-550_temp_noave.mat
lag = -60;
ttit = ['101 - 550'];
elseif ind == 2;
load 20degiso_yr551-1000_temp_noave.mat
lag = 90;
ttit = ['551 - 1000'];
end
ntim = length(tim); nlat = length(lat); nlon = length(lon);
ctlim = [110 300 -60 60];
default_global
% Get variables for regressions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cd /home/disk/hayes2/dvimont/csiro/data
filin = ['temp_L1-10.nc'];
nc = netcdf(filin, 'nowrite');
lind = 1:10;
depth = nc{'depth'}(lind);
nc = close(nc);
% Get regressions of fluxes:
cd /home/disk/hayes2/dvimont/csiro/data
nc = netcdf('zonal_stress_A_1000_years.nc', 'nowrite');
lat1 = nc{'latitude'}(:);
lon1 = nc{'longitude'}(:);
[xk, yk] = keep_var(FRAME, lon1, lat1);
taux = nc{'smfzon'}(tim,yk,xk);
mv = nc{'smfzon'}.missing_value(:);
nc = close(nc);
taux(find(taux == mv)) = NaN * ones(size(find(taux == mv)));
nc = netcdf('merid_stress_A_1000_years.nc', 'nowrite');
tauy = nc{'smfmer'}(tim,yk,xk);
mv = nc{'smfmer'}.missing_value(:);
nc = close(nc);
tauy(find(tauy == mv)) = NaN * ones(size(find(tauy == mv)));
lat1 = lat1(yk); lon1 = lon1(xk);
nc = netcdf('heat_flux_A_1000_years.nc', 'nowrite');
lat2 = nc{'latitude'}(:);
lon2 = nc{'longitude'}(:);
[xk, yk] = keep_var(FRAME, lon2, lat2);
hflx = nc{'stfht'}(tim,yk,xk);
mv = nc{'stfht'}.missing_value(:);
nc = close(nc);
hflx(find(hflx == mv)) = NaN * ones(size(find(hflx == mv)));
lat2 = lat2(yk); lon2 = lon2(xk);
nc = netcdf('temp_L1-10.nc', 'nowrite');
lat3 = nc{'latitude'}(:);
lon3 = nc{'longitude'}(:);
[xk, yk] = keep_var(FRAME, lon3, lat3);
clear temp
for i = 1:2;
temp(:,i,:,:) = nc{'temp'}(tim,(4*(i-1)+1),yk,xk);
end
mv = nc{'temp'}.missing_value(:);
nc = close(nc);
temp(find(temp == mv)) = NaN * ones(size(find(temp == mv)));
lat3 = lat3(yk); lon3 = lon3(xk);
depth = depth([1 5]);
[ntim, nlev, nlat, nlon] = size(temp);
f = (2*7.292e-5)*sin(lat1*pi/180);
clear curlt;
for i = 1:ntim;
temx = squeeze(taux(i,:,:)) ./ (f * ones(1, length(lon1)));
temy = squeeze(tauy(i,:,:)) ./ (f * ones(1, length(lon1)));
curlt(i,:,:) = sph_curl(temx, temy, lon1, lat1);
% temx = squeeze(taux(i,:,:)) / 10;
% temy = squeeze(tauy(i,:,:)) / 10;
% curlt(i,:,:) = sph_div(temx, temy, lon1, lat1);
end
yk = keep_var3([-8 8], lat1);
curlt(:,yk,:) = NaN;
curlt = (1 / (10 * 1000)) * curlt; % This is in units m/s (Ekman vertical velocity)
hflx = reshape(hflx, ntim, size(hflx,2)*size(hflx,3));
curlt = reshape(curlt, ntim, size(curlt,2)*size(curlt,3));
taux = reshape(taux, ntim, size(taux,2)*size(taux,3));
temp = reshape(temp, ntim, nlev, size(temp,3)*size(temp,4));
[hflx, clim] = remove_mean(hflx);
[taux, clim] = remove_mean(taux); kpx = find(~isnan(clim));
[curlt, clim] = remove_mean(curlt); kpy = find(~isnan(clim));
[temp, clim] = remove_mean(temp);
[temp20, clim] = remove_mean(temp20);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Load the pcs %%%%%%%%%%%%%%%%%%%%%%%%%%%
biff = 1;
cd /home/disk/hayes2/dvimont/csiro/matlab_data/Heat_Content/
if biff == 1;
load HP8_L1-7_CEOF.mat
yr1 = 10; yr2 = 10; tit = ['HP ( < 8 yr ) '];
ptit = 'HP8';
elseif biff == 3;
load LP10_L1-7_CEOF.mat
yr1 = 10; yr2 = 60; tit = ['LP ( > 10 yr ) '];
ptit = 'LP10';
elseif biff == 5;
load LP8_L1-7_CEOF.mat
yr1 = 5; yr2 = 20; tit = ['LP ( > 8 yr ) '];
ptit = 'LP10';
elseif biff == 7;
load RAW_L1-7_CEOF.mat
tit = ['Unfiltered Data '];
ptit = 'RAW';
yr1 = 5; yr2 = 20;
end
% Plot the regression maps:
timeseries = sqrt(2)*pcs(:,1)./std(pcs(:,1));
cint1 = [0.05 0.05 0.05 1 1 1];
lag = 0; lg = lag*pi/180;
num = 1; nfrm = 6;
for i = [1 2 4 5 6];
%for i = 3;
figure(i); clf; figure_orient(1);
if i <= 2;
tem1 = squeeze(temp(:,i,:));
cint = cint1(i); clev = [-5:cint:5];
xlab = [num2str(cint) ' K (std)^-^1'];
XAX = lon3; YAX = lat3;
nlat = length(YAX); nlon = length(XAX);
tit2 = [num2str(depth(i)/100) 'm Temperature'];
elseif i == 3;
XAX = lon; YAX = lat;
nlat = length(YAX); nlon = length(XAX);
tem1 = NaN * ones(ntim, nlat*nlon);
tem1(:,kp20) = temp20;
cint = cint1(i); clev = [-5:cint:5];
xlab = [num2str(cint) ' K (std)^-^1'];
tit2 = ['20 deg T'''];
elseif i == 4;
tem1 = 1e7*curlt;
% tem1 = 1e9*curlt;
cint = cint1(i); clev = [-20:cint:20];
xlab = [num2str(cint) ' x 10^-^7 m s^-^1'];
% xlab = [num2str(cint) ' x 10^-^9 N m^-^3'];
XAX = lon1; YAX = lat1;
nlat = length(YAX); nlon = length(XAX);
tit2 = ['W_e ( Ekman Upwelling )'];
% tit2 = ['Div ( Wind Stress )'];
elseif i == 5;
tem1 = 1e2*taux;
cint = cint1(i); clev = [-40:cint:40];
XAX = lon1; YAX = lat1;
nlat = length(YAX); nlon = length(XAX);
tit2 = ['Zonal Wind Stress'];
xlab = [num2str(cint) ' x 10^-^3 N m^-^2'];
elseif i == 6;
tem1 = -1*hflx;
cint = cint1(i); clev = [-40:cint:40];
xlab = [num2str(cint) ' W m^-^2 (std)^-^1'];
XAX = lon2; YAX = lat2;
nlat = length(YAX); nlon = length(XAX);
tit2 = ['TOT Heat Flux (Pos. Up)'];
end;
% Filter Data:
[b1, a1] = butter(6, 2/yr1); [b2, a2] = butter(6, 2/yr2);
if biff < 3 | biff == 5;
tem1 = tem1 - filtfilt(b1, a1, tem1); disp('HP Filtered');
elseif biff > 2 & biff < 5;
tem1 = filtfilt(b1, a1, tem1); disp('LP Filtered');
elseif biff ~= 7
tem1 = filtfilt(b1, a1, tem1) - filtfilt(b2, a2, tem1); disp('BP Filtered');
end
for ind = 1:nfrm;
wgt = conj(exp(j * ((ind-1) * pi/nfrm + lg) ));
temtim = real(wgt .* timeseries);
tem = temtim'*tem1./ntim;
ccoef = corr_sig(temtim, tem1);
tem = reshape(tem, nlat, nlon);
tstat = reshape(abs(ccoef), nlat, nlon);
subplot(3,2,ind);
cla;
gshade2(tstat, 0.25); hold on;
gcont(tem, clev); hold off;
dc;
title(['Phase = ' num2str((ind-1)*180/nfrm + lag)]);
if ind >= 5;
xlabel(['Cont. Int.: ' xlab]);
end
end
subplot(3,2,3);
ylabel([tit ': ' tit2 ' regressed on CPC1 of 0:240m HC, years 101-550;'...
' ( r >= 0.25 shaded )']);
if 1;
cd /home/disk/tao/dvimont/matlab/CSIRO/Heat/Plot_Ceof
if i == 1;
eval(['print -dps2 ' ptit '_T1_CPC1_HC_L1-7.ps']);
elseif i == 2;
eval(['print -dps2 ' ptit '_T5_CPC1_HC_L1-7.ps']);
elseif i == 3;
eval(['print -dps2 ' ptit '_T20prime_CPC1_HC_L1-7.ps']);
elseif i == 4;
eval(['print -dps2 ' ptit '_Wekman_CPC1_HC_L1-7.ps']);
elseif i == 5;
eval(['print -dps2 ' ptit '_TauX_CPC1_HC_L1-7.ps']);
elseif i == 6;
eval(['print -dps2 ' ptit '_HFlx_CPC1_HC_L1-7.ps']);
end
end
end
end