117 template<
int CDataLevel,
int CFile>
133 pNbYearsParallel = study.maxNbYearsInParallel;
140 pValuesForTheCurrentYear.resize(pNbYearsParallel);
141 for (
unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++)
143 pValuesForTheCurrentYear[numSpace].initializeFromStudy(study);
147 NextType::initializeFromStudy(study);
153 NextType::initializeFromArea(study, area);
159 NextType::initializeFromAreaLink(study, link);
162 void simulationBegin()
165 NextType::simulationBegin();
170 NextType::simulationEnd();
173 void yearBegin(uint year,
unsigned int numSpace)
176 pValuesForTheCurrentYear[numSpace].reset();
178 NextType::yearBegin(year, numSpace);
181 void yearEndBuild(
State& state,
unsigned int year,
unsigned int numSpace)
184 NextType::yearEndBuild(state, year, numSpace);
187 void yearEnd(
unsigned int year,
unsigned int numSpace)
190 pValuesForTheCurrentYear[numSpace].computeAveragesForCurrentYearFromHourlyResults();
193 NextType::yearEnd(year, numSpace);
196 void computeSummary(std::map<unsigned int, unsigned int>& numSpaceToYear,
197 unsigned int nbYearsForCurrentSummary)
199 for (
unsigned int numSpace = 0; numSpace < nbYearsForCurrentSummary; ++numSpace)
203 pValuesForTheCurrentYear[numSpace]);
207 NextType::computeSummary(numSpaceToYear, nbYearsForCurrentSummary);
210 void hourBegin(uint hourInTheYear)
213 NextType::hourBegin(hourInTheYear);
216 void hourForEachArea(
State& state,
unsigned int numSpace)
219 NextType::hourForEachArea(state, numSpace);
222 void hourForEachLink(
State& state,
unsigned int numSpace)
224 pValuesForTheCurrentYear[numSpace][state.hourInTheYear] = std::abs(
225 state.problemeHebdo->VariablesDualesDesContraintesDeNTC[state.hourInTheWeek]
226 .VariableDualeParInterconnexion[state.link->index]);
230 double flow = state.problemeHebdo->ValeursDeNTC[state.hourInTheWeek]
231 .ValeurDuFlux[state.link->index];
232 double flow_lowerbound = -state.problemeHebdo->ValeursDeNTC[state.hourInTheWeek]
233 .ValeurDeNTCExtremiteVersOrigine[state.link->index];
234 double flow_upperbound = state.problemeHebdo->ValeursDeNTC[state.hourInTheWeek]
235 .ValeurDeNTCOrigineVersExtremite[state.link->index];
237 if (flow - 0.001 > flow_lowerbound && flow + 0.001 < flow_upperbound)
239 pValuesForTheCurrentYear[numSpace][state.hourInTheYear] = 0.;
243 NextType::hourForEachLink(state, numSpace);
246 void buildDigest(SurveyResults&
results,
int digestLevel,
int dataLevel)
const
249 NextType::buildDigest(
results, digestLevel, dataLevel);
252 Antares::Memory::Stored<double>::ConstReturnType retrieveRawHourlyValuesForCurrentYear(
256 return pValuesForTheCurrentYear[numSpace].hour;
259 void localBuildAnnualSurveyReport(SurveyResults&
results,
265 results.isCurrentVarNA = AncestorType::isNonApplicable;
267 if (AncestorType::isPrinted[0])
272 pValuesForTheCurrentYear[numSpace]
273 .template buildAnnualSurveyReport<VCardType>(
results, fileLevel, precision);
279 typename VCardType::IntermediateValuesType pValuesForTheCurrentYear;
280 unsigned int pNbYearsParallel;