Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple Maximum Generation and Pumping for Hydro (Refactoring) #1648

Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1711856
Power Credits comments and strings changed to Max Power
nikolaredstork Sep 22, 2023
c63db75
Changing name convention
nikolaredstork Sep 22, 2023
be0b0c9
Implicit conversion code smell
nikolaredstork Sep 22, 2023
033807c
Files name modification
nikolaredstork Sep 22, 2023
cddc46e
Renaming matrices from PartHydro and DataTransfer classes
nikolaredstork Sep 23, 2023
b0e3d0b
Renaming matrices from DataSeriesHydro class
nikolaredstork Sep 23, 2023
8436eb4
HydroMaxTSReader class
nikolaredstork Sep 26, 2023
0f3d12c
Refactoring
nikolaredstork Sep 27, 2023
dae8e69
New LoadMaxPower function
nikolaredstork Sep 27, 2023
c5e4921
bugfix
nikolaredstork Sep 28, 2023
318df7a
Excluding unnecessary data from tests and bugfix
nikolaredstork Sep 28, 2023
2b15872
Code smell
nikolaredstork Sep 28, 2023
48d02ce
Daily mean maximum generation/pumping matrices
nikolaredstork Sep 28, 2023
13a238c
Check Power Bounds
nikolaredstork Sep 28, 2023
1914765
Rewrite comment
nikolaredstork Sep 28, 2023
61881ee
Name convention
nikolaredstork Sep 28, 2023
57fdb44
Code smells
nikolaredstork Sep 28, 2023
f0bf47b
Comments and function name changed
nikolaredstork Sep 29, 2023
b356420
Lambda function refactor
nikolaredstork Sep 29, 2023
069565f
Get and Set functions
nikolaredstork Sep 29, 2023
dbb2407
Small refactoring
nikolaredstork Sep 29, 2023
0981477
Name convention
nikolaredstork Oct 3, 2023
e5bb73a
Ternary operator check index excluded
nikolaredstork Oct 3, 2023
69a339e
Clang Format undone
nikolaredstork Oct 3, 2023
3aeef1c
Function argument names
nikolaredstork Oct 3, 2023
3709552
Possible Bug?
nikolaredstork Oct 7, 2023
6254c41
Refactoring lambda function
nikolaredstork Oct 8, 2023
fe533f4
Refactoring Unit tests
nikolaredstork Oct 12, 2023
fa060d6
Refactoring unit tests
nikolaredstork Oct 13, 2023
bd0280e
Unit tests
nikolaredstork Oct 13, 2023
fbf2e96
Typo and renaming
nikolaredstork Oct 13, 2023
33b5c5e
Unit test fix and renaming
nikolaredstork Oct 13, 2023
adbece2
hydro reader unit tests refactoring
nikolaredstork Oct 13, 2023
e907fb0
Refactoring unit tests help functions
nikolaredstork Oct 14, 2023
5da63e3
Excluding saving new files before upgrade
nikolaredstork Oct 16, 2023
d642df7
Renameing files
nikolaredstork Oct 16, 2023
481c7a1
Get function instead of class data member
nikolaredstork Oct 16, 2023
ee5b88c
Refactor hydro max power TS consistency (#1707)
guilpier-code Oct 26, 2023
9e92840
Bugfix
nikolaredstork Oct 26, 2023
65046a1
Code smells
nikolaredstork Oct 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/reference-guide/03-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ this command allows to state, for each kind of time-series, whether it should be
the available set (be it ready-made or Antares-generated) _**OR**_ should take a user-defined value
(in the former case, the default "rand" value should be kept; in the latter, the value should be the reference number of the time-series to use). Multiple simulation profiles can be defined and archived. The default active profile gives the "rand" status for all time-series in all areas (full probabilistic simulation).

Regarding Hydro time-series, the scenario builder gives, in addition to the assignment of a specific number to use for the inflows time-series, the ability to define the initial reservoir level to use for each MC year, also hydro power credits scenario builder is available to support time-series for Maximum Generation and Maximum Pumping because the number of TS's for ROR, Hydro Storage and Minimum Generation can be different than the number of TS's for Maximum Generation and Maximum Pumping.
Regarding Hydro time-series, the scenario builder gives, in addition to the assignment of a specific number to use for the inflows time-series, the ability to define the initial reservoir level to use for each MC year, also hydro max power scenario builder is available to support time-series for Maximum Generation and Maximum Pumping because the number of TS's for ROR, Hydro Storage and Minimum Generation can be different than the number of TS's for Maximum Generation and Maximum Pumping.

- **MC Scenario playlist** For each Monte-Carlo year of the simulation defined in the "Simulation" active window,
this command allows to state whether a MC year prepared for the simulation should be actually simulated or not.
Expand Down
4 changes: 2 additions & 2 deletions docs/reference-guide/04-active_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@ These two parts are detailed hereafter.

### RIGHT PART: Time-series management

For the different kinds of time-series that Antares manages in a non-deterministic way (load, thermal generation, hydro power, hydro power credits, wind power, solar power or renewable depending on the option chosen):
For the different kinds of time-series that Antares manages in a non-deterministic way (load, thermal generation, hydro power, hydro max power, wind power, solar power or renewable depending on the option chosen):

1. **Choice of the kind of time-series to use**
Either « ready-made » or «stochastic » (i.e. Antares-generated), defined by setting the value to either "on" or "off". Exception is hydro power credits that can only be « ready-made ». Note that for Thermal time-series, the cluster-wise parameter may overrule this global parameter (see Thermal window description below).
Either « ready-made » or «stochastic » (i.e. Antares-generated), defined by setting the value to either "on" or "off". Exception is hydro max power that can only be « ready-made ». Note that for Thermal time-series, the cluster-wise parameter may overrule this global parameter (see Thermal window description below).

2. **For stochastic TS only**:
- **Number** Number of TS to generate
Expand Down
6 changes: 3 additions & 3 deletions docs/reference-guide/13-file-format.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Study format changes
This is a list of all recent changes that came with new Antares Simulator features. The main goal of this document is to lower the costs of changing existing interfaces, both GUI and scripts.
## v8.8.0
For each area, new files are added **input/hydro/series/<area>/maxgen.txt** and **input/hydro/series/<area>/maxpump.txt**. These files have one or more columns, and 8760 rows. The number of columns in these two files must be the same, if there is more than one column in each file, but if there is just one column for example in maxgen.txt file, maxpump.txt file can have more than one column and vice versa. For old studies, file **input/hydro/common/capacity/maxpower_<area>** will be deleted after upgrading the study and corresponding data from that file will be copied to already mentioned new files, even if study is upgraded or not. In that case maxgen.txt and maxpump.txt files will have just one column and 8760 rows.
For each area, new files are added **input/hydro/series/<area>/maxHourlyGenPower.txt** and **input/hydro/series/<area>/maxHourlyPumpPower.txt**. These files have one or more columns, and 8760 rows. The number of columns in these two files must be the same, if there is more than one column in each file, but if there is just one column for example in maxHourlyGenPower.txt file, maxHourlyPumpPower.txt file can have more than one column and vice versa. For old studies, file **input/hydro/common/capacity/maxpower_<area>** will be deleted after upgrading the study and corresponding data from that file will be copied to already mentioned new files, even if study is upgraded or not. In that case maxHourlyGenPower.txt and maxHourlyPumpPower.txt files will have just one column and 8760 rows.

Also for each area, new files are added **input/hydro/common/capacity/maxhoursGen_<area>** and **input/hydro/common/capacity/maxhoursPump_<area>**. These files have just one column and 365 rows. For old studies, file **input/hydro/common/capacity/maxpower_<area>** will be deleted after upgrading the study and corresponding data from that file will be copied to already mentioned new files, even if study is upgraded or not.
Also for each area, new files are added **input/hydro/common/capacity/maxDailyGenEnergy_<area>** and **input/hydro/common/capacity/maxDailyPumpEnergy_<area>**. These files have just one column and 365 rows. For old studies, file **input/hydro/common/capacity/maxpower_<area>** will be deleted after upgrading the study and corresponding data from that file will be copied to already mentioned new files, even if study is upgraded or not.
### Input
Under `Configure/MC Scenario Builder` new section added `Hydro-Power-Credits`
Under `Configure/MC Scenario Builder` new section added `Hydro Max Power`
In the existing file **settings/scenariobuilder.dat**, under **<ruleset>** section following properties added:
* **hgp,<area>,<year> = <hgp-value>**
## v8.7.0
Expand Down
8 changes: 4 additions & 4 deletions src/libs/antares/study/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ set(SRC_STUDY_SCENARIO_BUILDER
scenario-builder/ThermalTSNumberData.h
scenario-builder/HydroTSNumberData.h
scenario-builder/HydroTSNumberData.cpp
scenario-builder/HydroPowerCreditsTSNumberData.h
scenario-builder/HydroPowerCreditsTSNumberData.cpp
scenario-builder/HydroMaxPowerTSNumberData.h
scenario-builder/HydroMaxPowerTSNumberData.cpp
scenario-builder/SolarTSNumberData.cpp
scenario-builder/solarTSNumberData.h
scenario-builder/WindTSNumberData.h
Expand Down Expand Up @@ -137,8 +137,8 @@ set(SRC_STUDY_PART_HYDRO
parts/hydro/allocation.h
parts/hydro/allocation.hxx
parts/hydro/allocation.cpp
parts/hydro/datatransfer.h
parts/hydro/datatransfer.cpp
parts/hydro/hydromaxtimeseriesreader.h
parts/hydro/hydromaxtimeseriesreader.cpp
)
source_group("study\\part\\hydro" FILES ${SRC_STUDY_PART_HYDRO})

Expand Down
4 changes: 2 additions & 2 deletions src/libs/antares/study/area/area.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ void Area::resizeAllTimeseriesNumbers(uint n)
solar.series->timeseriesNumbers.clear();
wind.series->timeseriesNumbers.clear();
hydro.series->timeseriesNumbers.clear();
hydro.series->timeseriesNumbersPowerCredits.clear();
hydro.series->timeseriesNumbersHydroMaxPower.clear();
for (auto& namedLink : links)
{
AreaLink* link = namedLink.second;
Expand All @@ -293,7 +293,7 @@ void Area::resizeAllTimeseriesNumbers(uint n)
solar.series->timeseriesNumbers.resize(1, n);
wind.series->timeseriesNumbers.resize(1, n);
hydro.series->timeseriesNumbers.resize(1, n);
hydro.series->timeseriesNumbersPowerCredits.resize(1, n);
hydro.series->timeseriesNumbersHydroMaxPower.resize(1, n);
for (auto& namedLink : links)
{
AreaLink* link = namedLink.second;
Expand Down
29 changes: 17 additions & 12 deletions src/libs/antares/study/area/list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -909,26 +909,31 @@ static bool AreaListLoadFromFolderSingleArea(Study& study,

if (area.hydro.series && study.header.version < 870)
{
std::shared_ptr<DataTransfer> datatransfer = std::make_shared<DataTransfer>();
buffer.clear() << study.folderInput << SEP << "hydro";

datatransfer->LoadFromFolder(study, buffer, area);
datatransfer->SupportForOldStudies(study, buffer, area);
HydroMaxTimeSeriesReader reader;
ret = reader(buffer, area) && ret;
}

if (area.hydro.series)
if (area.hydro.series && study.header.version >= 870)
{
buffer.clear() << study.folderInput << SEP << "hydro" << SEP << "series";
ret = area.hydro.series->LoadHydroPowerCredits(study, area.id, buffer) && ret;
ret = area.hydro.series->LoadMaxPower(area.id, buffer) && ret;

if (study.usedByTheSolver)
{
area.hydro.series->setCountVariable();
ret = area.hydro.series->postProcessMaxPowerTS(area) && ret;
area.hydro.series->setMaxPowerTSWhenDeratedMode(study);
}
else
area.hydro.series->setHydroModulability(study, area.id);
}

buffer.clear() << study.folderInput << SEP << "hydro" << SEP << "common" << SEP
<< "capacity" << SEP << "maxpower_" << area.id << '.'
<< study.inputExtension;

bool exists = IO::File::Exists(buffer);
<< "capacity" << SEP << "maxpower_" << area.id << ".txt";

if (study.header.version >= 870 && exists)
if (bool exists = IO::File::Exists(buffer); study.header.version >= 870 && exists)
{
IO::File::Delete(buffer);
}
Expand Down Expand Up @@ -1639,8 +1644,8 @@ void AreaList::removeHydroTimeseries()
area.hydro.series->ror.reset(1, HOURS_PER_YEAR);
area.hydro.series->storage.reset(1, DAYS_PER_YEAR);
area.hydro.series->mingen.reset(1, HOURS_PER_YEAR);
area.hydro.series->maxgen.reset(1, HOURS_PER_YEAR);
area.hydro.series->maxpump.reset(1, HOURS_PER_YEAR);
area.hydro.series->maxHourlyGenPower.reset(1, HOURS_PER_YEAR);
area.hydro.series->maxHourlyPumpPower.reset(1, HOURS_PER_YEAR);
area.hydro.series->count = 1;
area.hydro.series->countpowercredits = 1;
});
Expand Down
12 changes: 6 additions & 6 deletions src/libs/antares/study/area/scratchpad.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ AreaScratchpad::AreaScratchpad(const StudyRuntimeInfos& rinfos, Area& area) : ts
bool hydroGenerationPermission = false;

// ... Getting hydro max power
auto const& maxPower = area.hydro.series->maxgen;
auto const& maxGenHours = area.hydro.maxHoursGen[0];
auto const& maxHourlyGenPower = area.hydro.series->maxHourlyGenPower;
auto const& maxDailyGenEnergy = area.hydro.maxDailyGenEnergy[0];

hydroGenerationPermission = CheckForPositiveEnergy(maxPower, maxGenHours);
hydroGenerationPermission = CheckForPositiveEnergy(maxHourlyGenPower, maxDailyGenEnergy);

// ---------------------
// Hydro has inflows
Expand Down Expand Up @@ -127,11 +127,11 @@ AreaScratchpad::AreaScratchpad(const StudyRuntimeInfos& rinfos, Area& area) : ts
// ... Hydro max power

// ... Hydro max pumping power and energy
auto const& maxPumpingP = area.hydro.series->maxpump;
auto const& maxPumpHours = area.hydro.maxHoursPump[0];
auto const& maxHourlyPumpPower = area.hydro.series->maxHourlyPumpPower;
auto const& maxDailyPumpEnergy = area.hydro.maxDailyPumpEnergy[0];

// If pumping energy is nil over the whole year, pumpHasMod is false, true otherwise.
pumpHasMod = CheckForPositiveEnergy(maxPumpingP, maxPumpHours);
pumpHasMod = CheckForPositiveEnergy(maxHourlyPumpPower, maxDailyPumpEnergy);
}

AreaScratchpad::~AreaScratchpad() = default;
Expand Down
14 changes: 7 additions & 7 deletions src/libs/antares/study/area/store-timeseries-numbers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ struct TSNumbersPredicate
};
} // anonymous namespace

