anchor.diff:              end if
   
               ! Initialise HDF5 and open file.
  -            ! NOTE: if file exists, then it is overwritten.
   ! [review] -  AJWT: But the get_unique_filename above ensures this doesn't happen?
  +! [reply] - JSS:
  +            ! NOTE: if file exists (ie user requested we re-use an existing file), then it is overwritten.
               call h5open_f(ierr)
               call h5fcreate_f(restart_file, H5F_ACC_TRUNC_F, file_id, ierr)
   
   ! [review] -  AJWT: I don't immediately see what these are used for.
   ! [review] -  AJWT: These kinds are used in the write_* functions.
  -            ! i0 kind?  What a nice interface!
  +! [reply] - JSS:
  +            ! Convert our non-standard kinds to something HDF5 understands.
               h5_i0 = h5kind_to_type(i0, H5_INTEGER_KIND)
               h5_p = h5kind_to_type(p, H5_REAL_KIND)
               h5_lint = h5kind_to_type(lint, H5_INTEGER_KIND)
   
   ! [review] -  AJWT: This is getting a bit cryptic (but ok if you bear with it)
  +! [reply] - JSS: added links to HDF5 documentation at top of restart file.  Not sure what
  +! [reply] - JSS: else can be done without direct brain transfer or one going through the
  +! [reply] - JSS: HDF tutorial.
               ! --- metadata group ---
               call h5gcreate_f(file_id, gmetadata, group_id, ierr)
               call h5gopen_f(file_id, gmetadata, group_id, ierr)
  
positive.code: module restart_hdf5
  ! [review] -  AJWT: We should consider future usage at this point before the format is entrenched!
  !               I'll add this to the dev list email.
      ! Restart functionality based on the HDF5 library.  Note: this is only
      ! for QMC (ie FCIQMC, DMQMC or CCMC) calculations).
  
      ! We save things we absolutely need to restart the calculation, some useful
      ! metadata (to make it possible to figure out where the restart file came
  
negative.code: 
      type restart_info_t
  ! [review] -  AJWT: The comments in parse_input are not helpful in this regard!  More please.
  ! [reply] - JSS:
          ! If write_id is negative, then it was set by the user in the input file.  Set
          ! Y=-ID-1 to undo the transformation in parse_input, where Y is in the restart
          ! filename below.  If non-negative, generate Y such that the restart filename is unique.
          integer :: write_id ! ID number to write to.
          ! As for write_id but if positive find the highest possible value of Y  out of the
          ! existing restart files (assuming they have sequential values of Y).
          integer :: read_id  ! ID number to write to.
          ! Number of QMC iterations between writing out a restart file.
          integer :: write_restart_freq
          ! Stem to use for creating restart filenames (of the format restart_stem.Y.pX,
          ! where X is the processor rank and Y is a common positive integer related to
          ! write_id/read_id.
          character(8), private :: restart_stem = 'HANDE.RS'
      end type restart_info_t
  
      ! Global restart info store until we have a calc type which is passed
  