1 #ifndef ERF_RADIATION_DIAGNOSTICS_H_
2 #define ERF_RADIATION_DIAGNOSTICS_H_
8 #include <AMReX_REAL.H>
95 bool diag_enable =
true,
bool diag_stdout_enable =
true,
96 bool diag_tagged_enable =
true,
bool diag_regtest_line_enable =
true,
97 bool diag_csv_enable =
true,
const std::string& diag_callsite_mode =
"both",
141 amrex::Real seb_residual_mean = std::numeric_limits<amrex::Real>::quiet_NaN(),
142 amrex::Real seb_residual_max = std::numeric_limits<amrex::Real>::quiet_NaN(),
143 amrex::Real t_s_mean = std::numeric_limits<amrex::Real>::quiet_NaN(),
144 amrex::Real t_s_max = std::numeric_limits<amrex::Real>::quiet_NaN(),
145 amrex::Real q_s_mean = std::numeric_limits<amrex::Real>::quiet_NaN(),
146 amrex::Real q_s_max = std::numeric_limits<amrex::Real>::quiet_NaN());
amrex::Real Real
Definition: ERF_ShocInterface.H:19
CSV logger and debug-print manager for radiation module.
Definition: ERF_RadiationDiagnostics.H:75
bool m_diag_tagged_enable
Definition: ERF_RadiationDiagnostics.H:165
bool m_diag_regtest_line_enable
Definition: ERF_RadiationDiagnostics.H:166
int m_last_write_step
Guard against duplicate writes.
Definition: ERF_RadiationDiagnostics.H:157
int m_verbosity
Debug verbosity level.
Definition: ERF_RadiationDiagnostics.H:154
bool m_diag_stdout_enable
Definition: ERF_RadiationDiagnostics.H:164
std::string m_diag_file
Output CSV file path.
Definition: ERF_RadiationDiagnostics.H:155
int m_amr_level
AMR level this instance reports for.
Definition: ERF_RadiationDiagnostics.H:156
bool m_header_written
Track whether CSV header was written.
Definition: ERF_RadiationDiagnostics.H:158
void write_header_if_needed()
Write CSV header if file is new or doesn't exist.
Definition: ERF_RadiationDiagnostics.cpp:39
RadiationDiagnostics(int verbosity, const std::string &diag_file, int amr_level, bool diag_enable=true, bool diag_stdout_enable=true, bool diag_tagged_enable=true, bool diag_regtest_line_enable=true, bool diag_csv_enable=true, const std::string &diag_callsite_mode="both", amrex::Real diag_dedup_tol=1.0e-12)
Constructor.
Definition: ERF_RadiationDiagnostics.cpp:12
std::string m_diag_callsite_mode
Definition: ERF_RadiationDiagnostics.H:168
amrex::Real m_last_write_time
Definition: ERF_RadiationDiagnostics.H:160
void append(int step, amrex::Real time, std::string const &call_site, amrex::Real sw_surface, amrex::Real sw_toa, amrex::Real sw_up_toa, amrex::Real lw_net_surface, amrex::Real lw_up_toa, amrex::Real heating_rate_max, amrex::Real seb_residual_mean=std::numeric_limits< amrex::Real >::quiet_NaN(), amrex::Real seb_residual_max=std::numeric_limits< amrex::Real >::quiet_NaN(), amrex::Real t_s_mean=std::numeric_limits< amrex::Real >::quiet_NaN(), amrex::Real t_s_max=std::numeric_limits< amrex::Real >::quiet_NaN(), amrex::Real q_s_mean=std::numeric_limits< amrex::Real >::quiet_NaN(), amrex::Real q_s_max=std::numeric_limits< amrex::Real >::quiet_NaN())
Append a diagnostic row to the CSV file.
Definition: ERF_RadiationDiagnostics.cpp:79
std::string m_last_write_call_site
Definition: ERF_RadiationDiagnostics.H:159
amrex::Real m_diag_dedup_tol
Definition: ERF_RadiationDiagnostics.H:169
~RadiationDiagnostics()
Destructor.
Definition: ERF_RadiationDiagnostics.cpp:33
bool m_diag_csv_enable
Definition: ERF_RadiationDiagnostics.H:167
bool m_diag_enable
Definition: ERF_RadiationDiagnostics.H:163