|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_SBMStateManager.H>

Classes | |
| struct | LevelState |
Public Member Functions | |
| SBMStateManager (SBMLayout layout, int nlevels) | |
| const SBMLayout & | layout () const noexcept |
| int | nlevels () const noexcept |
| bool | is_defined (int lev) const |
| void | define (int lev, const amrex::BoxArray &grids, const amrex::DistributionMapping &mapping, double current_time, int ngrow=0) |
| void | destroy (int lev) |
| const amrex::MultiFab & | old_state (int lev) const |
| double | old_time (int lev) const |
| bool | old_valid (int lev) const |
| const amrex::MultiFab & | new_state (int lev) const |
| double | new_time (int lev) const |
| bool | new_valid (int lev) const |
| amrex::MultiFab & | new_state_for_initialization (int lev) |
| amrex::MultiFab & | new_target_storage (int lev) |
| bool | begin_step (int lev, double step_old_time, std::string &diagnostic) |
| bool | accept_stage_target (int lev, double target_time, bool physical_step_complete, std::string &diagnostic) |
| bool | step_active (int lev) const |
| void | project_to_core (int lev, amrex::MultiFab &core, int qc_component, int qr_component) const |
Private Member Functions | |
| LevelState & | level (int lev) |
| const LevelState & | level (int lev) const |
Private Attributes | |
| SBMLayout | m_layout |
| SBMBulkProjection | m_projection |
| std::vector< LevelState > | m_levels |
Owns the authoritative old/new spectral state and its semantic times.
| erf_sbm::SBMStateManager::SBMStateManager | ( | SBMLayout | layout, |
| int | nlevels | ||
| ) |

| bool erf_sbm::SBMStateManager::accept_stage_target | ( | int | lev, |
| double | target_time, | ||
| bool | physical_step_complete, | ||
| std::string & | diagnostic | ||
| ) |
Publish a candidate accepted by the host stage sequence.
Referenced by erf_sbm::SBMTransport::advance_stage().


| bool erf_sbm::SBMStateManager::begin_step | ( | int | lev, |
| double | step_old_time, | ||
| std::string & | diagnostic | ||
| ) |
Rotate accepted new state into old state at the ERF::Advance seam.

| void erf_sbm::SBMStateManager::define | ( | int | lev, |
| const amrex::BoxArray & | grids, | ||
| const amrex::DistributionMapping & | mapping, | ||
| double | current_time, | ||
| int | ngrow = 0 |
||
| ) |

| void erf_sbm::SBMStateManager::destroy | ( | int | lev | ) |
| bool erf_sbm::SBMStateManager::is_defined | ( | int | lev | ) | const |
Referenced by erf_sbm::SBMTransport::advance_stage().


|
private |
Referenced by accept_stage_target(), begin_step(), define(), destroy(), is_defined(), new_state(), new_state_for_initialization(), new_target_storage(), new_time(), new_valid(), old_state(), old_time(), old_valid(), and step_active().


|
private |
| const amrex::MultiFab & erf_sbm::SBMStateManager::new_state | ( | int | lev | ) | const |
Accepted/current state. Throws while the target buffer is invalid.
Referenced by erf_sbm::SBMTransport::advance_stage(), new_time(), and project_to_core().


| amrex::MultiFab & erf_sbm::SBMStateManager::new_state_for_initialization | ( | int | lev | ) |
Mutable accepted state for initialization and synchronized restart I/O.

| amrex::MultiFab & erf_sbm::SBMStateManager::new_target_storage | ( | int | lev | ) |
Mutable target storage for transport; semantic reads remain invalid until accepted.
Referenced by erf_sbm::SBMTransport::advance_stage().


| double erf_sbm::SBMStateManager::new_time | ( | int | lev | ) | const |
Referenced by erf_sbm::SBMTransport::advance_stage().


| bool erf_sbm::SBMStateManager::new_valid | ( | int | lev | ) | const |

|
inlinenoexcept |
| const amrex::MultiFab & erf_sbm::SBMStateManager::old_state | ( | int | lev | ) | const |
Accepted state at the beginning of an active physical step.
Referenced by erf_sbm::SBMTransport::advance_stage(), and old_time().


| double erf_sbm::SBMStateManager::old_time | ( | int | lev | ) | const |
Referenced by erf_sbm::SBMTransport::advance_stage().


| bool erf_sbm::SBMStateManager::old_valid | ( | int | lev | ) | const |

| void erf_sbm::SBMStateManager::project_to_core | ( | int | lev, |
| amrex::MultiFab & | core, | ||
| int | qc_component, | ||
| int | qr_component | ||
| ) | const |
One-way projection from the spectrum into ERF's compact qc and qr lanes.
Referenced by erf_sbm::SBMTransport::advance_stage().


| bool erf_sbm::SBMStateManager::step_active | ( | int | lev | ) | const |
Referenced by erf_sbm::SBMTransport::advance_stage().


|
private |
Referenced by level(), nlevels(), and SBMStateManager().
|
private |
Referenced by project_to_core().