【问题标题】:Can Paraview read my NetCDF4 (HDF5) fileParaview 可以读取我的 NetCDF4 (HDF5) 文件吗
【发布时间】:2018-03-29 12:34:22
【问题描述】:

我了解 paraview 可以通过其 VTK 后端读取经典的 netcdf 文件。然而,经过几次尝试,我无法让它读取使用增强数据模型的 netcdf 4 文件。我想使用新的文件格式,因为它允许使用 MPI 进行并行输出。

我从http://www.unidata.ucar.edu/software/netcdf/examples/programs/ 编译了一个示例 C 程序,将创建标志更改为 NC_NETCDF4,并尝试在我通过 ubuntu 包管理器安装的 paraview (v4.0.1) 中打开生成的文件。它总是告诉我“找不到读者(...)。请选择一个:(...)” 但是,没有一个可供选择的阅读器实际上可以阅读该文件。

谁能告诉我

  • paraview 根本无法打开 netcdf 4 文件,或者

  • 它需要某种安装标志并重新安装

  • paraview 中有一些神奇的选项我还没有找到?

【问题讨论】:

    标签: vtk netcdf paraview


    【解决方案1】:

    解决方案是从套件下载站点下载当前版本,而不是 ubuntu 包管理器中的版本。显然,ubuntu 的 paraview 包中的一些安装标志设置错误。

    【讨论】:

      【解决方案2】:

      xmdf 文件也帮助我使用旧版本的 paraview 读取 netcdf 文件。

      实际上我用它们来处理另一个问题我不确定它对你是否重要netcdf 文件是根据数组索引保存的。如果您希望使用正确的物理坐标在 paraview 上可视化它们,我认为唯一的方法是创建一个xmdf 文件。 不确定这是否是唯一的方法,如果有其他方法,请评论,也请看看我的question

      一个示例 xmdf 文件如下所示:

      <?xml version="1.0" ?>
      <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
      <Xdmf xmlns:xi="http://www.w3.org/2001/XInclude" Version="2.0">
         <Domain>
            <Grid Name="gridxyz">
              <Topology TopologyType="3DSMesh" NumberOfElements="064 0129 0513">
              </Topology>
      <!-- Read Coordinates -->
              <Geometry GeometryType="X_Y_Z">
                 <DataItem Name="X" Format="HDF" NumberType="Float" Precision="8" Dimensions="0064 0129 0513">
                             grid.nc:/gridx
                 </DataItem>
                 <DataItem Name="Y" Format="HDF" NumberType="Float" Precision="8" Dimensions="0064 0129 0513">
                             grid.nc:/gridy
                 </DataItem>
                 <DataItem Name="Z" Format="HDF" NumberType="Float" Precision="8" Dimensions="0064 0129 0513">
                             grid.nc:/gridz
                 </DataItem>
              </Geometry>
      <!-- Read Scalar -->
              <Attribute Name="ux1" AttributeType="Scalar" Center="node">
                 <DataItem Format="HDF" NumberType="Float" Precision="8" Dimensions="0064 0129 0513">
                      fields021.nc:/ux1
                 </DataItem>
              </Attribute>
              <Attribute Name="uy1" AttributeType="Scalar" Center="node">
                 <DataItem Format="HDF" NumberType="Float" Precision="8" Dimensions="0064 0129 0513">
                      fields021.nc/uy1
                 </DataItem>
              </Attribute>
              <Attribute Name="uz1" AttributeType="Scalar" Center="node">
                 <DataItem Format="HDF" NumberType="Float" Precision="8" Dimensions="0064 0129 0513">
                      fields021.nc:/uz1
                 </DataItem>
              </Attribute>
           </Grid>
         </Domain>
      </Xdmf>
      

      【讨论】:

        【解决方案3】:

        我在 OS X 上使用 Paraview 5.5.0-RC3 时遇到了同样的问题。通过将 NetCDF 文件保存在 'classic mode' 中解决了这个问题,如下所示:

        from netCDF4 import Dataset
        foo_dataset = Dataset("foo.nc", "w", format="NETCDF4_CLASSIC")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-07-15
          • 1970-01-01
          • 2020-08-31
          • 2012-11-13
          • 1970-01-01
          • 2015-04-18
          • 2022-06-10
          • 1970-01-01
          相关资源
          最近更新 更多