anchor.diff:    ! time dependent, if set to .false., 'species' will not possess the time
     ! dimension
     ! link_from is the name of another trajectory from which the time can be copied
  -  subroutine h5md_add_trajectory_data(file_id, trajectory_name, N, D, d_id, step_id, time_id, group_name, species_react, link_from)
  +  subroutine h5md_add_trajectory_data(file_id, trajectory_name, N, D, ID, group_name, species_react, link_from)
       integer(HID_T), intent(in) :: file_id
       character(len=*), intent(in) :: trajectory_name
       integer, intent(in) :: N, D
  -    integer(HID_T), intent(out) :: d_id, time_id, step_id
  +    type(h5md_t), intent(out) :: ID
       character(len=*), intent(in), optional :: group_name
       logical, intent(in), optional :: species_react
       character(len=*), intent(in), optional :: link_from
  
positive.code: 
    end subroutine h5md_append_step_time
  
    subroutine h5md_create_obs(file_id, name, d_id, step_id, time_id, link_from, is_int)
      integer(HID_T), intent(inout) :: file_id
      integer(HID_T), intent(out) :: d_id, step_id, time_id
      character(len=*), intent(in) :: name
      character(len=*), intent(in), optional :: link_from
      logical, intent(in), optional :: is_int
  
negative.code: 
    end subroutine h5md_close_obs
    
    subroutine h5md_close_ID(ID)
      type(h5md_t), intent(inout) :: ID
  
      call h5dclose_f(ID% d_id, h5_error)
      call h5dclose_f(ID% s_id, h5_error)
      call h5dclose_f(ID% t_id, h5_error)
  
    end subroutine h5md_close_ID
  
  end module h5md
  