Global Index (short | long) | Local contents | Local Index (short | long)
[vdtdy, wdtdz] = ...
[vdtdy, wdtdz] = ... vert_vptb_wptb(pcs, lims, lags);
This function calls | This function is called by |
---|---|
function [vdtdy, wdtdz] = ... vert_vptb_wptb(pcs, lims, lags); cdtem = ['cd ' eval('pwd')]; %cd ~/matlab/CSIRO/Thesis/Data %load LP9_detrend_L1-7_EOF_yr101-1000.mat %lims = [150 205 -60 60]; tim = 101:1000; %lags = -30:2:30; tbar = getnc('temp', lims, 1:10, tim); v = getnc('v', lims, 1:10, tim); w = getnc('wl', lims, 1:9, tim); [latt, lont, deptht] = getll('temp', lims); [latv, lonv] = getll('v', lims); [latw, lonw, depthw] = getll('wl', lims); tbar = squeeze(mean(tbar)); v = detrend(v); vreg = 1e-2*regress_eof(v, pcs, lags); w = detrend(w); wreg = 1e-6*regress_eof(w, pcs, lags); % Get dtdy [nlev, nlat, nlon] = size(tbar); tbar2 = (tbar(:,:,1:(nlon-1)) + tbar(:,:,2:nlon))/2; [nlev, nlat, nlon] = size(tbar2); global DEGREE RADIAN RADUS for lind = 1:nlev; ty = squeeze(tbar2(lind, :, :)); [dtdy(lind,:,:) temlat] = sph_grady1(ty, RADIAN*latt, RADIAN*lonv, 0); end nlag = size(vreg, 1); for i = 1:nlag; vdtdy(i,:,:,:) = squeeze(vreg(i,:,:,:)) .* dtdy; end % Get dtdz [nlev, nlat, nlon] = size(tbar); dz = diff(deptht); tbar2 = reshape(tbar, nlev, nlat*nlon); dtdz = -1*diff(tbar2) ./ (dz * ones(1, nlat*nlon)); dtdz = reshape(dtdz, nlev-1, nlat, nlon); for i = 1:nlag; wdtdz(i,:,:,:) = squeeze(wreg(i,:,:,:)) .* dtdz; end eval(cdtem);