static void genericStoreTimeseriesNumbers(Solver::IResultWriter::Ptr writer,
static void storeTSnumbers(Solver::IResultWriter::Ptr writer,
const Matrix<uint32_t>& timeseriesNumbers,
const String& id,
const String& directory)
Expand All @@ -69,28 +69,28 @@ static void genericStoreTimeseriesNumbers(Solver::IResultWriter::Ptr writer,

void storeTimeseriesNumbersForLoad(Solver::IResultWriter::Ptr writer, const Area& area)
{
genericStoreTimeseriesNumbers(writer, area.load.series->timeseriesNumbers, area.id, "load");
storeTSnumbers(writer, area.load.series->timeseriesNumbers, area.id, "load");
}

void storeTimeseriesNumbersForSolar(Solver::IResultWriter::Ptr writer, const Area& area)
{
genericStoreTimeseriesNumbers(writer, area.solar.series->timeseriesNumbers, area.id, "solar");
storeTSnumbers(writer, area.solar.series->timeseriesNumbers, area.id, "solar");
}

void storeTimeseriesNumbersForHydro(Solver::IResultWriter::Ptr writer, const Area& area)
{
genericStoreTimeseriesNumbers(writer, area.hydro.series->timeseriesNumbers, area.id, "hydro");
storeTSnumbers(writer, area.hydro.series->timeseriesNumbers, area.id, "hydro");
}


void storeTimeseriesNumbersForHydroPowerCredits(Solver::IResultWriter::Ptr writer, const Area& area)
void storeTimeseriesNumbersForHydroMaxPower(Solver::IResultWriter::Ptr writer, const Area& area)
{
genericStoreTimeseriesNumbers(writer, area.hydro.series->timeseriesNumbersPowerCredits, area.id, "power-credits");
storeTSnumbers(writer, area.hydro.series->timeseriesNumbersHydroMaxPower, area.id, "max-power");
}

void storeTimeseriesNumbersForWind(Solver::IResultWriter::Ptr writer, const Area& area)
{
genericStoreTimeseriesNumbers(writer, area.wind.series->timeseriesNumbers, area.id, "wind");
storeTSnumbers(writer, area.wind.series->timeseriesNumbers, area.id, "wind");
}

void storeTimeseriesNumbersForThermal(Solver::IResultWriter::Ptr writer, const Area& area)
Expand Down
2 changes: 1 addition & 1 deletion src/libs/antares/study/area/store-timeseries-numbers.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ namespace Antares::Data
void storeTimeseriesNumbersForThermal(Solver::IResultWriter::Ptr writer, const Area& area);
void storeTimeseriesNumbersForRenewable(Solver::IResultWriter::Ptr writer, const Area& area);
void storeTimeseriesNumbersForTransmissionCapacities(Solver::IResultWriter::Ptr writer, const Area& area);
void storeTimeseriesNumbersForHydroPowerCredits(Solver::IResultWriter::Ptr writer, const Area& area);
void storeTimeseriesNumbersForHydroMaxPower(Solver::IResultWriter::Ptr writer, const Area& area);

} //Antares::Data

Expand Down
4 changes: 2 additions & 2 deletions src/libs/antares/study/area/store-timeseries-numbers.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ void singleAreaStoreTimeseriesNumbers(Solver::IResultWriter::Ptr writer, const A
case timeSeriesTransmissionCapacities:
storeTimeseriesNumbersForTransmissionCapacities(writer, area);
break;
case timeSeriesHydroPowerCredits:
storeTimeseriesNumbersForHydroPowerCredits(writer, area);
case timeSeriesHydroMaxPower:
storeTimeseriesNumbersForHydroMaxPower(writer, area);
break;
case timeSeriesCount:
default:
Expand Down
10 changes: 4 additions & 6 deletions src/libs/antares/study/cleaner/cleaner-v20.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,9 @@ static void listOfFilesAnDirectoriesToKeepForArea(PathList& e, PathList& p, cons
e.add(buffer);
buffer.clear() << "input/hydro/common/capacity/inflowPattern_" << id << ".txt";
e.add(buffer);
buffer.clear() << "input/hydro/common/capacity/maxpower_" << id << ".txt";
buffer.clear() << "input/hydro/common/capacity/maxDailyGenEnergy_" << id << ".txt";
e.add(buffer);
buffer.clear() << "input/hydro/common/capacity/maxhoursGen_" << id << ".txt";
e.add(buffer);
buffer.clear() << "input/hydro/common/capacity/maxhoursPump_" << id << ".txt";
buffer.clear() << "input/hydro/common/capacity/maxDailyPumpEnergy_" << id << ".txt";
e.add(buffer);
buffer.clear() << "input/hydro/common/capacity/reservoir_" << id << ".txt";
e.add(buffer);
Expand All @@ -103,9 +101,9 @@ static void listOfFilesAnDirectoriesToKeepForArea(PathList& e, PathList& p, cons
e.add(buffer);
buffer.clear() << "input/hydro/series/" << id << "/mingen.txt";
e.add(buffer);
buffer.clear() << "input/hydro/series/" << id << "/maxgen.txt";
buffer.clear() << "input/hydro/series/" << id << "/maxHourlyGenPower.txt";
e.add(buffer);
buffer.clear() << "input/hydro/series/" << id << "/maxpump.txt";
buffer.clear() << "input/hydro/series/" << id << "/maxHourlyPumpPower.txt";
e.add(buffer);
buffer.clear() << "input/hydro/allocation/" << id << ".ini";
p.add(buffer);
Expand Down
4 changes: 2 additions & 2 deletions src/libs/antares/study/fwd.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,8 @@ enum TimeSeries : unsigned int
timeSeriesRenewable = 32,
//! TimeSeries : Renewable
timeSeriesTransmissionCapacities = 64,
//! TimeSeries : Hydro Power Credits
timeSeriesHydroPowerCredits = 256,
//! TimeSeries : Hydro Max Power
timeSeriesHydroMaxPower = 256,

//! The maximum number of time-series that we can encounter
timeSeriesCount = 8,
Expand Down
26 changes: 13 additions & 13 deletions src/libs/antares/study/parameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ static bool ConvertCStrToListTimeSeries(const String& value, uint& v)
v |= timeSeriesRenewable;
else if (word == "ntc")
v |= timeSeriesTransmissionCapacities;
else if (word == "power-credits")
v |= timeSeriesHydroPowerCredits;
else if (word == "max-power")
v |= timeSeriesHydroMaxPower;
return true;
});
return true;
Expand Down Expand Up @@ -394,11 +394,11 @@ static void ParametersSaveTimeSeries(IniFile::Section* s, const char* name, uint
v += ", ";
v += "ntc";
}
if (value & timeSeriesHydroPowerCredits)
if (value & timeSeriesHydroMaxPower)
{
if (!v.empty())
v += ", ";
v += "power-credits";
v += "max-power";
}
s->add(name, v);
}
Expand Down Expand Up @@ -1081,7 +1081,7 @@ bool Parameters::loadFromINI(const IniFile& ini, uint version, const StudyLoadOp

fixGenRefreshForNTC();

fixGenRefreshForHydroPowerCredits();
fixGenRefreshForHydroMaxPower();

// Specific action before launching a simulation
if (options.usedByTheSolver)
Expand Down Expand Up @@ -1141,18 +1141,18 @@ void Parameters::fixGenRefreshForNTC()
}
}

