PETSc version 3.16.5
Fix/Edit manual page

# PetscViewerHDF5Open

Opens a file for HDF5 input/output.

### 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

| -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

| 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 ovewritten if the same fully qualified name (/group/path/to/object) is specified.

This PetscViewer should be destroyed with PetscViewerDestroy().

### See Also

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/vec/vec/tutorials/ex10.c.html
src/vec/vec/tutorials/ex19.c.html
src/dm/impls/plex/tutorials/ex5.c.html
src/dm/impls/plex/tutorials/ex12.c.html
src/dm/tutorials/ex9.c.html
src/dm/tutorials/ex10.c.html
src/ksp/ksp/tutorials/ex27.c.html
src/tao/tutorials/ex3.c.html
Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages