function isen(field,tgrid,pgrid,tlev) "q dims" rec=sublin(result,4) ztype=subwrd(rec,3) if (ztype = "fixed") zmin=subwrd(rec,9) zmax=zmin else zmin=subwrd(rec,11) zmax=subwrd(rec,13) endif "q file" rec=sublin(result,5) zsize=subwrd(rec,9) "set z 1 "zsize "define theta="tgrid"*pow(1000/"pgrid",0.286)" "set z 2 "zsize "define thetam="tgrid"(z-1)*pow(1000/"pgrid"(z-1),0.286)" "set z 1 "zsize-1 "define thetap="tgrid"(z+1)*pow(1000/"pgrid"(z+1),0.286)" "define tabove=0.5*maskout(theta,theta-"tlev")+0.5*maskout(theta,"tlev"-thetam)" "define tbelow=0.5*maskout(theta,thetap-"tlev")+0.5*maskout(theta,"tlev"-theta)" "define fabove=tabove*0+"field "define fbelow=tbelow*0+"field "set z 1" "define fabove=mean(fabove,z=1,z="zsize")" "define fbelow=mean(fbelow,z=1,z="zsize")" "define tabove=mean(tabove,z=1,z="zsize")" "define tbelow=mean(tbelow,z=1,z="zsize")" "set z "zmin " " zmax "define slope=(fabove-fbelow)/(tabove-tbelow)" "define b=fbelow-slope*tbelow" "define interp=slope*"tlev"+b" return(interp)