StreamOut Observer¶
Header file: <libs/observers/streamout_observer.hpp>
[source]
-
struct StreamOutObserver¶
Struct that satisfies the observer concept and streams out live data to an output device (e.g. computer screen) about gridboxes during every observation at fixed ‘interval’ timesteps.
Public Functions
-
inline StreamOutObserver(const unsigned int obsstep, const std::function<double(unsigned int)> step2realtime)¶
Constructor for StreamOutObserver.
- Parameters:
obsstep – Interval in model timesteps between observation events.
step2realtime – Function to convert model timesteps to real time.
-
inline void before_timestepping(const viewd_constgbx d_gbxs) const¶
Function called before timestepping.
- Parameters:
d_gbxs – View of grid boxes.
-
inline void after_timestepping() const¶
Function called after timestepping.
-
inline unsigned int next_obs(const unsigned int t_mdl) const¶
Determine the next observation time.
Calculates the next observation time based on the current model time and this observer’s constant timestep between observations, ‘interval’.
- Parameters:
t_mdl – The unsigned int parameter representing the current model timestep.
- Returns:
Unsigned int for the next observation timestep.
-
inline bool on_step(const unsigned int t_mdl) const¶
Check if observer is “on step”.
Checks if the current model time is on an observation timestep.
- Parameters:
t_mdl – The unsigned int parameter representing the current model timestep.
- Returns:
True if the current timestep is an observation timestep, false otherwise.
-
inline void at_start_step(const unsigned int t_mdl, const viewd_constgbx d_gbxs, const viewd_constsupers totsupers) const¶
Observe gridboxes at the start of each timestep.
If timestep is on observation step, stream out statement about gridboxes to output device e.g. a computer terminal.
- Parameters:
t_mdl – Current model time.
d_gbxs – View of grid boxes.
totsupers – View of super grids.
-
inline SDMMonitor auto get_sdmmonitor() const¶
Get null monitor for SDM processes from observer.
- Returns:
monitor ‘mo’ of the observer that does nothing
Private Functions
-
void streamout_statement(const unsigned int t_mdl, const viewd_constgbx d_gbxs) const¶
Prints a statement about the state of grid boxes.
This function prints out information about the state of gridboxes. It extracts information from the 0th gridbox in the gridboxes’ view and prints some information e.g. temperature, pressure, specific humidity, and specific cloud water content. Additionally, it prints the total number of superdroplets in the domain and the total number of gridboxes.
- Parameters:
t_mdl – Current model time.
d_gbxs – View of the gridboxes on the device.
-
inline StreamOutObserver(const unsigned int obsstep, const std::function<double(unsigned int)> step2realtime)¶