在python netCDF4中的Lat和Lon表示

时间:2015-08-20 19:40:33

标签: python latitude-longitude netcdf

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文件。在我创建的纬度和经度中,它们是否代表每个网格单元或中心的角落?有什么方法可以选择他们所代表的东西吗?

1 个答案:

答案 0 :(得分:3)

坐标(应该)代表每个网格单元的中心。

在某些特殊情况下,在网格单元的边缘上求解变量(通常是风速)。在这种情况下,变量附加到一组lat / lon对,其在x维或y维中具有一个额外的对。虽然在后处理中,这些基于边缘的变量通常被插值到每个网格单元的中心,以跟随中心坐标的集合,就像您在上面定义的那样。

编辑:来源

CF conventions - cell boundaries基本上说明lat / lon位于网格单元的中心,由网格单元的顶点限定。对于大多数产品,只提供一组lat / lon坐标,并且可以假设它们用于网格单元的中心(CH.4:“如果未提供边界,则应用程序可能合理地假设网格点位于细胞的中心,但我们不要求在这个标准中。“)

NOAA ioSSTv2 - NOAA产品的一个示例,说明“netCDF坐标变量中的纬度/经度值是网格单元的中心。”