Skip to content

Commit

Permalink
Merge branch 'develop' into release/9.1
Browse files Browse the repository at this point in the history
  • Loading branch information
payetvin committed Mar 19, 2024
2 parents 9405d7a + 71573e9 commit a8868e7
Show file tree
Hide file tree
Showing 80 changed files with 828 additions and 534 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ jobs:

runs-on: ubuntu-20.04
if: "!contains(github.event.head_commit.message, '[skip ci]')"

steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.REF }}

- name: ccache
uses: hendrikmuhs/[email protected]
with:
Expand Down Expand Up @@ -277,12 +277,12 @@ jobs:
uses: actions/upload-artifact@v3
with:
path: _build/*.deb


- name: Publish assets
if: ${{ env.IS_RELEASE == 'true' }}
env:
GITHUB_TOKEN: ${{ github.token }}
tag: ${{ github.event.inputs.release_tag }}
run: |
gh release upload "$tag" _build/*.tar.gz _build/*.deb
gh release upload "$tag" _build/*.tar.gz _build/*.deb
2 changes: 1 addition & 1 deletion docs/reference-guide/08-miscellaneous.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ of area $u$ in the definition of the monthly and daily primary hydro generation

Following variables and parameters are local to linear optimization problems $M$ & $D(m)$
solved within the heuristic. For the sake of clarity, the same generic index is used for all time steps,
knowing that in $M$ there are 12 monthly time-steps, while in \\D(m)t$ there are from 28 to 31 daily
knowing that in $M$ there are 12 monthly time-steps, while in $D(m)t$ there are from 28 to 31 daily
time-steps. Costs $\gamma_{Var}$ given to these variables are chosen to enforce a logical hierarchy
of penalties (letting the reservoir overflow is worse than violating rule curves, which is worse than deviating
from the generation objective assessed in stage 1, etc.)
Expand Down
12 changes: 6 additions & 6 deletions docs/reference-guide/11-modeling.md
Original file line number Diff line number Diff line change
Expand Up @@ -465,19 +465,19 @@ When the power system graph contains edges that represent DC components, additio
| Notation | Explanation |
| ------------ | ------------- |
|$L^* \subset L$ | subset of edges representing AC components|
|$G^\*(N,L^*)$ | subgraph of $G(N,L)$ |
|$g^*$ | spanning tree of $G^\*(N,L^*)$ |
|$C^\*_{g^*}$ | cycle matric of $G^\*(N,L^\*)$ associated with $g^*$ |
|$G^*(N,L^*)$ | subgraph of $G(N,L)$ |
|$g^*$ | spanning tree of $G^*(N,L^*)$ |
|$C^*_{g^*}$ | cycle matric of $G^*(N,L^*)$ associated with $g^*$ |

The proper modeling of the system then requires that all "load flow" constraints defined previously be formulated using notations $(L^\*, G^\*(N,L^\*), C^\*\_{g^*})$ instead of $(L, G(N,L), C_{g})$.
The proper modeling of the system then requires that all "load flow" constraints defined previously be formulated using notations $(L^*, G^*(N,L^*), C^*\_{g^*})$ instead of $(L, G(N,L), C_{g})$.

### Implementation of security rules N-1,..., N-k

It is assumed here that upstream power system classical calculations on the detailed system are assumed to have provided appropriate estimates for line outage distribution factors (LODFs) for all components involved in the contingency situations to consider. The following additional notations can therefore be introduced:

| Notation | Explanation |
| ------------ | ------------- |
|$O \subset P(L$ | set of situations (single or multiple outages) considered in the contingency analysis|
|$O \subset PL$ | set of situations (single or multiple outages) considered in the contingency analysis|
|$Q \in O$ | situation (incident) considered in the contingency analysis|
|${}^Qp_l^m \in [-1,1]$ | LODFs from component $m$ (involved in $Q$) on component $l$ if $Q$ occurs |
| $\underline{F}_l^Q \in \mathbb{R}^T$ | lower bound of the power flow through $l$ if $Q$ occurs |
Expand Down Expand Up @@ -522,7 +522,7 @@ The following diagram summarizes the situation regarding both random and epsilon
|N_SPILLAGE|$5 \cdot 10^{-4} €/MWh$|$6 \cdot 10^{-4} €/MWh$|
|N_HYDRO|$5 \cdot 10^{-4} €/MWh$|$10 \cdot 10^{-4} €/MWh$|

It can be noted that, in absolute value, all random epsilons are smaller than the lower bound of the (non-zero) actual costs that can be defined through the user interface (CLB – cost lower bound : $5 \cdot 10^{-3} €/𝑀𝑊ℎ$)
It can be noted that, in absolute value, all random epsilons are smaller than the lower bound of the (non-zero) actual costs that can be defined through the user interface (CLB – cost lower bound : $5 \cdot 10^{-3} €/MWh$)

[^1]: Reference guide , section « optimization preferences : "export mps problems"

Expand Down
17 changes: 10 additions & 7 deletions docs/reference-guide/13-file-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,18 @@
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.
## v9.1.0
### (Input) Hydro Maximum Generation/Pumping Power
* 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. Starting from v9.0, file **input/hydro/common/capacity/maxpower_<area>** is no longer used.
### How to upgrade capacity time-series ?
Source file = maxpower_<area>, destination files are maxHourlyGenPower.txt and maxHourlyPumpPower.txt. To upgrade time-series, you need to
1. For generation, multiply 1st and 2nd rows. For pumping, multiply 3rd and 4rd rows.
2. Duplicate values 24 times : source has 365 rows, destination has 365 * 24 = 8760 rows
* 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 cleaning a study.
* Under `Configure/MC Scenario Builder` new section is added `Hydro Max Power`
* For time series ![Migration diagram](migration.png "Migration diagram"), for more details, see [this Python script](migration.py)
* In the existing file **settings/scenariobuilder.dat**, under **<ruleset>** section following properties added: **hgp,<area>,<year> = <hgp-value>**


Regarding Hydro time-series, the scenario builder allows the user to choose, for a given year and area, a different time series whether we consider :
- inflows, ROR and minimum generation
- initial level
- max power for generation and pumping
This implies that, inside one of the previous categories, the number of available time series is the same

* [Logic changes](17-v91.md)

## v9.0.0
### Input
### Study version
Expand Down
3 changes: 3 additions & 0 deletions docs/reference-guide/17-v91.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Logic changes for hydro (Antares Simulator 9.1.0)

![Logic changes](logic-hydro-maxP.png "Logic changes")
109 changes: 109 additions & 0 deletions docs/reference-guide/logic-hydro-maxP.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<mxfile host="app.diagrams.net" modified="2024-03-14T09:41:32.578Z" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0" etag="DDJZmGyWjx7bmjOthH-L" version="22.1.21" type="device">
<diagram name="Page-1" id="DLCAEQaYy6vHGQRlHNsN">
<mxGraphModel dx="1364" dy="790" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-31" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="60" y="430" width="440" height="210" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-2" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="80" y="200" width="420" height="190" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-3" value="Before 9.1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="100" y="210" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-12" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="90" y="240" width="230" height="60" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-7" value="maxPowerDaily" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="100" y="250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-8" value="maxEnergyDaily" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="210" y="250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-11" value="hourly pumping/generation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="100" y="330" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-14" value="weekly MaxHydroPower" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="230" y="330" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-15" value="Daily pre-allocation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="330" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-16" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-12" target="7GhJ8WyJIiofUrAy5sQ1-15" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="440" as="sourcePoint" />
<mxPoint x="320" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-17" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-12" target="7GhJ8WyJIiofUrAy5sQ1-14" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="440" as="sourcePoint" />
<mxPoint x="320" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-18" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-7" target="7GhJ8WyJIiofUrAy5sQ1-11" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="440" as="sourcePoint" />
<mxPoint x="320" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-20" value="After 9.1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="100" y="430" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-21" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="90" y="500" width="230" height="60" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-22" value="maxPowerDaily" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="100" y="510" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-23" value="maxEnergyDaily" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="210" y="510" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-24" value="hourly pumping/generation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="100" y="590" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-25" value="weekly MaxHydroPower" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="230" y="590" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-26" value="Daily pre-allocation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="590" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-27" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-21" target="7GhJ8WyJIiofUrAy5sQ1-26" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="700" as="sourcePoint" />
<mxPoint x="320" y="650" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-21" target="7GhJ8WyJIiofUrAy5sQ1-25" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="700" as="sourcePoint" />
<mxPoint x="320" y="650" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-30" value="maxPowerHourly" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="100" y="460" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-32" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-30" target="7GhJ8WyJIiofUrAy5sQ1-24" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="560" as="sourcePoint" />
<mxPoint x="320" y="510" as="targetPoint" />
<Array as="points">
<mxPoint x="70" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7GhJ8WyJIiofUrAy5sQ1-30" target="7GhJ8WyJIiofUrAy5sQ1-22" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="240" y="560" as="sourcePoint" />
<mxPoint x="290" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7GhJ8WyJIiofUrAy5sQ1-34" value="&amp;lt;= in memory" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="330" y="510" width="100" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Binary file added docs/reference-guide/logic-hydro-maxP.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/reference-guide/logic-hydro-maxP.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit a8868e7

Please sign in to comment.