【问题标题】:Convert hdf5 to netcdf and rename dimensions将 hdf5 转换为 netcdf 并重命名尺寸
【发布时间】:2020-10-30 09:02:40
【问题描述】:

我有一组具有以下标头的 HDF5 文件:

netcdf control-A-2017-05-12-090000-g1 {
dimensions:
        phony_dim_0 = 16 ;
        phony_dim_1 = 16 ;
        phony_dim_2 = 200 ;
        phony_dim_3 = 2 ;
        phony_dim_4 = 1 ;
        phony_dim_5 = 4 ;
variables:
        ...

因为它是 HDF5,所以维度被创建为phony_dim_x。在这种情况下,phony_dim_0phony_dim_1 分别是 yx 坐标。我想适当地重命名尺寸。由于在 HDF5 中重命名维度是不可能的(因为它们在技术上不存在),我需要先转换为 netcdf。为此,我使用ncks in.h5 out.nc

但是,转换后的文件头信息是:

netcdf control-A-2017-05-12-090500-g1 {
dimensions:
        phony_dim_0 = 16 ;
        phony_dim_1 = 200 ;
        phony_dim_2 = 2 ;
        phony_dim_3 = 1 ;
        phony_dim_4 = 4 ;
variables:
        ...

这是重要的部分:两个 phony_dim_[0,1] 维度已合并为一个维度 phony_dim_0。我认为这是因为它们具有相同的值,因此 netcdf 转换假定它们是相同的。

在 hdf5 文件中列出的变量 ACCPA(phony_dim_0, phony_dim_1) ; 现在是 ACCPA(phony_dim_0, phony_dim_0) ;,有两个相同的维度。

因此,我无法单独重命名尺寸。如果我做ncrename -d phony_dim_0,y out.nc,我会得到ACCPA(y, y) ;

谁能指出我正确的方向来解决这个问题?

【问题讨论】:

    标签: hdf5 netcdf netcdf4


    【解决方案1】:

    问题最终出在ncks 上。使用ncks 转换文件导致重复维度(例如ACCPA(phony_dim_0, phony_dim_0) ;

    改用nccopy,转换后的netCDF文件不会产生重复维度(ACCPA(phony_dim_0, phony_dim_1) ;

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 2012-12-12
      • 2018-05-18
      • 2016-04-14
      • 1970-01-01
      • 2015-12-12
      相关资源
      最近更新 更多