Global Index (short | long) | Local contents | Local Index (short | long)
[x] = getlev(aray,lev);
function [x] = getlev(aray,lev); global XAX YAX l_pres ps; psa = [4.8093 13.0731 32.5591 63.9471 81.6768 78.0201 73.3671 67.6476 60.8624 53.1095 44.5995 35.6607 26.7266 18.3069 10.9421 5.1470 1.3519 0]; psb = [0 0 0 0 17.3664 60.6928 115.8237 183.5918 263.9851 355.8459 456.6760 562.5875 668.4428 768.2030 855.4653 924.1285 969.0938 992.5282]; x_up = zeros(12,length(YAX),length(XAX)); x_lo = zeros(12,length(YAX),length(XAX)); p_up = zeros(12,length(YAX),length(XAX)); p_lo = zeros(12,length(YAX),length(XAX)); if (lev <= psa(4)) if (lev > psa(3)) x_up = squeeze(aray(:,3,:,:)); x_lo = squeeze(aray(:,4,:,:)); p_up = squeeze(l_pres(:,3,:,:)); p_lo = squeeze(l_pres(:,4,:,:)); elseif (lev > psa(2)) x_up = squeeze(aray(:,2,:,:)); x_lo = squeeze(aray(:,3,:,:)); p_up = squeeze(l_pres(:,2,:,:)); p_lo = squeeze(l_pres(:,3,:,:)); elseif (lev >= psa(1)) x_up = squeeze(aray(:,1,:,:)); x_lo = squeeze(aray(:,2,:,:)); p_up = squeeze(l_pres(:,1,:,:)); p_lo = squeeze(l_pres(:,2,:,:)); end else psx = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; psx(5:18) = 1e5*(lev - psa(5:18))./psb(5:18); xps = ps >= psx(5); x_up = x_up + xps.*squeeze(aray(:,4,:,:)); x_lo = x_lo + xps.*squeeze(aray(:,5,:,:)); p_up = p_up + xps.*squeeze(l_pres(:,4,:,:)); p_lo = p_lo + xps.*squeeze(l_pres(:,5,:,:)); for l = 6:18 xps = (ps >= psx(l)) & (ps < psx(l-1)); x_up = x_up + xps.*squeeze(aray(:,l-1,:,:)); x_lo = x_lo + xps.*squeeze(aray(:,l,:,:)); p_up = p_up + xps.*squeeze(l_pres(:,l-1,:,:)); p_lo = p_lo + xps.*squeeze(l_pres(:,l,:,:)); end end x = x_up + (lev*100 - p_up).*(x_lo - x_up)./(p_lo - p_up);