wrf_user_intrp3d
Interpolates ARW WRF model data vertically or horizontally.
Available in version 4.3.1 or later.
Prototype
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" function wrf_user_intrp3d ( var3d : numeric, vert : numeric, plot_type : string, loc [*] : numeric, ; up to four values angle : numeric, res [1] : logical ) return_val : numeric
Arguments
var3dData on model levels that will be interpolated. The rightmost dimensions of this array is nz x ny x nx.
vertArray of vertical coordinate to interpolate too. This must either be pressure/height. Dimensions must be the same as those of var3d.
plot_typePlot orientation. Use "h" for horizontal plots, and "v" for vertical cross sections.
locInterpolation information. Can contain up to four scalar values.
Use a single value for horizontal plots, eg. 500. for 500hPa or 2000. for 2km.
For cross sections:
Use 2 values if plotting a plane through a given point on the model domain. The two values represent the x/y location through which the plane will pass. Must also specify angle in this case.
Use 4 values if plotting from point A to point B. The 4 values represent the x/y locations of points A and B.
angleOnly valid for cross sections where a plane will be plotted through a given point on the model domain. 0.0 represents a S-N cross section and 90.0 a W-E cross section.
resSet to True if plotting a cross section from point A to point B; otherwise set to False.
Return value
Data interpolated to a horizontal or vertical plane.
Description
This function interpolates data from model levels to either a horizonal or vertical plane. The script can interpolate to either height or pressure.
wrf_user_intrp3d is part of a library of functions and procedures in WRFUserARW.ncl written to help users plot ARW WRF model data.
WRF-related questions should be sent to wrfhelp@ucar.edu.
See Also
See the full list of WRF functions.
Examples
Example 1
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" a = addfile("wrfout_d01_2000-01-24_12:00:00.nc","r") wks = gsn_open_wks("x11","test") time = 1 tc = wrf_user_getvar(a,"tc",time) ; T [C] rh = wrf_user_getvar(a,"rh",time) ; relative humidity z = wrf_user_getvar(a, "z",time) ; grid point height p = wrf_user_getvar(a, "pressure",time) ; total pressure dimsrh = dimsizes(rh) plane = (/ dimsrh(2)/2, dimsrh(1)/2, /) ; pivot point is center of domain ; Extract data on a N-S cross section that runs through "plane" ; Interpolate to height rh_plane1 = wrf_user_intrp3d(rh,z,"v",plane,0.0,False) tc_plane1 = wrf_user_intrp3d(tc,z,"v",plane,0.0,False) ; Extract data on a W-E cross section that runs through "plane" ; Interpolate to pressure rh_plane2 = wrf_user_intrp3d(rh,p,"v",plane,90.0,False) tc_plane2 = wrf_user_intrp3d(tc,p,"v",plane,90.0,False)Example 2
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" a = addfile("wrfout_d01_2000-01-24_12:00:00.nc","r") time = 1 tc = wrf_user_getvar(a,"tc",time) ; T [C] z = wrf_user_getvar(a,"z",time) ; z on mass points plane = (/ 40,81 , 259,81 /) ; approx. START x;y and END x;y point ; Extract cross section from point A to point B, as defined in "plane" ; And vertically interpolate to height coordinates ("z") tc_plane = wrf_user_intrp3d(tc,z,"v",plane,0.,True)Example 3
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" a = addfile("wrfout_d01_2000-01-24_12:00:00.nc","r") time = 1 tc = wrf_user_getvar(a,"tc",time) ; T [C] p = wrf_user_getvar(a,"pressure",time) ; total pressure ; Horizontally interpolate to pressure coordinates ("p") pressure = 850. ; 850 hPa tc_plane = wrf_user_intrp3d(tc,p,"h",pressure,0.,False)You can see some other example scripts and their resultant images at:
http://www.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/