E.2 Samenvoegen Resultaten - RuudvandenWijngaart/VestaDV GitHub Wiki
Disclaimer: In verband met recente updates is het mogelijk dat bepaalde stappen niet juist werken. Dit wordt binnenkort geupdatet.
Wat doen de merge-batch files
Met het uitvoeren van een (batch) run (/Resultaten/Exports/GenerateAllIndicatoren) wordt een grote hoeveelheid bestanden weggeschreven in de resultaatmappen (%LocalDataDir%\Results\
). Op basis van deze diversiteit aan bestanden is het moeilijk om een analyse van deze run in zijn geheel te maken. Om deze analyse uit te voeren is het noodzakelijk om de gegevens voor de modeljaren achter elkaar te zetten. Daarnaast is het interessant om verschillende runs te vergelijken op basis van de ontwikkeling over de tijd.
Het is mogelijk om de resultaten (/Resultaten/Exports/GenerateAllIndicatoren) handmatig te kopiëren en onder elkaar te plakken, maar om het handwerk te beperken zijn de merge-batch files ontworpen. De merge-batch files zorgen ervoor dat de resultaten van alle jaren en alle runs achter elkaar komen te staan. Dit maakt het makkelijker in de vervolgstappen om de geordende resultaten in de Flowtabel en het Grootboek te plakken (zie E.3 Verwerking Resultaten in Excel. Hierbij kunnen er maximaal 5 runs gecombineerd worden met de merge-batch files.
Om de merge-batch files te gebruiken moeten er verschillende stappen worden doorlopen, welke uiteindelijk resulteren in 11 csv-bestanden. Deze csv-bestanden bevatten verschillende soorten Vesta output, zoals bijv. kosten per actor, energiestromen of het aantal huizen met zon-PV. Maar elk van deze csv-bestanden is geordend naar run & jaar. Dus voor run 1 worden eerst de gegevens van de jaren 2010, 2020, 2030, 2040 en 2050 weggeschreven en daarna hetzelfde voor run 2, 3, 4 en 5.
Hoe werken de merge-batch files
De merge-files zijn i.t.t. Vesta geprogrammeerd in python, en het is daarom noodzakelijk om python te installeren. De stappen om python te installeren zijn beschreven in B.1 Installeren.
Aanmaken van een environment variabele
Met python geïnstalleerd is het mogelijk om de merge-batch files te gaan gebruiken. Om deze merge-batch files te kunnen draaien dient er een zogenaamde environment variabele aan het windows systeem te worden toegevoegd. Hiervoor moeten de volgende stappen worden ondernomen (dit voorbeeld gaat uit van een windows 10-systeem):
1. Activeer System Properties (onder All maps, Window system, Control Panel, System, Advanced System Settings).
2. Activeer het tabblad Advanced.
3. Klik op de 'Environment Variables...' knop.
images/environment_variabele_systeem.jpg
4. Selecteer 'Path' onder system variables en klik op 'Edit'.
images/environment_variabele_edit.jpg
5. Kies in het opgepopte scherm voor 'New'.
6. Voeg het record “C:\Python27” toe (indien Python op deze bestandslocatie is geïnstalleerd).
7. Druk op de OK-knop.
images/environment_variabele_edit2.jpg
Aanpassen van merge_all.bat
Het merge_all.bat bestand is te vinden in %ProjDataDir%\doc\Eerdere bestanden mergePY\py
. Voordat het samenvoegen daadwerkelijk kan plaatsvinden dient het bestand merge_all.bat (eventueel) aangepast te worden. In het merge bestand wordt opgegeven welke runfiles (lees scenario's) worden samengevoegd. Hieronder is een voorbeeld te zien van deze file met twee actieve runs, waarbij de runs nu de volgende namen hebben:
- Referentie
- Verhoging50cent
Deze namen zijn alleen gebruikt voor dit (op zich werkende) voorbeeld. Voor het daadwerkelijk gebruik van de merge_all.bat voor scenario's met een andere naam moeten de namen van de runs (de naam van de .dms runfiles) hier worden aangepast. Voor extra scenario's (meer dan twee) moeten de namen van de extra runs hier worden toegevoegd en het bestand worden uitgebreid.
Om het bestand merge_all.bat eventueel aan te passen dienen de volgende stappen te worden doorlopen:
1. Klik met de rechtermuisknop op het bestand 'merge_all.bat' en selecteer dan 'Edit'.
2. Zorg dat op regel 3 vesta_root juist staat. Dit moet het pad zijn waar de resultaten zijn opgeslagen: %LocalDataDir%
, bij standaard instellingen is dat dusC:\Vesta\LD\VestaDV-master
.
3. Pas eventueel de reeds bestaande actieve scenarionamen aan.
4. Voeg eventueel extra scenario's toe tot een maximum van vijf. Hiervoor dienen twee zaken doorgevoerd te worden: Roep ten eerste een extra scenario aan. Voor run 3 betekent dat de volgende code moet worden toegevoegd:
- set "Run3=_naamrun3"
- set "Run3_pad=%padtoresults%%Run3%"
Vervolgens moeten de resultaatbestanden van de extra run gedefineerd worden. Dit kan gemakkelijk gedaan worden door deze code te kopieren en de run te vervangen met de betreffende nummer. Voor run 3 zou betekenen dat de volgende code moet worden toegevoegd:
- call python linenumbers.py %Run3_pad% %tmpcsv%/mut_allflow_%Run3%.csv mut_lijst
- call python linenumbers.py %Run3_pad% %tmpcsv%/mut_allstock_%Run3%.csv mut_allstock_lijst
- call python linenumbers.py %Run3_pad% %tmpcsv%/matrix_allflow_%Run3%.csv matrix_allflow
- call python linenumbers.py %Run3_pad% %tmpcsv%/matrix_allstock_%Run3%.csv matrix_allstock
- call python linenumbers.py %Run3_pad% %tmpcsv%/flow_%Run3%.csv NL
- call python linenumbers.py %Run3_pad% %tmpcsv%/NL_emission_%Run3%.csv NL_emission
- call python linenumbers.py %Run3_pad% %tmpcsv%/Gebiedsmaatregelen_%Run3%.csv gebiedsmaatregelen
- call python linenumbers.py %Run3_pad% %tmpcsv%/Opwekking_%Run3%.csv opwekking
- call python linenumbers.py %Run3_pad% %tmpcsv%/Verbetering_%Run3%.csv verbetering
- call python linenumbers.py %Run3_pad% %tmpcsv%/mut_bebouwing_allflow_%Run3%.csv mut_bebouwing_allflow
- call python linenumbers.py %Run3_pad% %tmpcsv%/mut_bebouwing_allstock_%Run3%.csv mut_bebouwing_allstock
5. Wanneer de goede runnamen zijn opgenomen in het merge_all.bat bestand dan moet deze opgeslagen worden om effect te hebben bij het runnen van de merge-batch files.
Samenvattend, om de resultaten samen te voegen van 3 runs dient de code in merge_all.bat eruit te zien als in het figuur: images/inhoud_merge_all_bat_v6.jpg
Starten van de batch-bestand, merge_all.bat
Nu de runs goed staan kan het bestand zelf geactiveerd worden, wat gedaan wordt door te dubbelklikken (met linkermuisknop) op het bestand merge_all.bat. Op windows 10 systemen kan bij het activeren de popup-melding komen "Windows protected your PC", klik in dat geval op "More info" en kies vervolgens Run anyway. Met dit bestand worden de resultaten van de afzonderlijke variabelen per zichtjaar samengevoegd, vervolgens worden ook de scenario's samengevoegd (let op: op alfabetische volgorde, niet de volgorde in de mergefile zelf Run1, Run2 enz.). Het runnen van de merge-all-batch duurt in de meeste gevallen enkele tientallen seconden.
Eindresultaat van de batch file
Het eindresultaat bestaat alfabetisch gesorteerd uit de volgende 11 aangemaakte csv-bestanden in de folder van de merga_all.bat file (locatie: %ProjDataDir%\py
):
- flow.csv: dit bestand wordt gebruikt in het Flowtabel-Excel bestand.
- Gebiedsmaatregelen.csv: dit bestand wordt gebruikt in het AansluitingenBoek-Excel bestand
- matrix_allflow.csv
- matrix_allstock.csv
- mut_allflow.csv: dit bestand wordt gebruikt in het Grootboek-Excel bestand.
- mut_allstock.csv
- mut_bebouwing_allflow.csv: dit bestand wordt gebruikt in het Grootboek-Excel bestand.
- mut_bebouwing_allstock.csv
- NL_emission.csv: tabel met emissies voor NOx (stikstofoxiden), SO2 (Zwaveldioxide), TS en VOS.
- Opwekking.csv
- Verbetering.csv: dit bestand wordt gebruikt in het Labelsprongen-Excel bestand
Deze csv-bestanden bevatten verschillende vormen van Vesta output, nu georderd naar jaar & run. Deze data kan gemakkelijk worden gebruikt in de Excel files 'Flowtabel' en 'Grootboek'. Twee bestanden die gebruikt worden voor de analyse van Vesta resultaten en welke verder worden beschreven in onderdeel E.3 Verwerking Resultaten in Excel.