Opens a group (analogous to directory) in an HDF5 file and updates hash table.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hdf5_obj), | intent(inout) | :: | this |
A HDF5 object |
||
| character(len=*), | intent(in) | :: | groupname |
Group name |
impure subroutine hdf5_obj_OpenGroup(this,groupname) !> Opens a group (analogous to directory) in an HDF5 ! file and updates hash table. implicit none class(hdf5_obj), intent(inout) :: this !! A HDF5 object character(len=*), intent(in) :: groupname !! Group name ! Work variables integer(HID_T) :: obj integer :: ierr character(len=:), & allocatable :: groupname_ ! Format name of this group groupname_=this%FixGroupName(groupname) ! If not already open, open group and add it to hashtable if (this%GetGroupObject(groupname).eq.-1_HID_T) then ! Open group call H5Oopen_f(this%fid,groupname_,obj,ierr) if (ierr.ne.0) & call this%parallel%Stop("Unable to open group "//trim(adjustl(groupname))//" in HDF5 file "//this%filename) ! Add to hash table call this%tbl%Put(key=this%tbl%HashString(groupname_),val=obj) end if return end subroutine hdf5_obj_OpenGroup