eDisGo_OPF.jl: production defects found by the Julia test suite (#799)

Aperta
#810 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
julia
Ambito
backend

Direzione di ricerca

Start with edisgo/opf/eDisGo_OPF.jl/test/FUNCTION_COVERAGE.md, section “Defects found in production code,” and follow the linked sub-issues to their pinned tests. Each defect has a separate scope, and some need a domain decision; check the relevant test and test/TESTING_CONVENTIONS.md section 6 before changing code. Done means the affected tests assert intended behavior and the defect is marked fixed in FUNCTION_COVERAGE.md.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: opf bug

#799 adds a test suite for the Julia OPF package edisgo/opf/eDisGo_OPF.jl.
Writing it turned up 16 defects in production code. Defects 1 and 2 (_LOGGER and
_biggest_generator not defined in the module) are fixed in #799. The leftover
part of defect 2 is tracked below. The others are not fixed yet. Each one is
pinned by a test that checks the current behaviour, and where possible the
intended behaviour is marked with @test_broken. The full list with references
is in edisgo/opf/eDisGo_OPF.jl/test/FUNCTION_COVERAGE.md, section "Defects found
in production code".

The defects are grouped by what would be fixed together. The sub-issues are
attached as GitHub sub-issues.

Sub-issue Defects Priority
#800 Warm start in Main.jl crashes with UndefVarError 10 high, small fix (see issue)
#801 Curtailment in opf_version 3 has no effect on the grid 11 high, needs a domain decision
#802 SOC and NC treat the virtual storage branch differently 5 medium, needs a domain decision
#803 Remove debug printlns from objective_min_line_loading_max_OG 7 low, trivial
#804 Warm-start start values are incomplete 12, 13 low
#805 ref_add_core! does not filter eDisGo components 3, 15 high, may become relevant soon
#806 Input validation and error messages 9, 6, 4, rest of 2, unknown method low
#807 phss is summed over heat pump ids 8 low
#808 variable_line_loading_max reads network 1 14 low
#809 Charging point final-state condition missing with one time step 16 low

Suggested order

  1. Warm start crash (10). Anyone who sets warm_start=True hits it today.
  2. Curtailment in opf_version 3 (11). This silently affects results of the
    overlying_grid_opf presets. A domain decision is needed first.
  3. ref_add_core! filtering (#805, defects 15 and 3). Not triggered today, but
    switching heat storage units off via status may become relevant soon, and
    the OPF would then silently dispatch them.
  4. Virtual storage branch in SOC vs. NC (5). A domain decision is needed first,
    ideally together with #753.
  5. Debug printlns (7). A trivial cleanup.
  6. The other low-priority issues, in any order. None of them can be triggered by
    input that eDisGo produces today. "Warm-start start values" becomes relevant
    as soon as 10 is fixed.

Definition of done for every sub-issue: the fix is a commit of its own
(fix(opf-julia): …, see test/TESTING_CONVENTIONS.md, section 6). In that
commit the affected @test_broken become regular @tests, or, where there is no
@test_broken, the test that pins the current behaviour is changed to assert the
intended behaviour. The commit also marks the defect as fixed in
FUNCTION_COVERAGE.md.

Lingua principale
Python
Stelle
48
Fork
22
Merge medio
1g 8h
PR unite (30g)
37

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di openego/eDisGo

Tutte le issue di openego/eDisGo

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.