public function peak_fields_lookup(flow_case_name, time_intg, n_species, les_on, ibm_on, output_vorticity, output_qcriterion, lowmem_transeq) result(n)
Static estimate of the allocator's work-field high-water mark
(allocator_t%next_id after one substep - see src/allocator.f90),
evaluated purely from config flags, no build/run required.
This is grid independent: which get_block calls a run makes depends
only on flow_case_name and which features are switched on, not on
the grid dimensions. Terms below are additive EXCEPT
output_vorticity/output_qcriterion, which are measured jointly - see
that block's comment for why.
Every number here was measured with the real build+measure probe
(src/memcheck.f90's --build, CUDA backend, regular -not
lowmem_transeq- transeq path) unless flagged TODO, in which case it
is a best-effort value derived by reading the allocation site rather
than measuring it, and should be treated as provisional until
confirmed. --build's self-verification check (check_peak_fields_
table in src/memcheck.f90) compares its own measured next_id against
this function for the same config and warns on any mismatch, so
this table is expected to be corrected/extended over time rather
than treated as final.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.