21 #ifndef __SOLVER_CONTAINER_CONTAINER_HXX__
22 #define __SOLVER_CONTAINER_CONTAINER_HXX__
24 #include <yuni/core/static/types.h>
26 #include "antares/solver/variable/surveyresults/reportbuilder.hxx"
28 namespace Antares::Solver::Variable::Container
36 NextT::initializeFromStudy(study);
43 NextT::initializeFromArea(study, area);
50 NextT::initializeFromAreaLink(study, link);
59 NextT::initializeFromThermalCluster(study, area, cluster);
65 NextT::simulationBegin();
71 NextT::simulationEnd();
77 NextT::yearBegin(year, numSpace);
83 NextT::yearEnd(year, numSpace);
89 NextT::computeSummary(year, numSpace);
94 inline void List<NextT>::yearEndSpatialAggregates(V& allVars,
96 unsigned int numSpace)
99 NextT::yearEndSpatialAggregates(allVars, year, numSpace);
102 template<
class NextT>
103 template<
class V,
class SetT>
104 inline void List<NextT>::yearEndSpatialAggregates(V& allVars,
unsigned int year,
const SetT& set)
107 NextT::yearEndSpatialAggregates(allVars, year, set);
110 template<
class NextT>
112 inline void List<NextT>::computeSpatialAggregatesSummary(V& allVars,
114 unsigned int numSpace)
117 NextT::computeSpatialAggregatesSummary(allVars, year, numSpace);
120 template<
class NextT>
122 inline void List<NextT>::simulationEndSpatialAggregates(V& allVars)
125 NextT::simulationEndSpatialAggregates(allVars);
128 template<
class NextT>
129 template<
class V,
class SetT>
130 inline void List<NextT>::simulationEndSpatialAggregates(V& allVars,
const SetT& set)
133 NextT::simulationEndSpatialAggregates(allVars, set);
136 template<
class NextT>
139 NextT::hourBegin(hourInTheYear);
142 template<
class NextT>
145 NextT::weekBegin(state);
148 template<
class NextT>
149 inline void List<NextT>::weekEnd(
State& state)
151 NextT::weekEnd(state);
154 template<
class NextT>
155 inline void List<NextT>::hourForEachArea(
State& state,
unsigned int numSpace)
157 NextT::hourForEachArea(state, numSpace);
160 template<
class NextT>
161 inline void List<NextT>::hourForEachLink(
State& state)
163 NextT::hourForEachLink(state);
166 template<
class NextT>
167 inline void List<NextT>::hourEnd(
State& state,
unsigned int hourInTheYear)
169 NextT::hourEnd(state, hourInTheYear);
172 template<
class NextT>
173 template<
class SearchVCardT,
class O>
174 inline void List<NextT>::computeSpatialAggregateWith(O& out)
176 NextT::template computeSpatialAggregateWith<SearchVCardT, O>(out);
179 template<
class NextT>
180 template<
class SearchVCardT,
class O>
181 inline void List<NextT>::computeSpatialAggregateWith(O& out,
183 unsigned int numSpace)
185 NextT::template computeSpatialAggregateWith<SearchVCardT, O>(out, area, numSpace);
188 template<
class NextT>
189 template<
class VCardToFindT>
190 inline void List<NextT>::retrieveResultsForArea(
194 NextT::template retrieveResultsForArea<VCardToFindT>(result, area);
197 template<
class NextT>
198 template<
class VCardToFindT>
199 inline void List<NextT>::retrieveResultsForThermalCluster(
203 NextT::template retrieveResultsForThermalCluster<VCardToFindT>(result, cluster);
206 template<
class NextT>
207 template<
class VCardToFindT>
208 inline void List<NextT>::retrieveResultsForLink(
212 NextT::template retrieveResultsForLink<VCardToFindT>(result, link);
215 template<
class NextT>
228 Category::FileLevelToStream(results.
data.
filename, fileLevel);
230 Category::PrecisionLevelToStream(results.
data.
filename, precision);
234 NextT::buildSurveyReport(results, dataLevel, fileLevel, precision);
240 results.
saveToFile(dataLevel, fileLevel, precision);
244 template<
class NextT>
249 unsigned int numSpace)
const
258 Category::FileLevelToStream(results.
data.
filename, fileLevel);
260 Category::PrecisionLevelToStream(results.
data.
filename, precision);
264 NextT::buildAnnualSurveyReport(results, dataLevel, fileLevel, precision, numSpace);
270 results.
saveToFile(dataLevel, fileLevel, precision);
274 template<
class NextT>
285 NextT::buildDigest(results, digestLevel, dataLevel);
288 template<
class NextT>
290 const Yuni::String& output,
291 unsigned int numSpace,
294 using namespace Antares;
300 logs.checkpoint() <<
"Exporting the survey results...";
304 logs.info() <<
"Exporting the annual results";
315 using Builder = SurveyReportBuilder<true, ListType>;
317 Builder::Run(*
this, survey);
325 Builder::RunDigest(*
this, survey, writer);
330 using Builder = SurveyReportBuilder<false, ListType>;
332 Builder::Run(*
this, survey, numSpace);
Definition of a link between two areas (Interconnection)
Definition: links.h:58
Definition for a single area.
Definition: area.h:51
A single thermal cluster.
Definition: cluster.h:76
Definition: i_writer.h:32
Static list for all output variables.
Definition: container.h:44
void simulationEnd()
Notify to all variables that the simulation has finished.
Definition: container.hxx:69
void simulationBegin()
Notify to all variables that the simulation is about to begin.
Definition: container.hxx:63
void yearBegin(unsigned int year, unsigned int numSpace)
Notify to all variables that a new year is about to start.
Definition: container.hxx:75
void yearEnd(unsigned int year, unsigned int numSpace)
Notify to all variables that the year is now over.
Definition: container.hxx:81
void initializeFromStudy(Data::Study &study)
Initialize all output variables.
Definition: container.hxx:31
void initializeFromLink(Data::Study *study, Data::AreaLink *link)
Initialize all output variables according a given link.
Definition: container.hxx:47
void initializeFromArea(Data::Study *study, Data::Area *area)
Initialize all output variables according a given area.
Definition: container.hxx:40
void buildDigest(SurveyResults &results, int digestLevel, int dataLevel) const
Ask to all variables to fullfil the digest.
Definition: container.hxx:275
void initializeFromThermalCluster(Data::Study *study, Data::Area *area, Data::ThermalCluster *cluster)
Initialize all output variables according a given thermal cluster.
Definition: container.hxx:54
void hourBegin(unsigned int hourInTheYear)
Notify to all variables that a new hour is about to begin.
Definition: container.hxx:137
void buildSurveyReport(SurveyResults &results, int dataLevel, int fileLevel, int precision) const
Ask to all variables to fullfil the report.
Definition: container.hxx:216
void exportSurveyResults(bool global, const Yuni::String &output, unsigned int numSpace, IResultWriter &writer)
Ask to all variables to fullfil additional reports (like the digest for example)
Definition: container.hxx:289
const Data::ThermalCluster * thermalCluster
Current thermal cluster.
Definition: data.h:61
unsigned int columnIndex
The current column index.
Definition: data.h:53
const Data::AreaLink * link
Current link.
Definition: data.h:65
Yuni::String output
The folder output where to write the results.
Definition: data.h:77
const Data::Area * area
Current area.
Definition: data.h:63
Yuni::String filename
The filename to use for the current report.
Definition: data.h:79
Class utility for building CSV results files.
Definition: surveyresults.h:41
CaptionType variableCaption
Caption for the current variable.
Definition: surveyresults.h:95
void exportGridInfos()
Export informations about the current study.
Definition: surveyresults.cpp:811
Solver::Variable::Private::SurveyResultsData data
Data (not related to the template parameter)
Definition: surveyresults.h:92
bool yearByYearResults
Flag to known if we are in the year-by-year mode.
Definition: surveyresults.h:122
void saveToFile(int dataLevel, int fileLevel, int precisionLevel)
Write the data into a file.
Definition: surveyresults.cpp:689
Definition: cbuilder.h:120
VariableAccessor< typename VCardT::ResultsType, VCardT::columnCount >::Type ResultsType
The true type used for the results.
Definition: info.h:760