38.2 Enabling drift

In FLASH, drift is disabled by default. Enabling drift is done by hand editing the Flash.h file generated by the setup process. The directive line #define DRIFT_ENABLE 0 should be changed to #define DRIFT_ENABLE 1. Once this has been changed, a recompilation will be necessary by executing make.

With drift enabled, the FLASH executable will generate log files in the same directory it is executed in. These files will be named drift.<rank>.log, one for each MPI process.

The following runtime parameters are read by drift to control its behavior:

Parameter Default Description
drift_trunc_mantissa 2 The number of least significant mantissa bits to zero out before hashing a floating point value. This can be used to stop numerical noise from altering checksum values.
drift_verbose_inst 0 The instance index at which drift should start logging checksums per call to Grid_releaseBlkPtr. Before this instance is hit, only user calls to Driver_driftUnk will generate log data. A value of zero means never log checksums per block. Instance counting is described below.
drift_tuples .false. A boolean switch indicating if drift should write logs in the more human readable "non-tuples" format or the machine friendly "tuples" format that can be read in by the driftDee script found in the tools/ directory. Generally the "non-tuples" format is a better choice to use with tools such as diff.