#pragma once #include <chrono> /** * Return the time between to time points */ double calculateTime(std::chrono::time_point<std::chrono::system_clock> start, std::chrono::time_point<std::chrono::system_clock> end); struct serializable_netcdf_gru_actor_info { double run_time; double init_duration; double forcing_duration; double run_physics_duration; double write_output_duration; int successful; // 0 = false, 1 = true int num_attempts; double rel_tol; double abs_tol; }; template<class Inspector> bool inspect(Inspector& f, serializable_netcdf_gru_actor_info& x) { return f.object(x).fields(f.field("run_time", x.run_time), f.field("init_duration", x.init_duration), f.field("forcing_duration", x.forcing_duration), f.field("run_physics_duration", x.run_physics_duration), f.field("write_output_duration", x.write_output_duration), f.field("successful", x.successful), f.field("num_attempts", x.num_attempts), f.field("rel_tol", x.rel_tol), f.field("abs_tol", x.abs_tol)); }