【问题标题】:XArray - create a dimension string1 for char dataXArray - 为 char 数据创建维度 string1
【发布时间】:2021-10-08 12:29:56
【问题描述】:

我尝试使用 xarray 读写 netCDF 文件。

原始文件:

netcdf test {
dimensions:
        TIME = 1 ;
variables:
        double TIME(TIME) ;
        char VHM0_DM(TIME) ;

data:

 TIME = 25625;

 VHM0_DM =
  "D";
}

Python 代码:

import xarray as xr

ds = xr.open_dataset("test.nc")
ds.to_netcdf("test-write.nc")

结果:

netcdf test-write {
dimensions:
        TIME = 1 ;
        string1 = 1 ;
variables:
        double TIME(TIME) ;
                TIME:_FillValue = NaN ;
        char VHM0_DM(TIME, string1) ;
}

如何防止 Xarray:

  • 创建新维度字符串1
  • 添加新的变量属性_FillValue

【问题讨论】:

    标签: python netcdf python-xarray


    【解决方案1】:

    一种解决方法是:

    ds.to_netcdf("modified.nc", encoding={'VHM0_DM': {'dtype': 'str'}}) 
    

    来源:https://github.com/pydata/xarray/issues/2899

    要删除 _FillValue:

    ds.to_netcdf("modified.nc", encoding={'TIME': {'_FillValue': None}, 'VHM0_DM': {'dtype': 'str'}})
    

    来源:xarray automatically applying _FillValue to coordinates on netCDF output

    注意它现在是 None 而不是 False。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2019-04-11
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      相关资源
      最近更新 更多