39 return "NP Cost by plant";
45 return "NP Cost - Euro";
51 return "Non proportional costs by all the clusters";
66 & (Category::FileLevel::de);
77 static constexpr uint8_t spatialAggregateMode = Category::spatialAggregateEachYear;
78 static constexpr uint8_t spatialAggregatePostProcessing = 0;
85 typedef std::vector<IntermediateValues> IntermediateValuesBaseType;
86 typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType;
100 VCardNonProportionalCostByDispatchablePlant>
122 template<
int CDataLevel,
int CFile>
144 NextType::initializeFromStudy(study);
150 pNbYearsParallel = study->maxNbYearsInParallel;
151 pValuesForTheCurrentYear.resize(pNbYearsParallel);
154 pSize = area->thermal.list.enabledCount();
158 for (
unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++)
160 pValuesForTheCurrentYear[numSpace].resize(pSize);
163 for (
unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++)
165 for (
unsigned int i = 0; i != pSize; ++i)
167 pValuesForTheCurrentYear[numSpace][i].initializeFromStudy(*study);
171 for (
unsigned int i = 0; i != pSize; ++i)
183 NextType::initializeFromArea(study, area);
186 size_t getMaxNumberColumns()
const
194 NextType::initializeFromAreaLink(study, link);
197 void simulationBegin()
200 NextType::simulationBegin();
205 NextType::simulationEnd();
208 void yearBegin(
unsigned int year,
unsigned int numSpace)
211 for (
unsigned int i = 0; i != pSize; ++i)
213 pValuesForTheCurrentYear[numSpace][i].reset();
217 NextType::yearBegin(year, numSpace);
220 void yearEndBuildForEachThermalCluster(
State& state, uint year,
unsigned int numSpace)
223 for (
unsigned int i = state.study.runtime.rangeLimits.hour[Data::rangeBegin];
224 i <= state.study.runtime.rangeLimits.hour[Data::rangeEnd];
227 pValuesForTheCurrentYear[numSpace][state.thermalCluster->enabledIndex].hour[i]
228 = state.thermalClusterNonProportionalCostForYear[i];
232 NextType::yearEndBuildForEachThermalCluster(state, year, numSpace);
235 void yearEndBuild(
State& state,
unsigned int year,
unsigned int numSpace)
238 NextType::yearEndBuild(state, year, numSpace);
241 void yearEnd(
unsigned int year,
unsigned int numSpace)
245 for (
unsigned int i = 0; i < pSize; ++i)
248 pValuesForTheCurrentYear[numSpace][i].computeStatisticsForTheCurrentYear();
252 NextType::yearEnd(year, numSpace);
255 void computeSummary(std::map<unsigned int, unsigned int>& numSpaceToYear,
256 unsigned int nbYearsForCurrentSummary)
258 for (
unsigned int numSpace = 0; numSpace < nbYearsForCurrentSummary; ++numSpace)
260 for (
unsigned int i = 0; i < pSize; ++i)
264 pValuesForTheCurrentYear[numSpace][i]);
269 NextType::computeSummary(numSpaceToYear, nbYearsForCurrentSummary);
272 void hourBegin(
unsigned int hourInTheYear)
275 NextType::hourBegin(hourInTheYear);
278 void hourForEachArea(
State& state,
unsigned int numSpace)
281 NextType::hourForEachArea(state, numSpace);
284 Antares::Memory::Stored<double>::ConstReturnType retrieveRawHourlyValuesForCurrentYear(
286 unsigned int numSpace)
const
288 return pValuesForTheCurrentYear[numSpace][0].hour;
291 void localBuildAnnualSurveyReport(SurveyResults&
results,
294 unsigned int numSpace)
const
297 results.isCurrentVarNA = AncestorType::isNonApplicable;
299 if (AncestorType::isPrinted[0])
301 assert(NULL !=
results.data.area);
302 const auto& thermal =
results.data.area->thermal;
305 for (
auto& cluster: thermal.list.each_enabled())
308 results.variableCaption = cluster->name();
310 pValuesForTheCurrentYear[numSpace][cluster->enabledIndex]
311 .template buildAnnualSurveyReport<VCardType>(
results, fileLevel, precision);
318 typename VCardType::IntermediateValuesType pValuesForTheCurrentYear;
320 unsigned int pNbYearsParallel;