Is this step’s status tally a FAIL-LOUD condition?
A non-finite input or intermediate on a covered column means the
state feeding the interface is already corrupt; the kernel’s
safe state (zero melt) would hide it behind a plausible run.
NOT_CONVERGED and NO_PHYSICAL_ROOT are NOT fatal — they are
counted and warned, and those columns take the documented
zero-melt safe state.
A pure predicate so the test suite can assert the DECISION
without provoking error stop, the way the repo tests every
other fail-loud rule.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n_nonfinite |
|
pure function cavity_melt_status_is_fatal(n_nonfinite) result(is_fatal) !! Is this step's status tally a FAIL-LOUD condition? !! !! A non-finite input or intermediate on a covered column means the !! state feeding the interface is already corrupt; the kernel's !! safe state (zero melt) would hide it behind a plausible run. !! `NOT_CONVERGED` and `NO_PHYSICAL_ROOT` are NOT fatal — they are !! counted and warned, and those columns take the documented !! zero-melt safe state. !! !! A `pure` predicate so the test suite can assert the DECISION !! without provoking `error stop`, the way the repo tests every !! other fail-loud rule. integer, intent(in) :: n_nonfinite !! `n_nonfinite_step` from `cavity_status_counts_impl`. logical :: is_fatal is_fatal = (n_nonfinite > 0) end function cavity_melt_status_is_fatal