diff --git a/ProcessLib/Output/CreateOutput.cpp b/ProcessLib/Output/CreateOutput.cpp index 5f275d60c49a76cd8220fa21c52de45de41093d6..6cfdceccb11b39c76608369165deba1048471849 100644 --- a/ProcessLib/Output/CreateOutput.cpp +++ b/ProcessLib/Output/CreateOutput.cpp @@ -74,6 +74,30 @@ std::unique_ptr<Output> createOutput(const BaseLib::ConfigTree& config, repeats_each_steps.emplace_back(1, 1); } + //! \ogs_file_param{prj__time_loop__output__variables} + auto const out_vars = config.getConfigSubtree("variables"); + + std::set<std::string> output_variables; + for (auto out_var : + //! \ogs_file_param{prj__time_loop__output__variables__variable} + out_vars.getConfigParameterList<std::string>("variable")) + { + if (output_variables.find(out_var) != output_variables.cend()) + { + OGS_FATAL("output variable `%s' specified more than once.", + out_var.c_str()); + } + + DBUG("adding output variable `%s'", out_var.c_str()); + output_variables.insert(out_var); + } + + bool const output_residuals = config.getConfigParameter<bool>( + //! \ogs_file_param{prj__time_loop__output__output_extrapolation_residuals} + "output_extrapolation_residuals", false); + + ProcessOutput process_output{output_variables, output_residuals}; + auto fixed_output_times_ptr = //! \ogs_file_param{prj__time_loop__output__fixed_output_times} config.getConfigParameterOptional<std::vector<double>>(