Global Index (short | long) | Local contents | Local Index (short | long)
[ubtp, uptb, lat_out, lon_out, depth_out] = get_udtdx(pcs, lims, lags, lev, tim);
[wbtp, wptb, lat_out, lon_out, depth_out] = ... get_udtdx(pcs, lims, lags, lev, tim);
This function calls | This function is called by |
---|---|
function [ubtp, uptb, lat_out, lon_out, depth_out] = get_udtdx(pcs, lims, lags, lev, tim); if length(lev) > 1; error('length(lev) > 1 not supported'); end cdtem = ['cd ' pwd]; u = getnc('wl', lims, lev, tim); [latu, lonu, depthu] = getll('wl', lims); t = getnc('temp', lims, (lev + [0 1]), tim); [latt, lont, deptht] = getll('temp', lims); [u, ubar] = remove_mean(u/1e6); [t, tbar] = remove_mean(t); ubar = squeeze(ubar); tbar = squeeze(tbar); u = squeeze(u); t = squeeze(t); ureg = regress_eof(u, pcs, lags); treg = regress_eof(t, pcs, lags); dz = diff(deptht(lev + [0 1])); dtdzr = squeeze(-1*diff(treg, 1, 2)/dz); dtdzb = squeeze(-1*diff(tbar, 1, 1)/dz); szt = size(treg); for i = 1:szt(1); ubtp(i,:,:) = ubar .* squeeze(dtdzr(i,:,:)); uptb(i,:,:) = squeeze(ureg(i,:,:)) .* dtdzb; end lat_out = latu; lon_out = lonu; depth_out = depthu(lev);