import netCDF4
import numpy as np
nc_data = netCDF4.Dataset(out_nc, 'w', format='NETCDF4')
nc_data.description = 'Test'
# dimensions
nc_data.createDimension('lat', 720)
nc_data.createDimension('lon', 1440)
fl_res = 0.25
latitudes = np.arange(90.0 - fl_res/2.0, -90.0, -fl_res)
longitudes = np.arange(-180.0 + fl_res/2.0, 180.0, fl_res)
我正在创建一个0.25度分辨率的netCDF文件。在我创建的纬度和经度中,它们是否代表每个网格单元或中心的角落?有什么方法可以选择他们所代表的东西吗?
答案 0 :(得分:3)
坐标(应该)代表每个网格单元的中心。
在某些特殊情况下,在网格单元的边缘上求解变量(通常是风速)。在这种情况下,变量附加到一组lat / lon对,其在x维或y维中具有一个额外的对。虽然在后处理中,这些基于边缘的变量通常被插值到每个网格单元的中心,以跟随中心坐标的集合,就像您在上面定义的那样。
编辑:来源
CF conventions - cell boundaries基本上说明lat / lon位于网格单元的中心,由网格单元的顶点限定。对于大多数产品,只提供一组lat / lon坐标,并且可以假设它们用于网格单元的中心(CH.4:“如果未提供边界,则应用程序可能合理地假设网格点位于细胞的中心,但我们不要求在这个标准中。“)
NOAA ioSSTv2 - NOAA产品的一个示例,说明“netCDF坐标变量中的纬度/经度值是网格单元的中心。”