Reproducibility data for "Exact discrete identities of a fully implicit well-balanced discontinuous Galerkin method for the shallow water equations"
Abstract
The non-proprietary part of the reproducibility package of the paper: 191 computation logs, which contain the log sources of the computed values reported in the paper and also retain earlier and control runs; the 30 tables of the paper as comma-separated values; SHA-256 indexes of the logs; three checks that run on the deposit itself — the balance identities, the table numbers against their logs, and every log against the exit code its run recorded — and the script that produced the CSV tables; and the provenance map that links each table of the paper to the command, the binary and the log that produced it. The deposit includes an independent script, scripts/balance_from_data.py, that verifies the balance identities of the paper from the stored logs alone, without the solver: the bound of Theorem 2(b) row by row, the difference of the two sides of the volume-balance equality in units of the last place of the total volume, the cancellation of the contributions of the interior edges, and the exact conservation of volume on a closed boundary on both lattice connectivity and a Delaunay triangulation. The deposit also includes QUADRULE.json, a machine-readable manifest of the quadrature rule of every binary of the package: its SHA-256, the rule as the binary reports it through its own quad command (for the four gate binaries, which have no such command, the rule set by their build script), the volume and edge accuracies, and the logs recorded as written by that binary, 104 of the 191. The executables are not distributed, so the provenance of the quadrature rule is established from this record rather than from a file the reader does not have. The source code of the solver and the executables belong to the copyright holder and are not distributed here. There are no mesh files: a mesh is built inside the run, and the parameters it is built from are given in the supplementary material of the paper instead. Reference fields are not stored; what is stored are error norms and counters. The numerical solutions, the error norms and the deterministic counters repeat bitwise under the same build, the same environment and the same number of threads. This is repeatability of the computation and not independent reproducibility. Build identifier: compiler cl from Visual Studio 2022, switches /EHsc /std:c++17 /O2 /openmp, double precision, eight OpenMP threads. The volume quadrature rule is fixed at build time and differs between binaries; which series was computed with which rule is listed in README.md, in QUADRULE.json and in Section S2 of the supplementary material. Version 2 is an archival superset of version 1, not a minimal bundle of the revised paper. All 189 logs of version 1 and its eight checksum indexes are retained unchanged. The CSV files of the seventeen tables removed from the paper in revision, those of the solver and preconditioner study, are removed; the 30 remaining CSV files are the tables of the revised paper. The logs of the removed tables are listed apart in MANIFEST.md, and the presence of a retained log does not imply that it supplies a table or a numerical statement of the revised paper. Two logs of revision round 9, which measure the quadrature sum of the mass component of the additional source carried by Theorem 2, are added with their checksum index, and QUADRULE.json is added.