@IRO-bot的请求我发布的代码计算i_parent_start j_parent_start。在Java中,当人们意识到Java没有minloc或Python的unravel_index等功能。所以我把我的程序分为三个步骤。完整的源代码与IRO-BOT可用。1)读入xlat_m并使用java netcdf xlong_m数组。2)减去预期的纬度和期望经度的每个值二维xlat_m xlon_m数组和平方的区别。3)然后发现指数(i, j)最小的二维数组的元素(而不是一个扁平的一维数组)有一个工具,带有WRF叫WRF域创建父进程和子网格的向导,但问题是,你不能看到的地形和土地利用高分辨率模拟至关重要。为了查看地形我有另一个工具,NETCDF文件转换成KML文件和项目,在谷歌地球上。孩子的封闭的图像网格。如上解释为粗网格这与其说是一个问题,因为它是嵌套网格,在网格本身的大小可能不超过几百米。 As this is my first answer moderators may kindly edit my answer to make sure it is compliant. ![Location of child grid as superimposed on Google Earth][1] double desiredLatitude = 27; double desiredLongitude = 77; double[][] xlatMArray = getXLatMArray(dataFile); double[][] xlongMArray = getXLongMArray(dataFile); int a = xlatMArray.length; double[][] array = new double[a][a]; for (int i =0 ; i < a;i++) { for (int j =0;j < a ;j++) { double latitudeDiff = desiredLatitude - xlatMArray[i][j]; double longitudeDiff = desiredLongitude - xlongMArray[i][j]; array[i][j]= Math.pow(latitudeDiff,2) + Math.pow(longitudeDiff,2); } } double min = array[0][0]; double max = array[0][0]; int[] minIndex = {0,0}; int[] maxIndex = {0,0}; for (int i =0; i < array.length ; i++) { for (int j =0 ; j < array.length ; j++) { if (array[i][j] < min) { min = array[i][j]; minIndex[0] = i; minIndex[1] = j; } if (array[i][j] > max) { max = array[i][j]; maxIndex[0] = i; maxIndex[1] = j; } } } [1]: http://i.stack.imgur.com/IQ94Q.jpg
Baidu
map