anchor.diff:      logical :: sz_avail, compress_var
       integer :: filter_info, sz_encode
   
  +    if (.not.present(force_kind)) then
       if ( (trajectory_name .ne. 'position') .and. (trajectory_name .ne. 'velocity') &
            .and. (trajectory_name .ne. 'jumps') &
            .and. (trajectory_name .ne. 'force') .and. (trajectory_name .ne. 'species') ) then
          write(*,*) 'non conforming trajectory name in h5md_add_trajectory_data'
          stop
  +    end if
       end if
       
       if (present(compress)) then
  
positive.code:     logical, intent(in), optional :: species_react
      character(len=*), intent(in), optional :: link_from
      logical, intent(in), optional :: compress
      
      character(len=128) :: path
      integer :: rank
  
negative.code:   !! dimension
    !! @param link_from is the name of another trajectory from which the time can be copied
    !! @param compress Switch to toggle SZIP compression.
    !! @param force_kind Force the supplied kind, "integer" or "double", for the dataset.
    subroutine h5md_add_trajectory_data(file_id, trajectory_name, N, D, ID, group_name, species_react, &
         link_from, compress, force_kind)
      integer(HID_T), intent(in) :: file_id
      character(len=*), intent(in) :: trajectory_name
      integer, intent(in) :: N, D
  