118 template<
int CDataLevel,
int CFile>
123 count = ((VCardType::categoryDataLevel & CDataLevel
134 pNbYearsParallel = study.maxNbYearsInParallel;
140 pValuesForTheCurrentYear.resize(pNbYearsParallel);
141 for (
unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++)
143 pValuesForTheCurrentYear[numSpace].initializeFromStudy(study);
146 NextType::initializeFromStudy(study);
152 VariableAccessorType::InitializeAndReset(
results, study);
155 void yearBegin(
unsigned int year,
unsigned int numSpace)
158 pValuesForTheCurrentYear[numSpace].reset();
160 NextType::yearBegin(year, numSpace);
163 void yearEndBuildForEachThermalCluster(
State& state, uint year,
unsigned int numSpace)
165 for (
unsigned int i = state.study.runtime.rangeLimits.hour[Data::rangeBegin];
166 i <= state.study.runtime.rangeLimits.hour[Data::rangeEnd];
169 pValuesForTheCurrentYear[numSpace][i] += state.thermalClusterOperatingCostForYear[i];
172 NextType::yearEndBuildForEachThermalCluster(state, year, numSpace);
175 void yearEnd(
unsigned int year,
unsigned int numSpace)
178 pValuesForTheCurrentYear[numSpace].computeStatisticsForTheCurrentYear();
180 NextType::yearEnd(year, numSpace);
183 void computeSummary(std::map<unsigned int, unsigned int>& numSpaceToYear,
184 unsigned int nbYearsForCurrentSummary)
186 for (
unsigned int numSpace = 0; numSpace < nbYearsForCurrentSummary; ++numSpace)
190 pValuesForTheCurrentYear[numSpace]);
193 NextType::computeSummary(numSpaceToYear, nbYearsForCurrentSummary);
196 void hourForEachArea(
State& state,
unsigned int numSpace)
198 const double costForSpilledOrUnsuppliedEnergyCSR =
200 (state.hourlyResults->ValeursHorairesDeDefaillancePositiveCSR[state.hourInTheWeek]
201 * state.area->thermal.unsuppliedEnergyCost)
202 + (state.hourlyResults->ValeursHorairesDeDefaillanceNegative[state.hourInTheWeek]
203 * state.area->thermal.spilledEnergyCost)
205 + (state.hourlyResults->valeurH2oHoraire[state.hourInTheWeek]
206 * (state.hourlyResults->TurbinageHoraire[state.hourInTheWeek]
207 - state.area->hydro.pumpingEfficiency
208 * state.hourlyResults->PompageHoraire[state.hourInTheWeek]));
210 pValuesForTheCurrentYear[numSpace][state.hourInTheYear]
211 += costForSpilledOrUnsuppliedEnergyCSR;
213 NextType::hourForEachArea(state, numSpace);
216 Antares::Memory::Stored<double>::ConstReturnType retrieveRawHourlyValuesForCurrentYear(
218 unsigned int numSpace)
const
220 return pValuesForTheCurrentYear[numSpace].hour;
223 void localBuildAnnualSurveyReport(SurveyResults&
results,
226 unsigned int numSpace)
const
229 results.isCurrentVarNA = AncestorType::isNonApplicable;
231 if (AncestorType::isPrinted[0])
236 pValuesForTheCurrentYear[numSpace]
237 .template buildAnnualSurveyReport<VCardType>(
results, fileLevel, precision);
243 typename VCardType::IntermediateValuesType pValuesForTheCurrentYear;
244 unsigned int pNbYearsParallel;