Spaces:
Paused
Initial LF — use DC_VALUES init, skip failed PREVIOUS_VALUES attempt
Contexte
Les logs d'/api/config comportaient systématiquement :
Warning: Load flow with PREVIOUS_VALUES failed
(com.powsybl.commons.PowsyblException: Voltage magnitude is undefined
for bus 'CHOLOP3_2'). Retrying with DC_VALUES...
Le LF initial dans SimulationEnvironment._ensure_valid_state utilisait
les paramètres par défaut (voltage_init_mode=PREVIOUS_VALUES), échouait
immédiatement parce qu'aucun état précédent n'existe sur un Network
fraîchement chargé, puis était relancé en interne avec DC_VALUES.
Correction upstream (expert_op4grid_recommender == 0.2.0.post7, commit a377a968)
Le paramètre voltage_init_mode est maintenant exposé sur
NetworkManager.run_load_flow(). SimulationEnvironment._ensure_valid_state
passe explicitement lf.VoltageInitMode.DC_VALUES :
def _ensure_valid_state(self):
result = self.network_manager.run_load_flow(
voltage_init_mode=lf.VoltageInitMode.DC_VALUES,
)
Point critique : ce changement ne s'applique qu'au LF initial
(construction de SimulationEnvironment + reset()). Tous les autres
appels à run_load_flow continuent d'utiliser PREVIOUS_VALUES par
défaut — qui est le bon choix après une mutation (warm-start depuis
le solution précédente).
Mesure sur grille France 118 MB
Benchmark direct (3 reps, process frais) :
| Version | LF initial median |
|---|---|
| Current (PREVIOUS → fail → DC fallback) | 660 ms |
| Direct DC_VALUES | 588 ms |
Gain ~70 ms. Plus modeste que les ~1 s estimés à l'origine — le
PREVIOUS_VALUES throw est rapide (pypowsybl détecte l'absence de
voltage et lève immédiatement). Mais :
- Logs propres : plus de warning bogus sur le chargement.
- Sémantique correcte : on déclare explicitement l'état initial.
- Marge : sur d'autres grilles où le throw serait plus lent, le gain pourrait être plus important.
Tests
24 tests upstream affectés (environment_detection, environment_pypowsybl,
conversion_actions_helpers_vectorized) passent. L'output numérique du
LF est le même (même convergence, mêmes flux, même status CONVERGED).
Dépendance
Co-Study4Grid requiert expert_op4grid_recommender >= 0.2.0.post7.
Aucune modification côté Co-Study4Grid — le gain s'active au bump
upstream.