hdf5_obj_GetNPoints Function

private impure function hdf5_obj_GetNPoints(this, groupname, name) result(val)

Returns the number of points in a dataset given by name under group given by name.

Type Bound

hdf5_obj

Arguments

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

A HDF5 object

character(len=*), intent(in) :: groupname

Parent group name

character(len=*), intent(in) :: name

Dataset name

Return Value integer

Result


Calls

proc~~hdf5_obj_getnpoints~~CallsGraph proc~hdf5_obj_getnpoints hdf5_obj%hdf5_obj_GetNPoints h5dclose_f h5dclose_f proc~hdf5_obj_getnpoints->h5dclose_f h5dget_space_f h5dget_space_f proc~hdf5_obj_getnpoints->h5dget_space_f h5dopen_f h5dopen_f proc~hdf5_obj_getnpoints->h5dopen_f h5sclose_f h5sclose_f proc~hdf5_obj_getnpoints->h5sclose_f h5sget_simple_extent_npoints_f h5sget_simple_extent_npoints_f proc~hdf5_obj_getnpoints->h5sget_simple_extent_npoints_f proc~hdf5_obj_closegroup hdf5_obj%hdf5_obj_CloseGroup proc~hdf5_obj_getnpoints->proc~hdf5_obj_closegroup proc~hdf5_obj_getgroupobject hdf5_obj%hdf5_obj_GetGroupObject proc~hdf5_obj_getnpoints->proc~hdf5_obj_getgroupobject proc~hdf5_obj_opengroup hdf5_obj%hdf5_obj_OpenGroup proc~hdf5_obj_getnpoints->proc~hdf5_obj_opengroup proc~hdf5_obj_closegroup->proc~hdf5_obj_getgroupobject h5gclose_f h5gclose_f proc~hdf5_obj_closegroup->h5gclose_f proc~hashtbl_obj_hashstring hashtbl_obj%hashtbl_obj_HashString proc~hdf5_obj_closegroup->proc~hashtbl_obj_hashstring proc~hashtbl_obj_remove hashtbl_obj%hashtbl_obj_Remove proc~hdf5_obj_closegroup->proc~hashtbl_obj_remove proc~hdf5_obj_fixgroupname hdf5_obj%hdf5_obj_FixGroupName proc~hdf5_obj_closegroup->proc~hdf5_obj_fixgroupname none~get~3 hashtbl_obj%Get proc~hdf5_obj_getgroupobject->none~get~3 proc~hdf5_obj_getgroupobject->proc~hashtbl_obj_hashstring proc~hdf5_obj_getgroupobject->proc~hdf5_obj_fixgroupname proc~hdf5_obj_opengroup->proc~hdf5_obj_getgroupobject h5oopen_f h5oopen_f proc~hdf5_obj_opengroup->h5oopen_f proc~hdf5_obj_opengroup->proc~hashtbl_obj_hashstring proc~hashtbl_obj_put hashtbl_obj%hashtbl_obj_Put proc~hdf5_obj_opengroup->proc~hashtbl_obj_put proc~hdf5_obj_opengroup->proc~hdf5_obj_fixgroupname proc~hashtbl_obj_get_int4 hashtbl_obj%hashtbl_obj_Get_int4 none~get~3->proc~hashtbl_obj_get_int4 proc~hashtbl_obj_get_int8 hashtbl_obj%hashtbl_obj_Get_int8 none~get~3->proc~hashtbl_obj_get_int8 proc~hashtbl_obj_get_real_dp hashtbl_obj%hashtbl_obj_Get_real_dp none~get~3->proc~hashtbl_obj_get_real_dp proc~hashtbl_obj_get_real_sp hashtbl_obj%hashtbl_obj_Get_real_sp none~get~3->proc~hashtbl_obj_get_real_sp proc~sllist_obj_put sllist_obj%sllist_obj_Put proc~hashtbl_obj_put->proc~sllist_obj_put proc~sllist_obj_remove sllist_obj%sllist_obj_Remove proc~hashtbl_obj_remove->proc~sllist_obj_remove none~get~2 sllist_obj%Get proc~hashtbl_obj_get_int4->none~get~2 proc~hashtbl_obj_get_int8->none~get~2 proc~hashtbl_obj_get_real_dp->none~get~2 proc~hashtbl_obj_get_real_sp->none~get~2 proc~sllist_obj_put->proc~sllist_obj_put proc~sllist_obj_get_int4 sllist_obj%sllist_obj_Get_int4 none~get~2->proc~sllist_obj_get_int4 proc~sllist_obj_get_int8 sllist_obj%sllist_obj_Get_int8 none~get~2->proc~sllist_obj_get_int8 proc~sllist_obj_get_real_dp sllist_obj%sllist_obj_Get_real_dp none~get~2->proc~sllist_obj_get_real_dp proc~sllist_obj_get_real_sp sllist_obj%sllist_obj_Get_real_sp none~get~2->proc~sllist_obj_get_real_sp proc~sllist_obj_get_int4->proc~sllist_obj_get_int4 proc~sllist_obj_get_int8->proc~sllist_obj_get_int8 proc~sllist_obj_get_real_dp->proc~sllist_obj_get_real_dp proc~sllist_obj_get_real_sp->proc~sllist_obj_get_real_sp

Called by

proc~~hdf5_obj_getnpoints~~CalledByGraph proc~hdf5_obj_getnpoints hdf5_obj%hdf5_obj_GetNPoints proc~h5hut_obj_getnpoints h5hut_obj%h5hut_obj_GetNPoints proc~h5hut_obj_getnpoints->proc~hdf5_obj_getnpoints proc~marker_set_readh5hut marker_set%marker_set_ReadH5HUT proc~marker_set_readh5hut->proc~h5hut_obj_getnpoints proc~particle_set_readh5hut particle_set%particle_set_ReadH5HUT proc~particle_set_readh5hut->proc~h5hut_obj_getnpoints proc~respart_set_readh5hut ResPart_set%ResPart_set_ReadH5HUT proc~respart_set_readh5hut->proc~h5hut_obj_getnpoints

Source Code

    impure function hdf5_obj_GetNPoints(this,groupname,name) result(val)
      !> Returns the number of points in a dataset given by name under group given by name.
      implicit none
      class(hdf5_obj),  intent(inout) :: this                                  !! A HDF5 object
      character(len=*), intent(in)    :: groupname                             !! Parent group name
      character(len=*), intent(in)    :: name                                  !! Dataset name
      integer                         :: val                                   !! Result
      ! Work variables
      integer(HID_T)   :: did
      integer(HID_T)   :: sidg
      integer(HSIZE_T) :: npoints
      integer(HID_T)   :: obj
      integer          :: ierr

      ! Open group, if not already open
      call this%OpenGroup(groupname)

      ! Get group object
      obj = this%GetGroupObject(groupname)

      ! Open dataset
      call H5Dopen_f(obj, trim(adjustl(name)), did, ierr)
      if (ierr.ne.0) &
        call this%parallel%Stop("Unable to open dataset "//trim(adjustl(name))//" under "//trim(adjustl(groupname))//" in HDF5 file "//this%filename)

      ! Get the global data space from file
      call H5Dget_space_f(did,sidg,ierr)

      ! Get number of points in this dataset
      call H5Sget_simple_extent_npoints_f(sidg,npoints,ierr)

      ! Close dataset
      call H5Dclose_f(did,ierr)

      ! Close data spaces
      call H5Sclose_f(sidg,ierr)

      ! Close group
      call this%CloseGroup(groupname)

      ! Return array size
      val = int(npoints,leapI4)

      return
    end function hdf5_obj_GetNPoints