void Parameters::fixGenRefreshForHydroPowerCredits()
void Parameters::fixGenRefreshForHydroMaxPower()
{
if ((timeSeriesHydroPowerCredits & timeSeriesToGenerate) != 0)
if ((timeSeriesHydroMaxPower & timeSeriesToGenerate) != 0)
{
timeSeriesToGenerate &= ~timeSeriesHydroPowerCredits;
logs.error() << "Time-series generation is not available for hydro power credits. It "
timeSeriesToGenerate &= ~timeSeriesHydroMaxPower;
logs.error() << "Time-series generation is not available for hydro max power. It "
"will be automatically disabled.";
}
if ((timeSeriesHydroPowerCredits & timeSeriesToRefresh) != 0)
if ((timeSeriesHydroMaxPower & timeSeriesToRefresh) != 0)
{
timeSeriesToRefresh &= ~timeSeriesHydroPowerCredits;
logs.error() << "Time-series refresh is not available for hydro power credits. It will "
timeSeriesToRefresh &= ~timeSeriesHydroMaxPower;
logs.error() << "Time-series refresh is not available for hydro max power. It will "
"be automatically disabled.";
}
}
Expand Down Expand Up @@ -1401,7 +1401,7 @@ void Parameters::prepareForSimulation(const StudyLoadOptions& options)

if (interModal == timeSeriesLoad || interModal == timeSeriesSolar
|| interModal == timeSeriesWind || interModal == timeSeriesHydro
|| interModal == timeSeriesThermal || interModal == timeSeriesRenewable || interModal == timeSeriesHydroPowerCredits)
|| interModal == timeSeriesThermal || interModal == timeSeriesRenewable || interModal == timeSeriesHydroMaxPower)
{
// Only one timeseries in interModal correlation, which is the same than nothing
interModal = 0;
Expand Down
4 changes: 2 additions & 2 deletions src/libs/antares/study/parameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,9 @@ class Parameters final

/*!
** \brief Try to detect then fix TS generation/refresh parameters
* for Hydro Power Credits
* for Hydro Max Power
*/
void fixGenRefreshForHydroPowerCredits();
void fixGenRefreshForHydroMaxPower();

/*!
** \brief Get the amount of memory used by the general data
Expand Down
Loading