Global Index (short | long) | Local contents | Local Index (short | long)
Average by season, to make this a bit more manageable
This script calls | |
---|---|
clear lims = [100 300 -60 60]; varn = 'temp'; cd /home/disk/hayes2/dvimont/csiro/data/Individual_levels nc = netcdf([varn '_M_L1_1000_years_new.nc'], 'nowrite'); lat = nc{'latitude'}(:); lon = nc{'longitude'}(:); [xk, yk] = keep_var(lims, lon, lat); sst = nc{varn}(:,:,yk,xk); sf = nc{varn}.scale_factor(:); ao = nc{varn}.add_offset(:); mv = nc{varn}.missing_value(:); nc = close(nc); sst(sst == mv) = NaN; [lat, lon, depth, lm] = getll('temp', lims); sst = squeeze(sst); [sst, clim] = annave(sst); [nyr, nlat, nlon] = size(sst); seas = repmat(NaN, [nyr/3-1 nlat nlon]); for i = 1:(nyr/3-1); tind = 3*(i-1)+[3:5]; seas(i,:,:) = mean(sst(tind,:,:)); end sst = seas; cd /home/disk/hayes2/dvimont/csiro/matlab_data/Heat_Content %save SST_seasonal.mat sst lat lon lims %%%%%%%%%%%%%%%%%%%%%%% now just load it in clear % Get CT index csirod %load SST_seasonal.mat back lims = [100 300 -60 60]; sst = getnc('temp', lims, 1, 101:1000); slp = getflx('psl', lims, 101:1000); [lat, lon, depth, lm] = getll('temp', lims); ctlim = [180 270 -6 6]; [xk, yk] = keep_var(ctlim, lon, lat); ct1 = sst(:,yk,xk); ct1 = squeeze(mean2(mean2(shiftdim(ct1, 1)))); ct1 = detrend(ct1); [reg1, c1] = regress_eof(sst, ct1, 0); default_global; figure(1); subplot(2,2,4) gcont(reg1, .05); dc2(lm, .5, 1); color_shade(squeeze(c1.^2), .25, .87*[1 1 1]); subplot(2,2,3) gcont(reg2, .1); dc2(lm, .5, 1); color_shade(squeeze(c2.^2), .1, .87*[1 1 1]); % Get NH component of this %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nhlims = [100 260 20 60]; [xk, yk] = keep_var(nhlims, lon, lat); shlims = [150 290 -60 -20]; [xk, yk] = keep_var(shlims, lon, lat); %[icex, icey] = keep_var([120 155 38 60], lon, lat); lm2 = lm; %lm2(icey, icex) = NaN; sst2 = cosweight(sst, lat); rpat = [reg1(1,yk,xk); reg1(1,yk,xk)]; rpat = cosweight(rpat, lat(yk)); rpat = squeeze(rpat(1,:,:)); [nlat, nlon] = size(rpat); rpat = reshape(rpat, 1, nlat*nlon)'; kp2 = find(~isnan(reshape(lm2(yk, xk), nlat, nlon))); rpat = rpat(kp2); sstreg = reshape(sst2(:,yk,xk), size(sst2, 1), nlat*nlon); sstreg = sstreg(:,kp2); rtime = sstreg*rpat; rtime = detrend(rtime)./std(detrend(rtime)); [sstreg, sstc] = regress_eof(sst, rtime); default_global; figure(3); fo(1); clf; subplot(2,2,1); gcont(sstreg, .05); dc2(lm, .5, 1); color_shade(squeeze(sstc.^2), .1, .87*[1 1 1]); nhtime = rtime; subplot(2,2,2); gcont(sstreg, .05); dc2(lm, .5, 1); color_shade(squeeze(sstc.^2), .1, .87*[1 1 1]); shtime = rtime;