在使用NCL处理nc文件时,
如果是wrfout结果,可以用“wrf_ij_to_ll”、“wrf_ll_to_ij ”或者“wrf_user_xy_to_ll”函数找到距离特定位置(如观测点)对应的网格文件中最近的网格点;
如果是普通的netcdf文件,可能用distance和nearest关键字找不到想要的函数,ncl在介绍时用了“closest”关键字。我们简单看一下两个函数的差异:
wrf_ll_to_ij : Finds the nearest model grid indices (i,j) to the specified location(s) in longitude and latitude (deprecated). 翻译为:查找经度和纬度到指定位置最近的模型网格索引(i,j)。(不建议使用,6.6版本ncl建议使用更新的wrf_user_xy_to_ll等函数)。
getind_latlon2d :Returns the indices (subscripts) of two-dimensional latitude/longitude arrays closest to a user-specified latitude/longitude coordinate pair. 翻译为:返回最接近用户指定的纬度/经度坐标对的二维纬度/经度数组的索引(下标)。
还有个特殊的重要问题:有的矩形网格的nc文件中,lat和lon是线性变化的,所以是一纬数组。而上述函数使用的是二维数组作为被查阅的数据,这时候就要将一维的数据转换为二维数据,方法如下:
nlat_1d = dimsizes(lat_1d)
nlon_1d = dimsizes(lon_1d)
lat2d = conform_dims((/nlat_1d(0),nlon_1d(0)/),lat_1d,0) ;构建netcdf文件二维经纬度
lon2d = conform_dims((/nlat_1d(0),nlon_1d(0)/),lon_1d,1)
构建好了就可以使用上述找最近距离的函数了。