wrf_ll_to_ij
Finds the nearest model grid indices (i,j) to the specified location(s) in longitude and latitude.
Prototype
function wrf_ll_to_ij ( lon : numeric, lat : numeric, opt : logical ) return_val : float or double
Arguments
lonlat
Longitude and latitude arrays in ARW WRF.
optA logical scalar containing attributes. See description below.
Description
This function replaces wrf_latlon_to_ij.
The return value is a multi-dimensional float or double array that holds the closest I, J positions to the input lon, lat values. The dimensions will be 2 x N:
- N represents the dimensions of lon and lat
- loc(0,:,...,:) --> I values
loc(1,:,...,:) --> J values
The opt variable can contain the following attributes, many of which are included as global attributes on the WRF output file. Attributes are case-insensitive:
- MAP_PROJ - Model projection [1=Lambert, 2=polar
stereographic, 3=mercator, 6=lat-lon] (required)
- TRUELAT1 - required for MAP_PROJ = 1, 2, 3
(defaults to 0 otherwise)
- TRUELAT2 - required for MAP_PROJ = 6 (defaults
to 0 otherwise)
- STAND_LON - Standard longitude used in model projection
(required)
- REF_LON, REF_LON - A reference longitude and latitude
(required)
- KNOWNI, KNOWNJ - The I and J locations of REF_LON
and REF_LAT (required)
- POLE_LAT - optional for MAP_PROJ = 6 (defaults
to 90 otherwise)
- POLE_LAT - optional for MAP_PROJ = 6 (defaults
to 0 otherwise)
- DX, DY - required for MAP_PROJ = 1, 2, 3
(defaults to 0 otherwise)
- LATINC, LONINC - required for MAP_PROJ = 6 (defaults to 0 otherwise)
Questions on this function should be sent to wrfhelp@ucar.edu.
See Also
wrf_user_ll_to_ij, wrf_user_ij_to_ll, wrf_ij_to_ll
Examples
Example 1
opt = True opt@MAP_PROJ = 1 opt@TRUELAT1 = 30.0 opt@TRUELAT2 = 60.0 opt@STAND_LON = -98.0 opt@REF_LAT = 34.83 opt@REF_LON = -81.03 opt@KNOWNJ = 37.0 opt@KNOWNI = 30.5 opt@DX = 30000. opt@DY = 30000. loc = wrf_ll_to_ij( -80.0, 30.0, opt )
Example 2
nc_file = addfile("wrfout_d01_2000-01-24_12:00:00.nc","r") opt = True opt@MAP_PROJ = nc_file@MAP_PROJ opt@TRUELAT1 = nc_file@TRUELAT1 opt@TRUELAT2 = nc_file@TRUELAT2 opt@STAND_LON = nc_file@STAND_LON opt@DX = nc_file@DX opt@DY = nc_file@DY XLAT = nc_file->XLAT(0,:,:) XLONG = nc_file->XLONG(0,:,:) opt@REF_LAT = XLAT(0,0) opt@REF_LON = XLONG(0,0) opt@KNOWNI = 1.0 opt@KNOWNJ = 1.0 loc = wrf_ll_to_ij ( -80.0, 30.0, opt )
Example 3
The function wrf_user_ll_to_ij, (available in the $NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl script) can be used to locate i,j points given specific lon, lat references.
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") opt = True opt@returnInt = False ; Return real values (set to True for integer values - integer is default) loc = wrf_user_ll_to_ij (a, -80.0, 30.0, opt)
Example 4
You can see another specific example of using wrf_user_ll_to_ij to get temperature at a specific location: http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/Examples/SPECIAL/wrf_meteo_5.ncl
There are other example scripts and their resultant images at:
http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/