File emulator_config.hpp
File List > common > src > emulator_config.hpp
Go to the documentation of this file
#ifndef EMULATOR_CONFIG_HPP
#define EMULATOR_CONFIG_HPP
#include "emulator_diagnostics.hpp"
#include <string>
#include <vector>
namespace emulator {
struct BuildConfig {
std::string grid_name;
std::string inference_backend = "stub";
};
struct RuntimeConfig {
std::string model_path;
std::string ic_file;
bool enabled = true;
};
struct ModelIOConfig {
std::vector<std::string> input_variables;
std::vector<std::string> output_variables;
bool spatial_mode = true;
};
struct CouplingConfig {
bool zero_init_exports = true;
bool debug = false;
};
struct EmulatorConfig {
BuildConfig build;
RuntimeConfig runtime;
ModelIOConfig model_io;
CouplingConfig coupling;
DiagnosticConfig diagnostics;
// Legacy accessors for compatibility (deprecated)
std::string grid_file;
};
EmulatorConfig parse_emulator_config(const std::string &yaml_file,
const std::string §ion_name);
EmulatorConfig
parse_emulator_config_with_defaults(const std::string &yaml_file,
const std::string §ion_name,
bool verbose = false);
} // namespace emulator
#endif // EMULATOR_CONFIG_HPP