Python 规则lat/lon栅格的极赤平投影

Python 规则lat/lon栅格的极赤平投影,python,netcdf,matplotlib-basemap,nco,cdo-climate,Python,Netcdf,Matplotlib Basemap,Nco,Cdo Climate,这是我上一个问题的后续问题,因为这是一个更具体的例子和数据。我有一个304×448的冰数据阵列(在极赤平投影中),可以获得其中的netcdf。每个网格框对应的lat/lon点可在该图中找到。我想将这些数据转换成一个常规的lat/lon网格(比如180x360),其中每个网格框都是一个度。有什么python方法可以做到这一点吗?Etc使用Basemap,还是使用CDO(气候数据操作员) 非常感谢。 James如果首先使用,例如 ncks -A -v lat,lon NSIDC_LatLon.nc

这是我上一个问题的后续问题,因为这是一个更具体的例子和数据。我有一个304×448的冰数据阵列(在极赤平投影中),可以获得其中的netcdf。每个网格框对应的lat/lon点可在该图中找到。我想将这些数据转换成一个常规的lat/lon网格(比如180x360),其中每个网格框都是一个度。有什么python方法可以做到这一点吗?Etc使用Basemap,还是使用CDO(气候数据操作员)

非常感谢。
James

如果首先使用,例如

ncks -A -v lat,lon NSIDC_LatLon.nc sample.nc
ncremap -i sample.nc -d 1x1.nc -o out.nc
然后,您可以使用NCO对其进行重新润滑,例如

ncks -A -v lat,lon NSIDC_LatLon.nc sample.nc
ncremap -i sample.nc -d 1x1.nc -o out.nc
不幸的是,这将需要NCO的当前快照(而不是发布的版本),因为输入文件中包含维度的顺序不同寻常,我刚刚修补了NCO以处理这些维度。重新填充的输出示例如下所示

应OP的要求,我重新归档了他的文件,然后上传了()。我没有一个1x1数据集,所以我首先创建了一个1x1网格文件,如手册所示,然后用它重新填充(使用ncremap-g选项):


通常在CDO中执行此操作的命令是

cdo remapcon,r360x180 in.nc out.nc 
您可以使用bil=双线性、nn=最近邻、con2=二阶保守重映射,而不是con=保守重映射


根据这篇帖子,最新版本的cdo应该能够处理极赤平投影。

非常感谢您的回复。有没有办法获取NCO的最新快照(作为tar.gz文件),以便尽早实现此解决方案?谢谢。还有,什么是1x1.nc文件?正如文档所解释的,1x1.nc是任何已经在所需1x1网格上的文件。它将被读取,但不会被写入。NCO在GitHub上。NCO主页解释了如何克隆/获取最新快照。感谢您这么做。查看输出结果,它看起来并不正确——南半球的冰值应该没有任何数据。不知道出了什么问题!我也注意到了这一点。您的特定用例需要从不精确的网格生成映射权重,即,输入数据有单元中心但没有边界。ncremap尽其所能猜测边界。然后权重生成器就可以很好地生成权重,尽管这不是完美的工作。南半球的冰层显然是重新填充的产物,默认情况下使用双线性算法。您可能会考虑通过应用保守的重排算法来检查产品,而我刚刚上载到原来的位置。