Global Index (short | long) | Local contents | Local Index (short | long)
ctlim = [110 300 -30 30]; tim = 551:1000;
This script calls | |
---|---|
clear cd /home/disk/tao/dvimont/matlab/CSIRO/Heat ctlim = [100 290 20 90]; tim = 101:1000; %[heat, lat, lon, depth, middepth] = getheat(1:7, tim, ctlim); heat = getflx('psl', ctlim, tim); %heat = getnc('temp', ctlim, 1, tim); [lat, lon] = getll('temp', ctlim); [ntim, nlat, nlon] = size(heat); % Possibly average the data: if 0; heat2 = NaN * ones(ntim, nlat/2, nlon/2); for i = 1:nlat/2; latind = 2*(i-1) + [1:2]; for j = 1:nlon/2; lonind = 2*(j-1) + [1:2]; heat2(:,i,j) = mean2(mean2(shiftdim(heat(:,latind,lonind), 1))); end end lat2 = mean([lat(1:2:nlat)'; lat(2:2:nlat)'])'; lon2 = mean([lon(1:2:nlon)'; lon(2:2:nlon)'])'; end for biff = 1:3; biff = 1; if biff == 1; heat2 = heat; elseif biff == 2; [b, a] = butter(9, 2/9); [b2, a2] = butter(9, 2/60); heat2 = filtfilt(b, a, heat);% - filtfilt(b2, a2, heat); elseif biff == 3; [b, a] = butter(6, 2/10); heat2 = heat - filtfilt(b, a, heat); end lon2 = lon; lat2 = lat; [ntim, nlat, nlon] = size(heat2); [heat2, clim] = remove_mean(heat2); heat2 = reshape(heat2, ntim, nlat*nlon); heat2 = detrend(heat2); heat2 = reshape(heat2, ntim, nlat, nlon); % Normalize if 0; heat2 = reshape(heat2, ntim, nlat*nlon); heat2 = heat2 ./ (ones(ntim,1) * std(heat2)); heat2 = reshape(heat2, ntim, nlat, nlon); end heat2 = cosweight(heat2, lat2); kp = find(~isnan(clim)); heat2 = heat2(:,kp); %[lam, lds, pcs, per] = complex_eof(heat2); [lam, lds, pcs, per] = eof_dan(heat2); disp('done!'); cd /home/disk/hayes2/dvimont/csiro/matlab_data/Heat_Content % save LP9_SLP_NP_EOF.mat lam lds pcs per ctlim lat lon if biff == 1; save HP8_detrend_L1-7_CEOF_yr101-1000.mat lam lds pcs per ctlim lat lon elseif biff == 2; save HP10_detrend_L1_EOF_yr101-550.mat lam lds pcs per ctlim lat lon elseif biff == 3; save HP8_L1-7_EOF.mat lam lds pcs per ctlim lat lon end