run_banner Module

Version string is sourced from version_info:solver_build().



Functions

public pure function format_run_banner(version, compiler, label, opt_flag, n_rank, prog) result(line)

Assemble the single ASCII banner line. Pure; ASCII separators only so it renders correctly on Windows consoles as well. version must include the leading v (e.g. v0.1.0-dev). Optional prog overrides the default program name euler_1d.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: version
character(len=*), intent(in) :: compiler
character(len=*), intent(in) :: label
character(len=*), intent(in) :: opt_flag
integer, intent(in) :: n_rank
character(len=*), intent(in), optional :: prog

Return Value character(len=:), allocatable


Subroutines

public pure subroutine classify_build(options, label, opt_flag)

Classify a compiler_options() string as debug/release/unknown and return the optimization flag actually present. Pure string scan; the last '-O' token wins (compilers honour the last -O). No MPI / no intrinsics.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: options
character(len=*), intent(out) :: label
character(len=*), intent(out) :: opt_flag

public subroutine log_run_banner(name)

Emit the one-line startup banner via log_info on rank 0. log_info's private emit already returns early on ranks > 0 (unless LOG_ALL_RANKS), so no explicit rank guard is needed here. Optional name overrides the default program name euler_1d.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in), optional :: name