Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss2022:mathesis_meets_histlab

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss2022:mathesis_meets_histlab [2022/09/29 17:37]
NoEyeDeer
ss2022:mathesis_meets_histlab [2022/09/29 18:28] (aktuell)
malte.wieseke [Vorgehen]
Zeile 15: Zeile 15:
 =====Projektziele===== =====Projektziele=====
  
-Das Endziel unseres Projektes war es das World 2 Modell aus DYNAMO in Phython ​zu überführen. +Das Endziel unseres Projektes war es das World 2 Modell aus DYNAMO in Python ​zu überführen. 
-Hierzu wurde bevor der Projektphase grundlegende Python ​Programierung ​übermittelt so wie die idee hinter dem World 2 Modell besprochen. +Hierzu wurde bevor der Projektphase grundlegende Python ​Programmierung ​übermittelt so wie die Idee hinter dem World 2 Modell besprochen. 
-In der Projektphase war das erste Ziel sich in den DYNAMO Code einzuarbeiten und diesen nach zu vollziehen. Anschließend sollten die einzelnen Abläufe ungeordnet von in Python Methoden überführt werden sowie die Konstanten und die Startwerte der Variablen festgelegt ​Werden+In der Projektphase war das erste Ziel sich in den DYNAMO Code einzuarbeiten und diesen nach zu vollziehen. Anschließend sollten die einzelnen Abläufe ungeordnet von in Python Methoden überführt werden sowie die Konstanten und die Startwerte der Variablen festgelegt ​werden
-Diese Python Bausteine sollten anschließend in eine für ein Python Programm logische ​anordnung ​gebracht werden um das selbe resultat ​zu erziehlen ​wie das zugrunde liegende DYNAMO ​programm+Diese Python Bausteine sollten anschließend in eine für ein Python Programm logische ​Anordnung ​gebracht werden um das selbe Resultat ​zu erzielen ​wie das zugrunde liegende DYNAMO ​Programm
-Als weiterreichende Ziele sollten noch die Parameter veränderlich gestaltet werden um ihren Einfluss auf das komplete ​System ​nochvollziehen ​zu können so wie eine möglichkeit ​diese Parameter ​änderungen ​durch zu iterieren um den einfluss ​von verschiedenen Veränderungen effizient überprüfen zu können.+Als weiterreichende Ziele sollten noch die Parameter veränderlich gestaltet werden um ihren Einfluss auf das komplette ​System ​nachvollziehen ​zu können so wie eine Möglichkeit ​diese Parameter ​Änderungen ​durch zu iterieren um den Einfluss ​von verschiedenen Veränderungen effizient überprüfen zu können.
 =====Vorgehen===== =====Vorgehen=====
