rte-france / Grid2Op

Grid2Op a testbed platform to model sequential decision making in power systems.
https://grid2op.readthedocs.io/
Mozilla Public License 2.0
285 stars 116 forks source link

Line disconnections while loading chronic scenarios #124

Closed NMegel closed 4 years ago

NMegel commented 4 years ago

Environment

Bug description

Line disconnections while loading some chronic scenarios, meanwhile parameter NO_OVERFLOW_DISCONNECTION is activated This phenomenon keeps happening on other chronic scenarios (3, 5) but not on 0 and 5. The disconected line is not always the fourth as it happens in the following example. Suppressing chronic scenarios to change their position does not change anything to the outputs

How to reproduce

Run the following piece of code and ensure that you load l2rpn_2019 network files from ExpertOp4Grid repository (abstraction branch): https://github.com/mjothy/ExpertOp4Grid/tree/abstraction/alphaDeesp/ressources/parameters/l2rpn_2019

Command line

Code snippet

import grid2op
from grid2op.Parameters import Parameters

# Chose the number of the chronic to consider
chronic_scenario = 1 # Other disconnections: 3. No disconnection with 0 or 2

# Load environment
parameter_folder = r'.\alphaDeesp\ressources\parameters\l2rpn_2019' # Or any path to the network from ExpertOp4Grid repository (abstraction branch)
custom_params = Parameters()
custom_params.NO_OVERFLOW_DISCONNECTION = True
env = grid2op.make(parameter_folder, param = custom_params)

# Go to chronic scenario
env.set_id(chronic_scenario)
env.reset()

# Print line status
obs = env.get_obs()
print(obs.line_status)

Current output

[ True  True  True False  True  True  True  True  True  True  True  True True  True  True  True  True  True  True  True]

Expected output

[ True  True  True TrueTrue  True  True  True  True  True  True  True True  True  True  True  True  True  True  True]
Tezirg commented 4 years ago

Hello, thank you for reporting this issue, unfortunately I did not managed to reproduce it.

That data you are referring to is in a private repository, so I'm assuming it is a copy of the l2rpn_2019 dataset provided in this repository (We cannot support manually edited data) .

import grid2op
from grid2op.Parameters import Parameters

chronic_scenario = 1

# Load environment
parameter_folder = 'l2rpn_2019'
custom_params = Parameters()
custom_params.NO_OVERFLOW_DISCONNECTION = True
env = grid2op.make(parameter_folder, param = custom_params)

# Go to chronic scenario
env.set_id(chronic_scenario)
env.reset()

# Print line status
obs = env.get_obs()
print (obs.line_status)
print (grid2op.__version__)

My output is :

[ True  True  True  True  True  True  True  True  True  True  True  True
  True  True  True  True  True  True  True  True]
1.1.1

As you can see, I am using grid2op latest, it is recommended to stay up-to-date with the framework. Especially when we hit a major release version.

On top of my head, here are other sources for lines disconnections:

Tezirg commented 4 years ago

Update: Thank you for providing access to the dataset referenced in this issue.

Line disconnections are due to maintenances operations: cat ./alphaDeesp/ressources/parameters/l2rpn_2019/chronics/b/maintenance.csv | head -n 2

1_2_1 1_5_2 2_3_3 2_4_4 2_5_5 3_4_6 4_5_7 4_7_8 4_9_9 5_6_10 6_11_11 6_12_12 6_13_13 7_8_14 7_9_15 9_10_16 9_14_17 10_11_18 12_13_19 13_14_20
0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

However, there is something weird with this dataset, as the observation's maintenance-related variables does not seems to contains correct information. (Compared to our l2rpn_wcci_2020, l2rpn_neurips_2020_track2_small)

import grid2op
from grid2op.Parameters import Parameters
custom_params = Parameters()
custom_params.NO_OVERFLOW_DISCONNECTION = True
env = grid2op.make("./", param = custom_params)
env.set_id(1)
obs = env.reset()
print (obs.line_status)
print (grid2op.__version__)
print (obs.time_next_maintenance)
print (obs.duration_next_maintenance)
[ True  True  True False  True  True  True  True  True  True  True  True
  True  True  True  True  True  True  True  True]
1.1.1
[  7 105  56  32  38  12  63   4  27  99  67  39  16   7  30  62  30   3  10   1]
[  1   1   1 -31   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1]
NMegel commented 4 years ago

Yes it was due to maintenance, thanks !