anchor.diff:      integer(hid_t) :: attr_id
       character(len=*),intent(out) :: value
       integer :: hdferr
  -    INTEGER(HID_T) :: atype_id
  +    integer(hid_t) :: atype_id
       call hdf5_check_exists_keyword(handle, path, name)
  -    CALL h5tcopy_f(H5T_NATIVE_CHARACTER, atype_id, hdferr)
  +    call h5tcopy_f(h5t_native_character, atype_id, hdferr)
       call check_status(hdferr,'hdf5_read_k_string [1]')
  -    CALL h5tset_size_f(atype_id, int(len(value),size_t), hdferr)
  +    call h5tset_size_f(atype_id, int(len(value),size_t), hdferr)
       call check_status(hdferr,'hdf5_read_k_string [2]')
       call h5aopen_by_name_f(handle, path, name, attr_id, hdferr)
       call check_status(hdferr,'hdf5_read_k_string [3]')
  
positive.code:     call h5dwrite_f(dset_id, h5t_ieee_f64le, buf_real, dims, hdferr)
    end subroutine h5dwrite_f_i64_6d
  
    subroutine h5tbread_field_name_f_i64_1d(loc_id, dset_name, field_name, start, nrecords, type_size, buf, errcode) 
      implicit none
      integer(hid_t), intent(in) :: loc_id           ! file or group identifier 
      character(len=*), intent(in) :: dset_name      ! name of the dataset 
      character(len=*), intent(in) :: field_name     ! name of the field
      integer(hsize_t), intent(in) :: start          ! start record 
      integer(hsize_t), intent(in) :: nrecords       ! records
      integer(size_t), intent(in) :: type_size       ! type size 
      integer(idp), intent(out) :: buf(:)             ! data buffer 
      integer :: errcode                             ! error code 
      real(dp) :: buf_real(size(buf, 1))
      call h5tbread_field_name_f(loc_id, dset_name, field_name, start, nrecords, type_size, buf_real, errcode) 
      buf = int(buf_real, idp)
    end subroutine h5tbread_field_name_f_i64_1d
  
    subroutine h5tbwrite_field_name_f_i64_1d(loc_id, dset_name, field_name, start, nrecords, type_size, buf, errcode) 
      implicit none
      integer(hid_t), intent(in) :: loc_id           ! file or group identifier 
      character(len=*), intent(in) :: dset_name      ! name of the dataset 
      character(len=*), intent(in) :: field_name     ! name of the field
      integer(hsize_t), intent(in) :: start          ! start record 
      integer(hsize_t), intent(in) :: nrecords       ! records
      integer(size_t), intent(in) :: type_size       ! type size
      integer(idp), intent(in) :: buf(:)             ! data buffer 
      integer :: errcode                             ! error code
      real(dp) :: buf_real(size(buf, 1))
      buf_real = real(buf, dp)
      call h5tbwrite_field_name_f(loc_id, dset_name, field_name, start, nrecords, type_size, buf_real, errcode) 
    end subroutine h5tbwrite_field_name_f_i64_1d
  
    elemental subroutine clean_string(string)
  
negative.code:      module procedure hdf5_read_5d_array_alloc_h5t_std_i32le
       module procedure hdf5_read_5d_array_alloc_h5t_std_i64le
       module procedure hdf5_read_5d_array_alloc_h5t_ieee_f32le
       module procedure hdf5_read_5d_array_alloc_h5t_ieee_f64le
       module procedure hdf5_read_6d_array_alloc_h5t_std_i32le
       module procedure hdf5_read_6d_array_alloc_h5t_std_i64le
       module procedure hdf5_read_6d_array_alloc_h5t_ieee_f32le
  