-Nach Abschluss des Einführungskurses in die Programmiersprache Python haben wir einen passenden Rahmen für unsere Projektarbeit gesucht. Diesen haben wir in der „Übersetzung“ des World 2 Programmcodes aus der Programmiersprache DYNAMO in Python gefunden. Ein weiterer Teil war das fertig übersetzte Modell auf seine Sensitivität zu testen. Das bedeutet die Eingabevariablen des Modells zu verändern und den Effekt auch die Ausgabewerte festzustellen. Daraufhin haben wir damit begonnen ein Verständnis für die Ausgangssprache DYNAMO zu entwickeln, indem wir den Programmcode analysiert haben. Nachdem wir verstanden, hatten was einzelne Zeilen des Programmcodes tatsächlich im Modell bewirken, konnten wir mit der Übersetzung des Modells beginnen. Hierfür haben wir zuerst jede Zeile für sich in Python übersetzt. Da jedoch der Programmablauf in Python anders funktioniert als in DYNAMO mussten wir eine Lösung finden, die dem Ablauf des Programms treu bleibt, aber auch die gewünschten Ausgabewerte erzielt. Durch eine Implementation von Methoden im Python Programmcode konnte diese Hürde umgangen werden. ​+Nach Abschluss des Einführungskurses in die Programmiersprache Python haben wir einen passenden Rahmen für unsere Projektarbeit gesucht. Diesen haben wir in der „Übersetzung“ des World 2 Programmcodes aus der Programmiersprache DYNAMO in Python gefunden. Ein weiterer Teil wardas fertig übersetzte Modell auf seine Sensitivität zu testen. Das bedeutet die Eingabevariablen des Modells zu verändern und den Effekt auch die Ausgabewerte festzustellen. Daraufhin haben wir damit begonnen ein Verständnis für die Ausgangssprache DYNAMO zu entwickeln, indem wir den Programmcode analysiert haben. Nachdem wir verstanden, hatten was einzelne Zeilen des Programmcodes tatsächlich im Modell bewirken, konnten wir mit der Übersetzung des Modells beginnen. Hierfür haben wir zuerst jede Zeile für sich in Python übersetzt. Da jedoch der Programmablauf in Python anders funktioniert als in DYNAMO mussten wir eine Lösung finden, die dem Ablauf des Programms treu bleibt, aber auch die gewünschten Ausgabewerte erzielt. Durch eine Implementation von Methoden im Python Programmcode konnte diese Hürde umgangen werden. ​
 Noch haben wir dieses Projekt jedoch nicht vollendet da der Rahmen eines Semesters für ein weit gefächertes Projekt wie dieses nicht ausreichte. Noch haben wir dieses Projekt jedoch nicht vollendet da der Rahmen eines Semesters für ein weit gefächertes Projekt wie dieses nicht ausreichte.
  
  
-=====DYNAMO ​und Levels=====+=====DYNAMO-Funktionsweise=====
  
-text+Dynamo unterscheidet zwischen drei Berechnungsebenen:​ Levels, Rates und Auxiliaries. Levels werden zuerst berechnet. Es sind die Variablen, die am Ende von Interesse sind: Bevölkerung,​ natürliche Ressourcen, Kapital, Investitionen in der Landwirtschaft und Verschmutzung. Sie werden für jeden Zeitabschnitt berechnet und die Werte am Ende als Graph ausgegeben. Rates, zum Beispiel die Geburtenrate, ​ sind die Änderungsraten eines Levels zu einem bestimmten Zeitpunkt. Auxiliaries sind Hilfswerte, die für die Berechnung der Rates benötigt werden. Pro Zeitschritt werden immer zuerst die Levels, dann die Rates und dann die Auxiliaries berechnet. Die jeweiligen Werte ergeben sich aus den Werten des vorherigen Zeitschritts. ​
  
  
Zeile 70: Zeile 70:
 von Seifenblasen]] oder einfach [[https://​www.br.de/​nachrichten/​wissen/​wie-wetter-vorhersagen-entstehen-moderne-meteorologie,​TBZSq6H|das Wetter]]. von Seifenblasen]] oder einfach [[https://​www.br.de/​nachrichten/​wissen/​wie-wetter-vorhersagen-entstehen-moderne-meteorologie,​TBZSq6H|das Wetter]].
 =====Fazit===== =====Fazit=====
 +
 +Die Einarbeitung in DYNAMO und die Verschaffung eines Verständnis für das World 2 Modell hat gut funktioniert. Die Übersetzung des DYNAMO Codes war allerdings aufwendiger als anfangs geplant, da unsere Gruppe kleiner als üblich war, weshalb die letzten Projektziele leider nicht erreicht werden konnten. Deshalb war es uns nicht möglich, die Sensitivitätstests durchzuführen. Dieses Projekt und unsere bisherigen Fortschritte könnten jedoch zukünftigen weiterführenden Projekten zu Gute kommen. ​
ss2022/mathesis_meets_histlab.1664465859.txt.gz · Zuletzt geändert: 2022/09/29 17:37 von NoEyeDeer