29#include "yuni/core/system/stdint.h"
31#include "antares/study/binding_constraint/BindingConstraintGroup.h"
32#include "antares/study/parts/hydro/series.h"
33#include "antares/study/scenario-builder/TSnumberData.h"
35namespace Antares::Data::ScenarioBuilder
38static constexpr unsigned maxErrors = 20;
41static inline bool CheckValidity(uint value,
const D& data, uint tsGenMax)
44 return (!tsGenMax) ? (value < data.timeSeries.width) : (value < tsGenMax);
48inline bool CheckValidity<Data::DataSeriesHydro>(uint value,
53 return (!tsGenMax) ? (value < data.TScount()) : (value < tsGenMax);
57inline bool CheckValidity<Data::AreaLink>(uint value,
64 return value < data.directCapacities.timeSeries.
width;
68inline bool CheckValidity<BindingConstraintGroup>(uint value,
69 const BindingConstraintGroup& group,
72 return value < group.numberOfTimeseries();
75template<
class StringT,
class D>
76bool ApplyToMatrix(uint& errors,
85 const uint nbYears = data.timeseriesNumbers.height();
87 auto& target = data.timeseriesNumbers;
89 for (uint y = 0; y != nbYears; ++y)
94 uint32_t tsNum = years[y] - 1;
97 if (!CheckValidity(tsNum, data, tsGenMax))
99 if (errors <= maxErrors)
101 if (++errors == maxErrors)
103 logs.warning() <<
"scenario-builder: ... (skipped)";
107 logs.warning() <<
"scenario-builder: " << logprefix
108 <<
"value out of bounds for the year " << (y + 1);
Definition of a link between two areas (Interconnection)
Definition links.h:50
Data series (Hydro)
Definition series.h:40
typename Antares::Memory::Stored< uint32_t >::Type ColumnType
Definition matrix.h:62
uint width
Width of the matrix.
Definition matrix.h:441