96 VCardProductionByRenewablePlant>
117 template<
int CDataLevel,
int CFile>
139 NextType::initializeFromStudy(study);
145 pNbYearsParallel = study->maxNbYearsInParallel;
146 pValuesForTheCurrentYear.resize(pNbYearsParallel);
149 pSize = area->renewable.list.enabledCount();
154 for (
unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++)
156 pValuesForTheCurrentYear[numSpace].resize(pSize);
159 for (
unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++)
161 for (
unsigned int i = 0; i != pSize; ++i)
163 pValuesForTheCurrentYear[numSpace][i].initializeFromStudy(*study);
167 for (
unsigned int i = 0; i != pSize; ++i)
178 NextType::initializeFromArea(study, area);
181 size_t getMaxNumberColumns()
const
189 NextType::initializeFromAreaLink(study, link);
192 void simulationBegin()
195 NextType::simulationBegin();
200 NextType::simulationEnd();
203 void yearBegin(
unsigned int year,
unsigned int numSpace)
206 for (
unsigned int i = 0; i != pSize; ++i)
208 pValuesForTheCurrentYear[numSpace][i].reset();
211 NextType::yearBegin(year, numSpace);
214 void yearEndBuildPrepareDataForEachThermalCluster(
State& state,
216 unsigned int numSpace)
219 NextType::yearEndBuildPrepareDataForEachThermalCluster(state, year, numSpace);
222 void yearEndBuild(
State& state,
unsigned int year,
unsigned int numSpace)
225 NextType::yearEndBuild(state, year, numSpace);
228 void yearEnd(
unsigned int year,
unsigned int numSpace)
232 for (
unsigned int i = 0; i < pSize; ++i)
235 pValuesForTheCurrentYear[numSpace][i].computeStatisticsForTheCurrentYear();
239 NextType::yearEnd(year, numSpace);
242 void computeSummary(std::map<unsigned int, unsigned int>& numSpaceToYear,
243 unsigned int nbYearsForCurrentSummary)
245 for (
unsigned int numSpace = 0; numSpace < nbYearsForCurrentSummary; ++numSpace)
247 for (
unsigned int i = 0; i < pSize; ++i)
251 pValuesForTheCurrentYear[numSpace][i]);
256 NextType::computeSummary(numSpaceToYear, nbYearsForCurrentSummary);
259 void hourBegin(
unsigned int hourInTheYear)
262 NextType::hourBegin(hourInTheYear);
265 void hourForEachArea(
State& state,
unsigned int numSpace)
267 for (
const auto& renewableCluster: state.area->renewable.list.each_enabled())
269 double renewableClusterProduction = renewableCluster->valueAtTimeStep(
271 state.hourInTheYear);
273 pValuesForTheCurrentYear[numSpace][renewableCluster->enabledIndex]
274 .hour[state.hourInTheYear]
275 += renewableClusterProduction;
279 NextType::hourForEachArea(state, numSpace);
282 inline void buildDigest(SurveyResults&
results,
int digestLevel,
int dataLevel)
const
285 NextType::buildDigest(
results, digestLevel, dataLevel);
288 Antares::Memory::Stored<double>::ConstReturnType retrieveRawHourlyValuesForCurrentYear(
290 unsigned int numSpace)
const
292 return pValuesForTheCurrentYear[numSpace][column].hour;
295 void localBuildAnnualSurveyReport(SurveyResults&
results,
298 unsigned int numSpace)
const
301 results.isCurrentVarNA = AncestorType::isNonApplicable;
303 if (AncestorType::isPrinted[0])
305 assert(NULL !=
results.data.area);
306 const auto& renewable =
results.data.area->renewable;
308 for (
auto& cluster: renewable.list.each_enabled())
311 results.variableCaption = cluster->name();
313 pValuesForTheCurrentYear[numSpace][cluster->enabledIndex]
314 .template buildAnnualSurveyReport<VCardType>(
results, fileLevel, precision);
321 typename VCardType::IntermediateValuesType pValuesForTheCurrentYear;
323 unsigned int pNbYearsParallel;