我正在使用 netCDF4 存储多维数据。例如,数据具有三个维度,time = [0, 1, 2]
,height = [10, 20]
,direction = [0, 120, 180, 240, 300]
,但并非所有组合(网格点)都有数据。在我们的示例中,这仅限于height
/ -direction
组合。即,假设height == 10
我们有数据只为direction in {0, 120, 240}
和height == 20
只为direction in {120, 180, 300}
。
我看到的处理这个问题的方法是:
Variable
为每个height
/ -组合使用单独的一维direction
。- 在笛卡尔积上使用单个三维
Variable
,即所有可能的组合,并接受这样一个事实,即对于某些组合,所有值都被屏蔽了。 - 对每个高度使用不同的位置尺寸定义,对每个高度使用二维
Variable
。
是否有其他方法以及在原则上和实际上偏爱一种方法而不是另一种方法的原因是什么?