.true. only for VMIX_INTERIOR_PP81 — the one interior
closure with a real kernel today. VMIX_INTERIOR_LARGE94 and
VMIX_INTERIOR_CVMIX are declared-but-unimplemented reservations
(no kernel); selecting one would leave kv/kt stale (no
interior mixing at all). interior_closure has no namelist key
yet, so this is defence-in-depth (PR-6) for the next code/config
consumer that sets it — the predicate is the gate.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | code |
pure function vmix_interior_closure_is_implemented(code) result(ok) !! `.true.` only for `VMIX_INTERIOR_PP81` — the one interior !! closure with a real kernel today. `VMIX_INTERIOR_LARGE94` and !! `VMIX_INTERIOR_CVMIX` are declared-but-unimplemented reservations !! (no kernel); selecting one would leave `kv`/`kt` stale (no !! interior mixing at all). `interior_closure` has no namelist key !! yet, so this is defence-in-depth (PR-6) for the next code/config !! consumer that sets it — the predicate is the gate. integer, intent(in) :: code logical :: ok ok = (code == VMIX_INTERIOR_PP81) end function vmix_interior_closure_is_implemented