DISPATCH
validate_mod Module Reference

Generic validation module. The general idea is to be able to compare two runs at critical points in the sequence of evaluation, by having the first run write to files, which the 2nd job reads from, and then compare the contents. More...

Data Types

type  validate_t
 

Variables

type(validate_t), public validate
 

Detailed Description

Generic validation module. The general idea is to be able to compare two runs at critical points in the sequence of evaluation, by having the first run write to files, which the 2nd job reads from, and then compare the contents.

For now, the data are stored in a single file per rank, which implies that comparisons only work as long as the updates occur in exactly the same order, allowing

  1. Runs that use a single core, and which are therefore updating patches in exactly the same order, allowing bit-wise match for unchanged code.

However, since this functionality is primarily intended for testing and validation of small runs, having one file per patch would not be a problem. This would allow also the kinds of tests below:

  1. Runs that use several core on a single MPI rank, where results are not expected to be bit-wise identical, but where one can get useful information about the magnitudes of differences, separately in guard zones and the interior.
  2. The same, but withe several ranks. Assuming patch IDs are identical in two runs, the same type of quantitative comparisons as in item 2 can be made.

Syntax: call validatecheck (patchlink, scalar, 'label string') call validatecheck (patchlink, array, 'label string')

where 'array' may be 1-D, 2-D, 3-D, or 4-D.