anchor.diff:  !              I foresee a time when the calc_type format will change, and the code
   !              below will be a pain.  Perhaps some sort of interface for this.
   !             In particular, I don't think the restart_read should be dealing with this sort of thing.
  +! [reply] - JSS: leave as todo for now.
  +                ! [todo] - Allow restart files for one calculation types to be used to
  +                ! [todo] - restart a (suitably compatible) different calculation.
                   ! Different calc types are either not compatible or require
                   ! hyperslabs (fewer particle types) or require copying (more
                   ! particle types).
  
positive.code:                 call write_string(group_id, dhande, VCS_VERSION)
  
  ! [review] -  AJWT: This doesn't appear to agree with the comments at the top
                  call write_string(group_id, duuid, GLOBAL_UUID)
  
                  call date_and_time(values=date_time)
  ! [review] -  AJWT: What does this actually look like?
                  write (date_str,'(2(i0.2,":"),i0.2,1X,2(i0.2,"/"),i4)') date_time(5:7), date_time(3:1:-1)
                  call write_string(group_id, ddate, date_str)
  
  
negative.code:             integer, intent(in) :: ncycles
              integer(lint), intent(in) :: total_population(:)
  ! [review] -  AJWT: This 255 character limit seems a trifle out-dated!
  ! [reply] - JSS: out-dated but rather convenient.  The user should not be able to change the filename stem (as it's marked private),
  ! [reply] - JSS: and so it leaves plenty of room for the processor rank and file id.
              character(255) :: restart_file
  
              ! HDF5 kinds
  