anchor.diff:  
       if (this%id_info%store) then
          info = this%id_info
  +       if ( (info%step_offset < 0) .and. (info%time_offset > 0) .or. &
  +            (info%step_offset > 0) .and. (info%time_offset < 0) ) then
  +          stop 'use both or neither of step_offset and time_offset in ps_init id'
  +       end if
  +
          if (iand(info%mode, H5MD_TIME) == H5MD_TIME) then
             call this%id%create_time(this% group, 'id', ps% id, info%mode)
          else if (iand(info%mode, H5MD_LINEAR) == H5MD_LINEAR) then
  -          call this%id%create_time(this% group, 'id', ps% id, info%mode, info%step, info%time)
  +          if (info%step_offset > 0) then
  +             call this%id%create_time(this% group, 'id', ps% id, info%mode, info%step, &
  +                  info%time, step_offset=info%step_offset, time_offset=info%time_offset)
  +          else
  +             call this%id%create_time(this% group, 'id', ps% id, info%mode, info%step, &
  +                  info%time)
  +          end if
          else if (iand(info%mode, H5MD_FIXED) == H5MD_FIXED) then
             call this%id%create_fixed(this% group, 'id', ps% id)
          else
  
positive.code:   type particle_system_io_info_t
       integer :: mode
       integer :: step
       double precision :: time
       logical :: store
    end type particle_system_io_info_t
  
  
negative.code: 
      if (this%image_info%store) then
         info = this%image_info
         if ( (info%step_offset < 0) .and. (info%time_offset > 0) .or. &
              (info%step_offset > 0) .and. (info%time_offset < 0) ) then
            stop 'use both or neither of step_offset and time_offset in ps_init image'
         end if
  
         if (iand(info%mode, H5MD_TIME) == H5MD_TIME) then
            call this%image%create_time(this% group, 'image', ps% image, info%mode)
         else if (iand(info%mode, H5MD_LINEAR) == H5MD_LINEAR) then
            if (info%step_offset > 0) then
               call this%image%create_time(this% group, 'image', ps% image, info%mode, info%step, &
                    info%time, step_offset=info%step_offset, time_offset=info%time_offset)
            else
               call this%image%create_time(this% group, 'image', ps% image, info%mode, info%step, &
                    info%time)
            end if
         else if (iand(info%mode, H5MD_FIXED) == H5MD_FIXED) then
            call this%image%create_fixed(this% group, 'image', ps% image)
         else
  