Simulation und ihre Notwendigkeit in der astronomischen Forschung

Ich habe mich gefragt, ob in der Astronomie und Astrophysik hauptsächlich alles von Simulationen abhängt, welche Bildungsvoraussetzungen dann erforderlich sind, um sich als Simulationsexperte zu qualifizieren.

Welche Software wird weltweit benötigt? Werden alle Simulationen auf einem Supercomputer ausgeführt? Benötigen Astrophysiker Programmiererfahrung? Und sind Programmierkenntnisse ein Muss?

Heutzutage wird oft in Forschungsgruppen geforscht und so muss nicht jeder Astronom selbst Simulationen durchführen. Simulationssoftware kann in einigen Fällen auch ein standardisiertes Programm sein, sodass Sie möglicherweise nur genug Fachwissen benötigen, um es auszuführen , und nicht, um es zu schreiben. Die Skriptsprache Python verwischt auch die Grenzen zwischen dem Schreiben und Ausführen von Software; Sie müssen vielleicht nur ein paar Dutzend leicht verständliche Zeilen schreiben, die auf ein Softwarepaket zugreifen, das Zehntausende von Zeilen enthält, die Sie nie sehen werden. Heutzutage können sogar Laptops Gigaflops machen, sodass nicht immer ein Supercomputer benötigt wird.
Also nein, man muss absolut kein „Simulationsexperte“ sein, um Astronom zu sein. Wenn Sie eine Simulation durchführen oder die Ergebnisse interpretieren müssen, sollten Sie den zu simulierenden Prozess und die Funktionsweise der Simulationssoftware gut verstehen, aber möglicherweise müssen Sie nie selbst etwas schreiben.

Antworten (1)

Ich stimme @uhoh zu, dass man kein Experte sein muss, aber überdurchschnittliche Coding-Kenntnisse sind auf jeden Fall sinnvoll und grenzen an „ein Muss“. Nicht zum Schreiben riesiger Programme mit Tausenden von Zeilen, sondern zum Schreiben kleinerer Codeteile, die Ihnen bei alltäglichen Aufgaben helfen.

Wie uhoh sagt, können Sie sehr gut Ihren Platz in einer Gruppe finden, in der andere Personen für numerische Modellierung zuständig sind, und sich stattdessen beispielsweise auf die Interpretation von Beobachtungsergebnissen, physikalische Modellierung oder sogar die technischen Aspekte des Teleskopbetriebs konzentrieren.

Software

Sie fragen nach der verwendeten Software: Einige der beliebtesten, wenn Sie mit Beobachtungsdaten arbeiten, sind IRAF zum Reduzieren und Analysieren der Daten und SAOImage/ds9 zum Visualisieren. Eine lange Liste astronomischer Software finden Sie hier .

Wenn Sie andererseits Galaxien oder das interstellare Medium modellieren, möchten Sie sich vielleicht mit Codes für die Synthese von Sternpopulationen wie STARBURST99 , halbanalytischen Galaxienentstehungsmodellen wie GALFORM oder Strahlungsübertragungscodes wie Cloudy vertraut machen .

Kodierung

Wenn Sie beim Codieren umfangreiche Codes erstellen , die viele Rechenstunden erfordern – möglicherweise auf einem Supercomputer –, möchten Sie wahrscheinlich, dass Ihr Code schnell ist. Dann werden häufig Sprachen wie FORTRAN und C verwendet. Für Programme, die nicht unbedingt schnell sein müssen, sind umfassende Sprachen wie Python sehr beliebt. Für kleinere Aufgaben kann Shell-Scripting sehr nützlich sein.

Auch wenn Sie keine Simulationen durchführen, werden Sie höchstwahrscheinlich irgendwann Ihre Arbeit automatisieren müssen. Anstatt beispielsweise 100 Bilder einzeln zu reduzieren, erstellen Sie eine Pipeline , die die gesamte Vorspannung, das Flat-Fielding, das Entfernen kosmischer Strahlung usw. in einem Rutsch durchführt. Und anstatt einen Katalog mit einer Million Galaxien nacheinander zu durchsuchen, um diejenigen zu suchen, die Ihren bevorzugten Kriterien entsprechen, erstellen Sie eine Filtersoftware, die sie für Sie findet.

Supercomputing

Nicht alle Simulationen werden auf einem Supercomputer ausgeführt. Große kosmologische Simulationen, Galaxienentstehungssimulationen usw. sind es in der Regel, weil man eine Simulation meist starten und dann drei Monate laufen lassen kann, ohne einzugreifen. Wenn Ihre Simulationen jedoch kleiner sind und möglicherweise erfordern, dass Sie den Prozess ständig überprüfen, ist es oft ausreichend/einfacher, sie auf Ihrem lokalen Computer auszuführen.