Skip to content

Commit

Permalink
Merge remote-tracking branch 'github/develop' into fix/expansion-mode
Browse files Browse the repository at this point in the history
  • Loading branch information
flomnes committed Nov 28, 2023
2 parents 35f6bb7 + eedb868 commit 1b80d51
Show file tree
Hide file tree
Showing 67 changed files with 333 additions and 180 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,14 @@ jobs:
batch-name: valid-v860
os: ${{ matrix.test-platform }}

- name: Run tests introduced in v870
if: ${{ env.IS_PUSH == 'true' }}
uses: ./.github/workflows/run-tests
with:
simtest-tag: ${{steps.simtest-version.outputs.prop}}
batch-name: valid-v870
os: ${{ matrix.test-platform }}

- name: Run short-tests
if: ${{ env.IS_PUSH == 'true' }}
uses: ./.github/workflows/run-tests
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/windows-vcpkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,14 @@ jobs:
batch-name: valid-v860
os: ${{ matrix.test-platform }}

- name: Run tests introduced in v870
if: ${{ env.IS_PUSH == 'true' }}
uses: ./.github/workflows/run-tests
with:
simtest-tag: ${{steps.simtest-version.outputs.prop}}
batch-name: valid-v870
os: ${{ matrix.test-platform }}

- name: Run short-tests
uses: ./.github/workflows/run-tests
with:
Expand Down
110 changes: 109 additions & 1 deletion docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,114 @@ Antares Changelog
## New Features
* Solver logs can be enabled either by the command-line option (--solver-logs) or in the generaldata.ini by setting solver-logs = true under the optimization section [(#1717)](https://github.com/AntaresSimulatorTeam/Antares_Simulator/pull/1717)


8.8.0-rc3 (11/2023)
--------------------
## Bugfixes
* Fix oracle-linux8 binaries missing compression feature (#1741)

8.8.0-rc2 (10/2023)
--------------------
## Build
- Fix version numbers (8b9b2b389)

8.8.0-rc1 (10/2023)
--------------------
## New features
* New "cash-flow" variable for ST storage (#1633)
* Experimental ptimization discrete variables (#670)

## Bugfixes
* Prevent segfault during simulation, check bounds of scenario builder (#1567)
* Fix number of links in deprecated output file digest.txt (#1646)
* Fix unfeasible problem analyzer (#1527)
* [Windows only] Increase file size limit when reading file (#1674)
* Fix segfault encountered when importing logs (#1702)
* Fixes swallowed exceptions in computation thread (#1685)
* Fix writer causing a segfault with OR-Tools (#1584)
* Bug on renewable cluster (wrong group) (#1631)

## Improvements
* Add shortcut -s for names MPS problems in CLI options (#1613)
* Use 50% as a default value for ST-storage property initiallevel (#1632)
* Add warning logs for non-existent output variable (#1638)
* Add area name in error message for rare error (#1695)
* Fix wrong year number in logs upon failed year (#1672)
* Always check mingen against maxPower, regardless of reservoirManagement (#1656)
* New log msg when solver not found in or-tools (#1687)
* Fix annoying error log about correlation matrices in tests (#1573)

## Documentation
* Create Doxygen documentation (#1650)
* Update README.md (#1654)
* Add advice for developers (#1639)
* Document the usage of XPRESS (#1596)

## GUI
* Fix regression on cluster renaming, add unit tests (#1699)

## Dependencies
* Use minizip-ng 4.0.1 (from 3.0.7) (#1696)
* Bump vcpkg to latest tag (2023.07.21) (#1532)
* Remove dead code yuni-docmake (#1544)
* Remove fixed-size ints from Yuni (#1622, #1629)

## Code cleaning / quality
* Architecture Decision Record for Study breakdown (#1600)
* Remove dependency to UI, use RAII to handle resources (#1678)
* De-templatize `HydroManagement::prepareNetDemand` (#1679)
* Use `std::unique_ptr::operator->` rather than `std::unique_ptr::get` (#1676)
* Renamed `timeSeries` into `timeSeriesEnum` (#1675)
* Remove RenouvelableParPalier from global variable (#1659)
* Remove code duplication in src/libs/antares/study/parameters.cpp (#1667)
* Remove manual alloc and update code standards in hydro/daily2 (#1651)
* Remove `StudyRuntimeInfos::parameters` (#1665)
* Introduce & use DataSeriesCommon::getAvailablePowerYearly (#1660)
* Add getValue for thermal clusters, remove `State::timeSeriesIndex` (#1644)
* Move `resultWriter` out of class `Study` (#1649)
* Remove malloc in src/solver/hydro/ (#1626)
* Refactor constraint building (#1607)
* Remove most uses of `IResultWriter::Ptr`, use ref instead (#1642)
* Refactor hydro pmin checks (#1381)
* Clean up parameters.cpp (#1623)
* Remove unused `BindingConstraintsRepository::eachActive` (#1625)
* Provide reference to `Benchmarking::IDurationCollector`, not raw pointer (#1621)
* Use `int32_t` and `uint32_t` in `PROBLEME_HEBDO` (#1577, #1543)
* Reduce use of study in helper functions (#1610)
* Move thermal noises to class Simulation (#1594)
* Upgrade src/solver/hydro to C++ (#1581)
* Remove duplicate header (#1595)
* Remove unused variable (#1585)
* Remove dynamic alloc of PROBLEME_HEBDO (#1554)
* Remove memory usage (#1578)
* Use reference instead of raw pointers (#1579)
* Re-order initialization to avoid compilation warnings (#1599)
* Remove some global variables (#1545)
* Remove `goto` in `OPT_AppelDuSimplexe` (#1533)
* Remove useless Area's data member : `enabled` (#1556)
* Clarify string -> enum conversion for thermal cluster groups (#1553)
* Remove unmanaged dynamic allocation for `ProblemeAResoudre` (#1549)
* Remove `shared_ptr` for `OptPeriodStringGenerator` (#1528)
* Final removal of study singleton from the solver (#1536)
* Remove use of current study singleton in emergency exit (#1519)
* Remove unused function `getFilenameWithExtension` (#1537)
* Remove tmpnam from tests (#1506)

## Build
* ACR CMake (#1551)
* Add "Antares::action" CMake library, build only if BUILD_UI=ON (#1637)
* Fix conflicting library name (#1590)
* Cleanup date dependency (#1565)
* CMake Memory and Sys (#1558)
* Split benchmarking (#1582)
* Remove liblib* CMake targets (#1609)
* Split study in CMakefile (#1583)
* CMake usage improvements (#1548)
* Fix build for Oracle Linux 8 (#1542)

## Misc
* Schedule deps compile instead of develop merge (#1530)

8.7.0 (08/2023)
--------------------
## New Features
Expand Down Expand Up @@ -44,7 +152,7 @@ Antares Changelog
* Remove one `goto` instruction in OPT (#1522)
* Remove study singleton in application signal handlers (#1513)
* Remove barely-used `ThermalCluster::productionCost` temporary (#1517)
* Bindings constraints scenario : handling last remarks (#1466)
* Bindings constraints scenario : handling last remarks (#1466)
* Replace remaining vector of pointers by plain vector (#1505)
* Split ts numbers data classes in different files (#1398)
* Remove more usage of study singleton (#1509)
Expand Down
2 changes: 1 addition & 1 deletion docs/pdf-doc-generation-with-sphinx/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# -- Project information -----------------------------------------------------

project = 'Antares Simulator User Guide'
release = 'v8.6'
release = 'v8.8'
copyright = '2023, RTE'
author = 'RTE'

Expand Down
8 changes: 6 additions & 2 deletions docs/reference-guide/13-file-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ This is a list of all recent changes that came with new Antares Simulator featur

## v8.8.0
### Input
### Short-term storage
#### Short-term storage
If no value is specified for `initiallevel`, then a default value of 50% is used. Note that this value is used only if `initialleveloptim=false`, and that `false` is the default value for `initialleveloptim`.

### Experimental "MILP" mode
#### Experimental "MILP" mode
New value `milp` for existing property `other preferences/unit-commitment-mode` in file **settings/generaldata.ini**.

Using this property requires OR-Tools and a MILP solver (XPRESS, COIN)
Expand All @@ -19,6 +19,10 @@ Using this property requires OR-Tools and a MILP solver (XPRESS, COIN)
antares-8.8-solver --use-ortools --ortools-solver coin|xpress ...
```

### Output
### Cashflow by short-term storage
In existing file **details-STstorage-<period>.txt** (mc-all & mc-ind), add a new column for each ST storage object, named "STS Cashflow By Cluster", in EURO.

## v8.7.0
### Input
#### Scenarized RHS for binding constraints
Expand Down
2 changes: 1 addition & 1 deletion simtest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "v8.7.0"
"version": "v8.7.2"
}
2 changes: 1 addition & 1 deletion sonar-project.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
sonar.projectName=Antares_Simulator
sonar.projectKey=AntaresSimulatorTeam_Antares_Simulator
sonar.organization=antaressimulatorteam
sonar.projectVersion=8.7.0
sonar.projectVersion=8.8.0

# =====================================================
# Properties that will be shared amongst all modules
Expand Down
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ cmake_minimum_required(VERSION 3.14) # FetchContent_MakeAvailable

# Version
set(ANTARES_VERSION_HI 8)
set(ANTARES_VERSION_LO 7)
set(ANTARES_VERSION_LO 8)
set(ANTARES_VERSION_REVISION 0)

# Beta release
set(ANTARES_BETA 0)
set(ANTARES_RC 0)
set(ANTARES_RC 3)

set(ANTARES_VERSION_YEAR 2023)

Expand Down
2 changes: 1 addition & 1 deletion src/ext/yuni/src/yuni/core/logs/handler/file.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ void File<NextHandler>::internalDecoratorWriteWL(LoggerT& logger, const AnyStrin
{
if (pFile.opened())
{
typedef typename LoggerT::DecoratorsType DecoratorsType;
using DecoratorsType = typename LoggerT::DecoratorsType;
// Append the message to the file
logger.DecoratorsType::template internalDecoratorAddPrefix<File, VerbosityType>(pFile, s);

Expand Down
4 changes: 1 addition & 3 deletions src/ext/yuni/src/yuni/core/logs/handler/stdcout.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,10 @@ class YUNI_DECL StdCout : public NextHandler
colorsAllowed = YUNI_LOGS_COLORS_ALLOWED,
};

public:
template<class LoggerT, class VerbosityType>
void internalDecoratorWriteWL(LoggerT& logger, const AnyString& s) const
{
typedef typename LoggerT::DecoratorsType DecoratorsType;

using DecoratorsType = typename LoggerT::DecoratorsType;
// Write the message to the std::cout/cerr
if (VerbosityType::shouldUsesStdCerr)
{
Expand Down
2 changes: 1 addition & 1 deletion src/ext/yuni/src/yuni/core/nullable/extension.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Extension
namespace CString
{
template<class CStringT, class T, class Alloc>
struct Append<CStringT, Yuni::Nullable<T, Alloc>> final
class Append<CStringT, Yuni::Nullable<T, Alloc>> final
{
static void Perform(CStringT& s, const Yuni::Nullable<T, Alloc>& rhs)
{
Expand Down
6 changes: 3 additions & 3 deletions src/ext/yuni/src/yuni/core/nullable/nullable.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -290,14 +290,14 @@ inline void Nullable<T, Alloc>::print(S& out, const U& nullValue) const
}

template<class T, class Alloc>
inline typename Nullable<T, Alloc>::reference Nullable<T, Alloc>::operator[](size_type n)
inline typename Nullable<T, Alloc>::reference Nullable<T, Alloc>::operator[](size_type)
{
return pHolder.reference();
}

template<class T, class Alloc>
inline typename Nullable<T, Alloc>::const_reference Nullable<T, Alloc>::operator[](
size_type n) const
size_type) const
{
return pHolder.reference();
}
Expand Down Expand Up @@ -327,7 +327,7 @@ inline typename Nullable<T, Alloc>::const_reference Nullable<T, Alloc>::back() c
}

template<class T, class Alloc>
inline bool Nullable<T, Alloc>::operator<(const Nullable& rhs) const
inline bool Nullable<T, Alloc>::operator<(const Nullable&) const
{
return false;
}
Expand Down
2 changes: 1 addition & 1 deletion src/ext/yuni/src/yuni/thread/thread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ IThread::IThread(uint stacksize) :
,
pShouldStop(true),
#ifdef YUNI_HAS_PTHREAD_ATTR_SETSTACKSIZE
pStackSize((stacksize < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : stacksize))
pStackSize((stacksize < PTHREAD_STACK_MIN ? static_cast<uint>(PTHREAD_STACK_MIN) : stacksize))
#else
pStackSize(stacksize)
#endif
Expand Down
6 changes: 1 addition & 5 deletions src/libs/antares/array/antares/array/matrix-to-buffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,7 @@ class I_mtx_to_buffer_dumper;
class matrix_to_buffer_dumper_factory
{
public:
matrix_to_buffer_dumper_factory(bool isDecimal, uint precision) :
any_decimal_(isDecimal and precision)
matrix_to_buffer_dumper_factory()
{
}

Expand All @@ -59,9 +58,6 @@ class matrix_to_buffer_dumper_factory
I_mtx_to_buffer_dumper<T, ReadWriteT, PredicateT>* get_dumper(const Matrix<T, ReadWriteT>* mtx,
std::string& data,
PredicateT& predicate);

private:
bool any_decimal_;
};

template<class T, class ReadWriteT, class PredicateT>
Expand Down
2 changes: 1 addition & 1 deletion src/libs/antares/array/antares/array/matrix.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -1136,7 +1136,7 @@ void Matrix<T, ReadWriteT>::saveToBuffer(std::string& data,
// Does nothing if the matrix only contains zero
return;

matrix_to_buffer_dumper_factory mtx_to_buffer_dumper_factory(isDecimal, precision);
matrix_to_buffer_dumper_factory mtx_to_buffer_dumper_factory;

I_mtx_to_buffer_dumper<T, ReadWriteT, PredicateT>* mtx_to_buffer_dpr
= mtx_to_buffer_dumper_factory.get_dumper<T, ReadWriteT, PredicateT>(this, data, predicate);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ namespace Benchmarking
class IDurationCollector
{
public:
virtual ~IDurationCollector() = default;
virtual void addDuration(const std::string& name, int64_t duration) = 0;
};

class NullDurationCollector : public IDurationCollector
{
public:
NullDurationCollector() = default;
virtual ~NullDurationCollector() = default;
void addDuration(const std::string& /* name */, int64_t /* duration */) override
{ /* Do nothing */
}
Expand All @@ -29,6 +31,7 @@ class DurationCollector : public IDurationCollector
{
public:
DurationCollector() = default;
virtual ~DurationCollector() = default;

void toFileContent(FileContent& file_content);
void addDuration(const std::string& name, int64_t duration) override;
Expand Down
4 changes: 2 additions & 2 deletions src/libs/antares/object/intrusive-reference.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ inline IIntrusiveReference<ChildT, TP>::~IIntrusiveReference()

template<class ChildT, template<class> class TP>
inline IIntrusiveReference<ChildT, TP>::IIntrusiveReference(
const IIntrusiveReference<ChildT, TP>& rhs) :
[[maybe_unused]] const IIntrusiveReference<ChildT, TP>& rhs) :
pRefCount(0)
{
}

template<class ChildT, template<class> class TP>
inline IIntrusiveReference<ChildT, TP>& IIntrusiveReference<ChildT, TP>::operator=(
const IIntrusiveReference& rhs) const
[[maybe_unused]] const IIntrusiveReference& rhs) const
{
// Does nothing
return *this;
Expand Down
2 changes: 1 addition & 1 deletion src/libs/antares/object/object.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class IObject : public Yuni::IIntrusiveSmartPtr<IObject>
//! \name Events
//@{
//! The object is about to be destroyed
virtual void onRelease();
virtual void onRelease() const;
//@}

protected:
Expand Down
2 changes: 1 addition & 1 deletion src/libs/antares/object/object.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ inline void IObject::enabled(bool state)
pEnabled = state;
}

inline void IObject::onRelease()
inline void IObject::onRelease() const
{
// do nothing
}
Expand Down
Loading

0 comments on commit 1b80d51

Please sign in to comment.