:orphan: # PetscViewerHDF5Open Opens a file for HDF5 input/output as a `PETSCVIEWERHDF5` `PetscViewer` ## Synopsis ``` #include "petscviewerhdf5.h" PetscErrorCode PetscViewerHDF5Open(MPI_Comm comm, const char name[], PetscFileMode type, PetscViewer *hdf5v) ``` Collective ## Input Parameters - ***comm -*** MPI communicator - ***name -*** name of file - ***type -*** type of file ## Output Parameter - ***hdf5v -*** `PetscViewer` for HDF5 input/output to use with the specified file ## Options Database Keys - ***-viewer_hdf5_base_dimension2 -*** turns on (true) or off (false) using a dimension of 2 in the HDF5 file even if the bs/dof of the vector is 1 - ***-viewer_hdf5_sp_output -*** forces (if true) the viewer to write data in single precision independent on the precision of PetscReal ## Notes Reading is always available, regardless of the mode. Available modes are ```none FILE_MODE_READ - open existing HDF5 file for read only access, fail if file does not exist [H5Fopen() with H5F_ACC_RDONLY] FILE_MODE_WRITE - if file exists, fully overwrite it, else create new HDF5 file [H5FcreateH5Fcreate() with H5F_ACC_TRUNC] FILE_MODE_APPEND - if file exists, keep existing contents [H5Fopen() with H5F_ACC_RDWR], else create new HDF5 file [H5FcreateH5Fcreate() with H5F_ACC_EXCL] FILE_MODE_UPDATE - same as FILE_MODE_APPEND ``` In case of `FILE_MODE_APPEND` / `FILE_MODE_UPDATE`, any stored object (dataset, attribute) can be selectively overwritten if the same fully qualified name (/group/path/to/object) is specified. This PetscViewer should be destroyed with PetscViewerDestroy(). ## See Also [](sec_viewers), `PETSCVIEWERHDF5`, `PetscViewerASCIIOpen()`, `PetscViewerPushFormat()`, `PetscViewerDestroy()`, `PetscViewerHDF5SetBaseDimension2()`, `PetscViewerHDF5SetSPOutput()`, `PetscViewerHDF5GetBaseDimension2()`, `VecView()`, `MatView()`, `VecLoad()`, `MatLoad()`, `PetscFileMode`, `PetscViewer`, `PetscViewerSetType()`, `PetscViewerFileSetMode()`, `PetscViewerFileSetName()` ## Level beginner ## Location src/sys/classes/viewer/impls/hdf5/hdf5v.c ## Examples src/dm/impls/plex/tutorials/ex5.c
src/dm/tutorials/ex10.c
src/dm/tutorials/ex9.c
src/ksp/ksp/tutorials/ex27.c
src/tao/tutorials/ex3.c
src/vec/vec/tutorials/ex10.c
src/vec/vec/tutorials/ex19.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/viewer/impls/hdf5/hdf5v.c) [Index of all Viewer routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)