anchor.diff:              integer(lint), allocatable, target :: tmp_pop(:)
               character(10) :: proc_suf
               real(p), target :: tmp(1)
  -
  +!REVIEW-AJWT: By now I'm getting the sinking feeling from the variable list that this procedure is quite monolithic!
  +
  +!REVIEW-AJWT: A comment as to the format of the filename would be helpful.  I'd've written one, but I couldn't immediately figure it out
  +!REVIEW-AJWT: Having looked back I saw:   the format is restart_stem.Y.pX, where X is the processor rank and Y is a common integer given by write_id or read_id.
               ! Figure out filename.
               write (proc_suf,'(".p",'//int_fmt(iproc,0)//')') iproc
  +!REVIEW-AJWT: Might ri be an input parameter whose value defaults to restart_info_global?
               associate(ri => restart_info_global)
                   if (ri%write_id < 0) then
                       call get_unique_filename(trim(ri%restart_stem), trim(proc_suf), .true., ri%write_id, restart_file)
  
positive.code:             h5_p = h5kind_to_type(p, H5_REAL_KIND)
              h5_lint = h5kind_to_type(lint, H5_INTEGER_KIND)
  
              ! --- metadata group ---
              call h5gopen_f(file_id, gmetadata, group_id, ierr)
  
  
negative.code:             integer :: ierr
              character(len(string)) :: sarr(1)
  
  !REVIEW-AJWT:  This indicates perhaps a misunderstanding of the format which might not be good news
  !               for compatability.  Any chance this can be looked at again?
              ! Can't figure out how to write one string.  Just copy into an array
              ! (which I can get to work, bizarrely!).  Only have a few strings to
              ! write out, so performance overhead is essentially 0.
  