<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I have been trying to use the function “wrf_user_intrp3d”  and assumed it would work like the NCL documentation suggests.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Function wrf_user_intrp3d (var3d, vert, plot_type, loc, angle, logical)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am calling it as follows:<o:p></o:p></p>
<p class="MsoNormal">                rh_plane = wrf_user_intrp3d(rh,z,"v",plane,0.,opts)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">where rh is my relative humidity variable from wrfout (at time “it)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">rh = wrf_user_getvar(a,"rh",it)      ; relative humidity<o:p></o:p></p>
<p class="MsoNormal">and z is my model heights<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">z   = wrf_user_getvar(a, "z",it)     ; grid point height<o:p></o:p></p>
<p class="MsoNormal">plane is defined as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-indent:.5in">; Find the ij location for the Test Site (remains constant)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">test_lat = 35.0<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">test_lon = -85.7<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">llres = True<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">llres@ReturnInt = True   ; Return integer values<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">locij = wrf_user_ll_to_ij(a, test_lon, test_lat, llres)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">locij = locij - 1        ; array pointers in NCL space<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">TestX = locij(0)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">TestY = locij(1)<o:p></o:p></p>
<p class="MsoNormal">;               print("TestX (" + test_lat + "): " + TestX)<o:p></o:p></p>
<p class="MsoNormal">;               print("TestY (" + test_lon + "): " + TestY)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-indent:.5in">; Find the ij location for the end point (change for different arcs)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">end_lat = 34.0<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">end_lon = -85.5<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">llres = True<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">llres@ReturnInt = True   ; Return integer values<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">locij = wrf_user_ll_to_ij(a, end_lon, end_lat, llres)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">locij = locij - 1        ; array pointers in NCL space<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">EndX = locij(0)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in">EndY = locij(1)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in"><o:p> </o:p></p>
<p class="MsoNormal">                plane = new(4,float)<o:p></o:p></p>
<p class="MsoNormal">                plane = (/ TestX, TestY, EndX, EndY /)    ; start x;y & end x;y point<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">and, finally<o:p></o:p></p>
<p class="MsoNormal">                opts=True<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I would expect to get back rh_plane values along the radial of the defined “plane” at the heights specified in z.  In this case, I defined 50 heights for WRF, so I have a nZ of 50 for the z/interpolation variable.   I was baffled when I
 got back 100 rh_plane values in the vertical.  Looking through the source code for wrf_user_intrp3d (finally), I found that the function is just interpolating to a uniform 100 levels between the min and max Z values.<o:p></o:p></p>
<p class="MsoNormal">                z_max = max(z)<o:p></o:p></p>
<p class="MsoNormal">                z_min = 0.<o:p></o:p></p>
<p class="MsoNormal">                dz = 0.01 * z_max<o:p></o:p></p>
<p class="MsoNormal">                nlevels = tointeger( zmax/dz )<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Why doesn’t the routine use the levels that the user has input into the function?<o:p></o:p></p>
<p class="MsoNormal">Is there an improved wrf_user_intrp3d function? (Can I fix it and recompile it easily?)<o:p></o:p></p>
<p class="MsoNormal">                <o:p></o:p></p>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal">John Trostel<o:p></o:p></p>
<p class="MsoNormal">Director – Severe Storms Research Center<o:p></o:p></p>
<p class="MsoNormal">Georgia Tech Research Institute<o:p></o:p></p>
<p class="MsoNormal">Atlanta, GA 30332-0857<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>