Config + one-shot header state. Lives on ocean_dyn_t;
host-only (never device-mapped).
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | enable | = | .false. |
Master gate — |
|
| integer, | public | :: | end_step | = | 0 |
Last outer step to sample (0 = no upper bound). |
|
| logical, | public | :: | header_done | = | .false. |
Column-header row emitted. |
|
| logical, | public | :: | interior | = | .false. |
Restrict every reduction to PHYSICAL cells (exclude the whole
ghost ring). Default Set this to make |
|
| integer, | public | :: | start_step | = | 0 |
First outer step to sample (0 = from the start). |
type :: chksum_probe_t !! Config + one-shot header state. Lives on `ocean_dyn_t`; !! host-only (never device-mapped). logical :: enable = .false. !! Master gate — `&ocean_debug_nml chksum`. integer :: start_step = 0 !! First outer step to sample (0 = from the start). integer :: end_step = 0 !! Last outer step to sample (0 = no upper bound). logical :: header_done = .false. !! Column-header row emitted. logical :: interior = .false. !! Restrict every reduction to PHYSICAL cells (exclude the whole !! ghost ring). Default `.false.` = legacy whole-array !! behaviour, so existing logs are unchanged. !! !! Set this to make `bits` a valid 1-rank-vs-N-rank gate. With !! ghosts included the reduced SET of values differs between !! decompositions even for correct code (ghosts hold BC junk on !! one layout and neighbour data on another), so a `bits` diff !! is meaningless. Restricted to physical cells the set is !! identical by construction, and since the POPCNT reduction is !! exact integer addition — associative and commutative — a !! correct run gives the SAME `bits` on any decomposition. !! A stage-by-stage diff then localises a decomposition bug to !! the first seam whose `bits` disagree. end type chksum_probe_t