Since phase P1 (Full 2D Parity) the driver is a thin shell over
solver_runtime_2d: config read -> context init -> run-to-end via the
bounded step loop -> final logs -> gather/write. The CLI output is
bit-for-bit identical to the pre-P1 monolithic loop (same setup order, same
log lines, same plain time accumulation); the attached IPC worker (phase
P2) drives the SAME runtime, so both paths observe one numerical run.
Run the full 2D Euler solve: read config, init, time-march, gather and write.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | nml_file |
Path to the namelist input file. |
||
| logical, | intent(out) | :: | ok |
Set .true. on success, .false. on any error. |
||
| character(len=*), | intent(out) | :: | message |
Human-readable error description when ok is .false. |