anchor.diff:    REAL(KIND=C_DOUBLE), INTENT(OUT), TARGET :: field
     REAL, INTENT(IN)                         :: rperturb
   
  -  CALL fs_read(serializer, savepoint, fieldname, field)
  +  CALL fs_read_field(serializer, savepoint, fieldname, field)
     CALL fld_perturb(field, rperturb)
   END SUBROUTINE fs_read_and_perturb_double
   
   
   END MODULE m_serialize
  -
  
positive.code:   INTEGER(KIND=C_INT), INTENT(OUT), TARGET :: field
    REAL, INTENT(IN)                         :: rperturb
  
    CALL fs_read(serializer, savepoint, fieldname, field)
  END SUBROUTINE fs_read_and_perturb_int
  
  SUBROUTINE fs_read_and_perturb_float(serializer, savepoint, fieldname, field, rperturb)
  
negative.code:   REAL(KIND=C_FLOAT), INTENT(OUT), TARGET :: field
    REAL, INTENT(IN)                         :: rperturb
  
    CALL fs_read_field(serializer, savepoint, fieldname, field)
    CALL fld_perturb(field, rperturb)
  END SUBROUTINE fs_read_and_perturb_float
  
  