anchor.diff:        fs_read_double_4d
     END INTERFACE
   
  +  !==============================================================================
  +  !+ Module interface to read and perturb the given field at the given savepoint
  +  !------------------------------------------------------------------------------
  +  INTERFACE fs_read_and_perturb_field
  +    MODULE PROCEDURE &
  +!      fs_read_int,   &
  +!      fs_read_float, &
  +      fs_read_and_perturb_double
  +  END INTERFACE
  +
   CONTAINS
   
   !============================================================================
  
positive.code:                       C_LOC(padd), istride, jstride, kstride, lstride)
  END SUBROUTINE fs_read_double_0d
  
  
  SUBROUTINE fs_read_double_1d(serializer, savepoint, fieldname, field)
    TYPE(t_serializer), INTENT(IN)           :: serializer
  
negative.code:                       C_LOC(padd), istride, jstride, kstride, lstride)
  END SUBROUTINE fs_read_float_0d
  
  SUBROUTINE fs_read_float_1d(serializer, savepoint, fieldname, field)
    TYPE(t_serializer), INTENT(IN)           :: serializer
    TYPE(t_savepoint) , INTENT(IN)           :: savepoint
  