Skip to content

Commit

Permalink
Upgrade hydro from v8.8 to v9.2 : save hourly power time series accor…
Browse files Browse the repository at this point in the history
…ding to value of parameter hydro-pmax

We save hourly power time series only if hydro-pmax == hourly
  • Loading branch information
guilpier-code committed Feb 6, 2025
1 parent 6b0612a commit 45d90d5
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
11 changes: 8 additions & 3 deletions src/libs/antares/study/area/list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,9 @@ static bool AreaListSaveThermalDataToFile(const AreaList& list, const AnyString&
return ini.save(filename);
}

static bool AreaListSaveToFolderSingleArea(const Area& area, const AnyString& folder)
static bool AreaListSaveToFolderSingleArea(const Area& area,
const AnyString& folder,
Parameters::Compatibility::HydroPmax& hydroPmax)
{
bool ret = true;
Clob buffer;
Expand Down Expand Up @@ -274,7 +276,7 @@ static bool AreaListSaveToFolderSingleArea(const Area& area, const AnyString& fo
if (area.hydro.series) // Series
{
buffer.clear() << folder << SEP << "input" << SEP << "hydro" << SEP << "series";
ret = area.hydro.series->saveToFolder(area.id, buffer) && ret;
ret = area.hydro.series->saveToFolder(area.id, buffer, hydroPmax) && ret;
}
}

Expand Down Expand Up @@ -763,7 +765,10 @@ bool AreaList::saveToFolder(const AnyString& folder) const
{
logs.info() << "Exporting the area " << (area.index + 1) << '/' << areas.size() << ": "
<< area.name;
ret = AreaListSaveToFolderSingleArea(area, folder) && ret;
ret = AreaListSaveToFolderSingleArea(area,
folder,
pStudy.parameters.compatibility.hydroPmax)
&& ret;
});

// Hydro
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,9 @@ class DataSeriesHydro
** \param folder The target folder
** \return A non-zero value if the operation succeeded, 0 otherwise
*/
bool saveToFolder(const AreaName& areaID, const AnyString& folder) const;
bool saveToFolder(const AreaName& areaID,
const AnyString& folder,
Parameters::Compatibility::HydroPmax& hydroPmax) const;
//@}

TimeSeriesNumbers timeseriesNumbers;
Expand Down
16 changes: 11 additions & 5 deletions src/libs/antares/study/parts/hydro/series.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,9 @@ void DataSeriesHydro::buildHourlyMaxPowerFromDailyTS(
ConvertDailyTSintoHourlyTS(DailyMaxPumpPower, maxHourlyPumpPower.timeSeries[0]);
}

bool DataSeriesHydro::saveToFolder(const AreaName& areaID, const AnyString& folder) const
bool DataSeriesHydro::saveToFolder(const AreaName& areaID,
const AnyString& folder,
Parameters::Compatibility::HydroPmax& hydroPmax) const
{
String buffer;
buffer.clear() << folder << SEP << areaID;
Expand All @@ -207,10 +209,14 @@ bool DataSeriesHydro::saveToFolder(const AreaName& areaID, const AnyString& fold
ret = storage.timeSeries.saveToCSVFile(buffer, 0) && ret;
buffer.clear() << folder << SEP << areaID << SEP << "mingen.txt";
ret = mingen.timeSeries.saveToCSVFile(buffer, 0) && ret;
buffer.clear() << folder << SEP << areaID << SEP << "maxHourlyGenPower.txt";
ret = maxHourlyGenPower.timeSeries.saveToCSVFile(buffer, 0) && ret;
buffer.clear() << folder << SEP << areaID << SEP << "maxHourlyPumpPower.txt";
ret = maxHourlyPumpPower.timeSeries.saveToCSVFile(buffer, 0) && ret;

if (hydroPmax == Parameters::Compatibility::HydroPmax::Hourly)
{
buffer.clear() << folder << SEP << areaID << SEP << "maxHourlyGenPower.txt";
ret = maxHourlyGenPower.timeSeries.saveToCSVFile(buffer, 0) && ret;
buffer.clear() << folder << SEP << areaID << SEP << "maxHourlyPumpPower.txt";
ret = maxHourlyPumpPower.timeSeries.saveToCSVFile(buffer, 0) && ret;
}

return ret;
}
Expand Down
2 changes: 1 addition & 1 deletion src/libs/antares/study/study.importprepro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ bool Study::importTimeseriesIntoInput()
{
logs.info() << "Importing hydro timeseries : " << areaName;
buffer.clear() << folderInput << SEP << "hydro" << SEP << "series";
ret = area->hydro.series->saveToFolder(area->id, buffer) && ret;
ret = area->hydro.series->saveToFolder(area->id, buffer, parameters.compatibility.hydroPmax) && ret;
++progression;
}
}
Expand Down

0 comments on commit 45d90d5

Please sign in to comment.