我有一个 netCDF 文件,其中包含特定时间南半球的多个气旋位置(纬度、经度)和气温。
\n我想要的是提取距离每个气旋位置中心 10 测地度(约 1110 公里)半径内的温度值 \xe2\x80\x8b\xe2\x80\x8b 。这个想法是确定与每个气旋相关的温度值 \xe2\x80\x8b\xe2\x80\x8b(假设距气旋中心的最大径向距离为 10\xc2\xba),并仅用这些温度绘制一个全局轮廓图价值观。
\n我在这里搜索了很多,但我只找到了适用于距一个特定纬度中心的距离的代码(例如:如何查找从纬度和经度值的中心位置开始的半径内的值)。
\n我陷入了如何同时将半正矢公式应用于多个中心的困境。
\nimport xarray as xr\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nd = xr.open_dataset(\'cyc_temp.nc\')\nlat = d[\'lat\']\nlon = d[\'lon\']\ncyc_pos = d[\'id\'][:,:]\ntemp = d[\'temp\'][:,:]\n\n# Haversine formula\n\ndef haversine(lon1, lat1, lon2, lat2):\n # convert decimal degrees to radians\n lon1 = np.deg2rad(lon1)\n lon2 = np.deg2rad(lon2)\n lat1 = np.deg2rad(lat1)\n lat2 = np.deg2rad(lat2)\n\n # haversine formula\n dlon = lon2 - lon1\n dlat = lat2 - lat1\n a = np.sin(dlat/2)**2 …Run Code Online (Sandbox Code Playgroud)