我试图了解NetCDF标准是否允许这样做 . 它并没有对我产生影响,但也许有一个原因是它在图书馆一级不被禁止 . Ncdump:
netcdf tt {
dimensions:
one = 2 ;
two = 1 ;
variables:
int64 one(two) ;
data:
one = 1 ;
}
以及在python中生成此文件的代码:
from netCDF4 import Dataset
rr=Dataset('tt.nc','w')
rr.createDimension('one',2)
rr.createDimension('two',1)
var1=rr.createVariable('one','i8',('two'))
var1[:]=1
rr.close()
请注意与维度具有相同名称的变量,但尺寸与自身不同?!
所以有两个问题:
-
这是标准允许的吗?
-
如果没有,是否应该受到图书馆的限制?
2 回答
它是有效的,因为属性的名称,维度的名称和变量的名称都存在于不同的名称空间中 .
它是有效的,但显然会使代码和输出混乱,并且在专业意义上是不可接受的 . 但请注意,与分配给它们的维度具有相同名称和大小的单维数组称为“坐标变量” .
例如,您经常会看到一个名为
latitude
的变量,它是1D并且具有名为latitude
的维度 .ncks
或ncdump
应该在该变量显示旁边显示(CRD)
,表明它确实与纬度数组协调 .