ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_SBMRestart.H
Go to the documentation of this file.
1 #ifndef ERF_SBM_RESTART_H_
2 #define ERF_SBM_RESTART_H_
3 
5 
6 #include <AMReX_MultiFab.H>
7 
8 #include <string>
9 
10 namespace erf_sbm {
11 
12 /** Exact semantic restart schema; no implicit checkpoint migration is performed. */
13 [[nodiscard]] std::string restart_schema (const SBMLayout& layout);
14 
15 /** Compare persisted and expected schemas byte-for-byte. */
16 [[nodiscard]] bool restart_schema_matches (const SBMLayout& layout,
17  const std::string& persisted);
18 
19 /** Validate every valid-cell value against the layout's runtime constraints. */
20 [[nodiscard]] bool authoritative_state_admissible (
21  const amrex::MultiFab& spectrum, const SBMLayout& layout, int level,
22  std::string* diagnostic = nullptr);
23 
24 /** Compare the projected spectrum to checkpointed qc/qr without mutating core. */
25 [[nodiscard]] bool restart_projection_matches (const amrex::MultiFab& spectrum,
26  const amrex::MultiFab& persisted_core,
27  const SBMBulkProjection& projection,
28  int qc_component, int qr_component,
29  amrex::Real tolerance_scale = amrex::Real(128.0));
30 
31 } // namespace erf_sbm
32 
33 #endif
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF.H:108
std::string restart_schema(const SBMLayout &layout)
Definition: ERF_SBMRestart.cpp:22
bool restart_projection_matches(const amrex::MultiFab &spectrum, const amrex::MultiFab &persisted_core, const SBMBulkProjection &projection, const int qc_component, const int qr_component, const amrex::Real tolerance_scale)
Definition: ERF_SBMRestart.cpp:183
bool restart_schema_matches(const SBMLayout &layout, const std::string &persisted)
Definition: ERF_SBMRestart.cpp:34
bool authoritative_state_admissible(const amrex::MultiFab &spectrum, const SBMLayout &layout, const int level, std::string *diagnostic)
Definition: ERF_SBMRestart.cpp:39