Silent data mutation, missing provenance in the compile pipeline and DEA URL (404)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- data-engineering
Direzione di ricerca
Inizia da scripts/retrieve_data_from_dea.py ed esegui python scripts/retrieve_data_from_dea.py per riprodurre il 404; poi esamina compile_cost_assumptions.py e le funzioni della pipeline indicate. Usa snakemake -call --forceall per osservare i problemi più ampi. Il lavoro è completo quando questi risultati sono stati ricondotti a modifiche mirate e la validazione, la provenienza e il comportamento degli input manuali sono coperti da test o da un report di esecuzione verificabile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Checklist
Describe the Bug
Findings from a first-pass review of technology-data v0.15.0, as discussed with @euronion. Listing them together for triage; happy to split into separate focused issues.
1. No validation of output parameters
docs/parameter.csv lists 11 core parameters; the output contains 59. Nothing validates output parameters against a known list, so new or misspelled parameters pass through silently.
2. Hardcoded metadata in compile_cost_assumptions.py
The script holds 6+ hardcoded dicts (dea_sheet_names, uncrtnty_lookup, cost_year_2020, cost_year_2019, source_dict, per-tech usecols). Proposal: move them to a config file, compare against the data at runtime, and report new/missing entries at the end of the run. Same pattern applies to parameters, technologies and units.
3. Imputation is not recorded
.fillna(0), .ffill(), .interpolate() and .mean() are applied silently — the output does not distinguish sourced values from imputed ones. Proposal: tag imputed values in further description or in a dedicated data_quality column.
4. retrieve_data_from_dea.py is broken
It points at the old DEA URL (404). DEA has restructured into 8 category pages under technology-catalogues. The script was never updated (the new URL appears in the v0.14.0 release notes, but data was only downloaded manually) and is not wired into Snakemake.
5. manual_input.csv entries are silently overwritten
add_manual_input uses combine_first so manual values beat DEA data, but later .loc assignments in add_co2_intensity(), add_solar_from_other() and the hardcoded biomass fuel values overwrite manual_input entries unconditionally. These legacy functions predate the manual_input mechanism. Proposal: end the pipeline after data collection + manual input.
6. No per-run data provenance report
Items 1–5 are the same underlying problem: the pipeline mutates data silently. A per-run report covering source coverage, imputations, overrides, unknown parameters and data freshness would make all of it auditable. Combined with dataset versioning, this would let a user reconstruct where any value came from.
Minimal example
Item 4 reproduces on its own:
python scripts/retrieve_data_from_dea.py
The remaining items are observable in the output of a full pipeline run:
snakemake -call --forceall
Error Message
retrieve_data_from_dea.py — the configured DEA URL returns HTTP 404:
None
- Lingua principale
- Python
- Stelle
- 130
- Fork
- 59
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PyPSA/technology-data
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
PyPSA/technology-data#271 ·
-
data: Add ACER's CONE study Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
PyPSA/technology-data#284 ·
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
PyPSA/technology-data#283 ·
-
feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
PyPSA/technology-data#282 · 4 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
PyPSA/technology-data#276 · 1 commento ·
Tutte le issue di PyPSA/technology-data
Issue simili
-
triage/confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
agentscope-ai/agentscope#2775 ·
-
comp/desktop P3 type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
NousResearch/hermes-agent#118866 ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
apache/cloudstack#14222 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100