Skip to content

Commit

Permalink
Merge pull request #136 from BDonnot/bd_dev
Browse files Browse the repository at this point in the history
1.6.0: introduction to alarm feature
  • Loading branch information
BDonnot authored May 12, 2021
2 parents 05eaa61 + 3ffb740 commit 71d3b4f
Show file tree
Hide file tree
Showing 111 changed files with 5,025 additions and 260 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,9 @@ test_can_make_opponent.py
enigma_nili.py
test_issue196.py
test_increasingreward.py
PlayWithRedispCurtail.ipynb
test_jorge/
grid2op/data_test/l2rpn_neurips_2020_track1_with_alert.zip

# profiling files
**.prof
16 changes: 15 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Change Log
[TODO]
--------------------
- [???] add multi agent
- [???] make observation read only / immutable for all its properties (and not just for `prod_p`)
- [???] better logging
- [???] shunts in observation too, for real (but what to do when backend is not shunt compliant to prevent the
stuff to break)
Expand All @@ -22,7 +23,20 @@ Change Log
- [???] "asynch" multienv
- [???] properly model interconnecting powerlines

[1.5.2] - 2021-xx-yy
[1.6.0] - 2021-06-yy
--------------------
- [BREAKING] (but transparent for everyone): the `disc_lines` attribute is now part of the environment, and is also
containing integer (representing the "order" on which the lines are disconnected due to protections) rather
than just boolean.
- [FIXED]: some bugs in the `action_space.get_all_unitary_redispatch` and `action_space.get_all_unitary_curtail`
- [FIXED]: some bugs in the `GreedyAgent` and `TopologyGreedy`
- [ADDED] support for the "alarm operator" / "attention budget" feature
- [ADDED] retrieval of the `max_step` (ie the maximum number of step that can be performed for the current episode)
in the observation
- [ADDED] some handy argument in the `action_space.get_all_unitary_redispatch` and
`action_space.get_all_unitary_curtail` (see doc)

[1.5.2] - 2021-05-10
-----------------------
- [BREAKING]: allow the opponent to chose the duration of its attack. This breaks the previous "Opponent.attack(...)"
signature by adding an object in the return value. All code provided with grid2op are compatible with this
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ WORKDIR /Grid2Op
RUN git pull
RUN git remote update
RUN git fetch --all --tags
RUN git checkout "tags/v1.5.1.post1" -b "v1.5.1.post1-branch"
RUN git checkout "tags/v1.5.2" -b "v1.5.2-branch"
# Install Dependencies
RUN pip3 install .[optional,challenge]
WORKDIR /
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[![discord](https://discord.com/api/guilds/698080905209577513/embed.png)]( https://discord.gg/cYsYrPT)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/rte-france/Grid2Op/master)

Grid2Op is a plateform, built with modularity in mind, that allows to perform powergrid operation.
Grid2Op is a platform, built with modularity in mind, that allows to perform powergrid operation.
And that's what it stands for: Grid To Operate.
Grid2Op acts as a replacement of [pypownet](https://github.com/MarvinLer/pypownet)
as a library used for the Learning To Run Power Network [L2RPN](https://l2rpn.chalearn.org/).
Expand Down
11 changes: 6 additions & 5 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
author = 'Benjamin Donnot'

# The full version, including alpha/beta/rc tags
release = '1.5.1.post1'
version = '1.5'
release = '1.6.0.rc1'
version = '1.6'


# -- General configuration ---------------------------------------------------
Expand Down Expand Up @@ -77,10 +77,11 @@
html_static_path = ['_static']

# for pdf
pdf_documents = [('index', u'rst2pdf', u'Sample rst2pdf doc', u'Your Name'),]
pdf_documents = [('index', u'rst2pdf', u'Grid2op documentation', u'B. DONNOT'),]


def setup(app):
app.add_javascript('custom.js')
if app.config.language == 'ja':
# app.add_javascript('custom.js')
app.add_js_file('custom.js')
if app.config.language == 'ja':
app.config.intersphinx_mapping['py'] = ('https://docs.python.org/ja/3', None)
15 changes: 14 additions & 1 deletion docs/observation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
.. _n_sub: ./space.html#grid2op.Space.GridObjects.n_sub
.. _n_storage: ./space.html#grid2op.Space.GridObjects.n_storage
.. _dim_topo: ./space.html#grid2op.Space.GridObjects.dim_topo
.. _dim_alarms: ./space.html#grid2op.Space.GridObjects.dim_alarms
.. _year: ./observation.html#grid2op.Observation.BaseObservation.year
.. _month: ./observation.html#grid2op.Observation.BaseObservation.month
.. _day: ./observation.html#grid2op.Observation.BaseObservation.day
Expand Down Expand Up @@ -41,6 +42,13 @@
.. _storage_power: ./observation.html#grid2op.Observation.BaseObservation.storage_power
.. _gen_p_before_curtail: ./observation.html#grid2op.Observation.BaseObservation.gen_p_before_curtail
.. _curtailment: ./observation.html#grid2op.Observation.BaseObservation.curtailment
.. _curtailment_limit: ./observation.html#grid2op.Observation.BaseObservation.curtailment_limit
.. _is_alarm_illegal: ./observation.html#grid2op.Observation.BaseObservation.is_alarm_illegal
.. _time_since_last_alarm: ./observation.html#grid2op.Observation.BaseObservation.time_since_last_alarm
.. _last_alarm: ./observation.html#grid2op.Observation.BaseObservation.last_alarm
.. _attention_budget: ./observation.html#grid2op.Observation.BaseObservation.attention_budget
.. _max_step: ./observation.html#grid2op.Observation.BaseObservation.max_step
.. _current_step: ./observation.html#grid2op.Observation.BaseObservation.current_step

.. _observation_module:

Expand Down Expand Up @@ -117,7 +125,12 @@ Name(s)
`storage_power_target`_ float `n_storage`_
`storage_power`_ float `n_storage`_
`gen_p_before_curtail`_ float `n_gen`_
`curtailment`_ float `n_gen`_
`curtailment`_, `curtailment_limit`_ float `n_gen`_
`is_alarm_illegal`_ bool 1
`time_since_last_alarm`_ int 1
`last_alarm`_ int `dim_alarms`_
`attention_budget`_ int 1
`max_step`_ , `current_step`_ int 1
============================================================================= ========= ============

(*NB* for concision, if a coma ("*,*") is present in the "Name(s)" part of the column, it means multiple attributes
Expand Down
Loading

0 comments on commit 71d3b4f

Please sign in to comment.