hdf5_obj_Final Subroutine

private impure subroutine hdf5_obj_Final(this)

Finalizes object and frees memory.

Type Bound

hdf5_obj

Arguments

Type IntentOptional Attributes Name
class(hdf5_obj), intent(inout) :: this

A HDF5 object


Calls

proc~~hdf5_obj_final~~CallsGraph proc~hdf5_obj_final hdf5_obj%hdf5_obj_Final h5garbage_collect_f h5garbage_collect_f proc~hdf5_obj_final->h5garbage_collect_f proc~hashtbl_obj_final hashtbl_obj%hashtbl_obj_Final proc~hdf5_obj_final->proc~hashtbl_obj_final

Called by

proc~~hdf5_obj_final~~CalledByGraph proc~hdf5_obj_final hdf5_obj%hdf5_obj_Final proc~bc_set_read bc_set%bc_set_Read proc~bc_set_read->proc~hdf5_obj_final proc~bc_set_write bc_set%bc_set_Write proc~bc_set_write->proc~hdf5_obj_final proc~block_obj_read block_obj%block_obj_Read proc~block_obj_read->proc~hdf5_obj_final proc~block_obj_write block_obj%block_obj_Write proc~block_obj_write->proc~hdf5_obj_final proc~eulerian_set_readhdf5 eulerian_set%eulerian_set_ReadHDF5 proc~eulerian_set_readhdf5->proc~hdf5_obj_final proc~eulerian_set_writehdf5 eulerian_set%eulerian_set_WriteHDF5 proc~eulerian_set_writehdf5->proc~hdf5_obj_final proc~h5hut_obj_final h5hut_obj%h5hut_obj_Final proc~h5hut_obj_final->proc~hdf5_obj_final proc~marker_set_readhdf5 marker_set%marker_set_ReadHDF5 proc~marker_set_readhdf5->proc~hdf5_obj_final proc~marker_set_writehdf5 marker_set%marker_set_WriteHDF5 proc~marker_set_writehdf5->proc~hdf5_obj_final proc~particle_set_readhdf5 particle_set%particle_set_ReadHDF5 proc~particle_set_readhdf5->proc~hdf5_obj_final proc~particle_set_writehdf5 particle_set%particle_set_WriteHDF5 proc~particle_set_writehdf5->proc~hdf5_obj_final proc~respart_set_readhdf5 ResPart_set%ResPart_set_ReadHDF5 proc~respart_set_readhdf5->proc~hdf5_obj_final proc~respart_set_readhdf5->proc~marker_set_readhdf5 proc~respart_set_writehdf5 ResPart_set%ResPart_set_WriteHDF5 proc~respart_set_writehdf5->proc~hdf5_obj_final proc~respart_set_writehdf5->proc~marker_set_writehdf5 proc~solid_set_readhdf5 solid_set%solid_set_ReadHDF5 proc~solid_set_readhdf5->proc~hdf5_obj_final proc~solid_set_readhdf5->proc~marker_set_readhdf5 proc~solid_set_writehdf5 solid_set%solid_set_WriteHDF5 proc~solid_set_writehdf5->proc~hdf5_obj_final proc~solid_set_writehdf5->proc~marker_set_writehdf5 proc~eulerian_set_readh5hut eulerian_set%eulerian_set_ReadH5HUT proc~eulerian_set_readh5hut->proc~h5hut_obj_final proc~eulerian_set_writeh5hut eulerian_set%eulerian_set_WriteH5HUT proc~eulerian_set_writeh5hut->proc~h5hut_obj_final proc~marker_set_readh5hut marker_set%marker_set_ReadH5HUT proc~marker_set_readh5hut->proc~h5hut_obj_final proc~marker_set_writeh5hut marker_set%marker_set_WriteH5HUT proc~marker_set_writeh5hut->proc~h5hut_obj_final proc~particle_set_readh5hut particle_set%particle_set_ReadH5HUT proc~particle_set_readh5hut->proc~h5hut_obj_final proc~particle_set_writeh5hut particle_set%particle_set_WriteH5HUT proc~particle_set_writeh5hut->proc~h5hut_obj_final proc~respart_set_readh5hut ResPart_set%ResPart_set_ReadH5HUT proc~respart_set_readh5hut->proc~h5hut_obj_final proc~respart_set_writeh5hut ResPart_set%ResPart_set_WriteH5HUT proc~respart_set_writeh5hut->proc~h5hut_obj_final proc~respart_set_writeh5hut->proc~marker_set_writeh5hut proc~solid_set_readh5hut solid_set%solid_set_ReadH5HUT proc~solid_set_readh5hut->proc~h5hut_obj_final proc~solid_set_writeh5hut solid_set%solid_set_WriteH5HUT proc~solid_set_writeh5hut->proc~h5hut_obj_final

Source Code

    impure subroutine hdf5_obj_Final(this)
      !> Finalizes object and frees memory.
      implicit none
      class(hdf5_obj), intent(inout) :: this                                   !! A HDF5 object
      ! Work variables
      integer :: ierr

      ! Close if file is still open
      call this%Close()

      ! Finalize hash table
      call this%tbl%Finalize()

      if (allocated(this%filename)) deallocate(this%filename)

      ! Nullify pointers
      this%parallel => null()

      ! Finalize HDF5's Fortran interface
      !call H5close_f(ierr)
      call H5garbage_collect_f(ierr)

      return
    end subroutine hdf5_obj_Final