Ziel des Versuches ist es eine Übersicht der Spektren verschiedener Spektraltypen zu gewinnen. Hierfür sollen anhand einer zur Verfügung gestellten Liste von Sternen (Koordinaten und scheinbare Magnituden) vier Sterne spektroskopiert werden, die während der Nacht gut zu beobachten sind. Die so gewonnenen Spektren gilt es dann anhand der Linien im Spektrum sowie der Form des Kontinuums einem Spektraltyp zuzuordnen.
Der Versuch erfordert Nachtbeobachtungen am OST der Uni Potsdam. Der Versuchshintergrund und die Technik zur Aufnahme der Spektren wird im Rahmen von Vorträgen im Praktikumsseminar vorbesprochen. Eine Liste mit geeigneten Objekten wird von den Betreuern zur Verfügung gestellt.
Beachte: Folgende Aufnahmen müssen für jeden Stern gemacht werden:
Die Kalibrationsaufnahmen werden später benötigt, um von einer Pixelskala auf Wellenlängen umzurechnen bzw. um Geräteartefakte herauszurechnen.
Die Skripte für die Auswertung sind auf dem Praktikumsrechner im Ordner ~/scripts/n1_dados
zu finden.
Die ersten zwei Schritte sind das Einloggen im Praktikumspool und das Kopieren der Beobachtungsdaten (FITS-Files), inklusive Darkframe- und Kalibrations-Aufnahmen aus dem Verzeichnis ~/data/<datum>
ins eigene Verzeichnis ~/data_reduction/
. Es gibt verschiedene Tools, um die im FITS-Format abgelegten zweidimensionalen CCD-Bilder (Images) zu betrachten. Beispielsweise ds9, dass im Terminal gestartet werden kann
ds9 filename.fit
Das benötigte Skript sucht die Maxima im Kalibrationspektrum, markiert diese und notiert deren Pixelnummer, an der sich die Intensitätsmaxima befindet. Schließlich wird diesen Werten jeweils eine Wellenlänge zugeordnet. So ergibt sich eine Pixel-Wellenlängenzuordnung, die dann für die Auswertung des Sternspektrums benutzt wird.
Das zugehörige Skript heißt 1_findcaliblines.py
. In dieser Datei editiert man mit einem Editor seiner Wahl (z.B. Kate) den Pfad und den Namen der Datei mit dem Spektrum der Energiesparlampe, i.e. die schwarze Lampe mit dem Linienspektrum, sowie den Zeilenbereich, in dem man auch das Sternspektrum extrahieren will und einen Zeilenbereich, der außerhalb des Spaltes liegt. Beispielsweise:
# name of the file with the wavelength calibration spectrum calibFileName = "calib_wave.FIT" # region (rows on the image) containing the calibration spectrum specRegionStart = 495 specRegionEnd = 600 # background region (rows on the image), which needs to be outside of the slits bgRegionStart = 0 bgRegionEnd = 200
Die Kalibration beruht darauf, dass Quecksilber- und Argonlinien identifiziert werden. Die stärksten Linien, welche zu erwarten sind, sind in der folgenden Grafik identifiziert.
Nun kann das Skript ausgeführt werden:
python 1_findcaliblines.py
Nach dem Ausführen des Skriptes erscheint folgendes Fester, auf dem das Quecksilber- und Argonemissionslinienspektrum dargestellt ist und alle Linien, die durch das Skript identifiziert wurden mit einem roten Kreis markiert sind. Nun müssen in diesem Fenster alle Emissionslinien markiert werden, für die die Wellenlänge bekannt ist. Hierfür ist das obere Beispielspektrum mit den identifizierten Linien sehr hilfreich. Das Skript gibt die möglichen Linien vor, sodass jeweils nur die entsprechenden roten Kreise durch einen Linksklick markiert werden müssen. Die Wellenlänge der aktuellen Linie ist in rot oben in dem jeweiligen Fenster zusehen. Sollte die Wellenlänge einer Linie angezeigt werden, die nicht mit einem roten Kreis markiert ist, kann diese durch einen Rechtsklick übersprungen werden. Erfolgreich markierte Linien erscheinen dann blau und die entsprechende Wellenlänge wird neben den Emissionspeak geschrieben (siehe unten). Es müssen wenigsten vier Linien markiert werden um eine erfolgreiche Wellenlängenkalibration zu ermöglichen. Wenn alle möglichen Linien markiert sind kann dieser Prozess mittels drücken der Q-Taste
auf der Tastatur abgeschlossen werden.
Anschließend wird von dem Skript die Kalibrationskurve geplotted (siehe unten). Eine Erfolgreiche Kalibration erkennt man daran, dass die Kalibrationskurve nahezu linear ist.
Von dem Skript werden standardmäßig folgende Dateien erstellt:
calibration_spectrum.dat
- darin wird jedem Pixel eine Wellenlänge in Angstrom zugeordnetcalibration_selection.pdf
- Plot mit den ausgewählten Linien für die Wellenlängenkalibration (bitte an das Protokoll anhängen)calibration_fit.pdf
- hier ist die Wellenlängenkalibration, also wcalibration_spectrum.dat
, geplottet (bitte an das Protokoll anhängen)Die Plots sollten dann auf mögliche Fehler inspiziert werden. Sollte der Kalibrationsplot nicht linear aussehen, muss das Skript korrigiert und neu ausgeführt werden. Fehlerquellen können sein:
linelist
im Skript eingetragen werden müssen. Nach der Bestimmung der Kalibrationskurve kann nun das eigentliche Sternspektrum ausgewertet werden. Zunächst wird das Darkframe des Sternspektrums abgezogen. Dann wird das Spektrum durch das Flatfield geteilt und schließlich die Wellenlängenkalibatrion durchgeführt. Außerdem besteht die Möglichkeit im Spektrum identifizierte Spektrallinien zu kennzeichnen.
Das zugehöriges Skript heißt 2_extractspectrum.py
. In dieser Datei werden viele Parameter ganz analog zu den obigen Skript gesetzt. Die Parametersektion kann beispielsweise so aussehen:
### science spectrum file ### # file with stellar spectrum science = 'star.FIT' # directory of the darkframe for the stellar spectrum darkframe_dir = 'darks/??s/' # flatfield directory flatfield_dir = 'flats/' # directory of the darkframe for the flats flatdark_dir = 'darks/??s/' ### Data that should be extracted ### # region containing the science spectrum specRegionStart = 495 specRegionEnd = 590 # sky background region (inside the slit) bgSkyStart = 96 bgSkyEnd = 104 ### Plot range ### # set the variables to '?' for an automatic resizing lambdamin = '?' lambdamax = '?' #lambdamin = 3500. #lambdamax = 5000.
Zu diesen Parametern sei angemerkt:
specRegionStart
und specRegionEnd
werden die CCD-Zeilen definiert, die das Spektrum enthalten und die ausgelesen werden. lambdamin
und lambdamax
kann der Plotbereich eingeschränkt werden. Werden in diese Variablen ?
geschrieben, dann wird der Plotbereich automatisch festgelegt.Analog zu oben wird das Skript mittels:
python 2_extractspectrum.py
ausgeführt. Dabei werden in den Standardeinstellungen folgende Dateien erstellt:
stern_spectrum.dat
- mit dem tabellierten Spektrum stern_spectrum.pdf
- mit dem geplotetem Spektrum flatfield.pdf
- mit dem geplotetem Flatfield (bitte an das Protokoll anhängen)
Es besteht die Möglichkeit im Spektrum gefundenen Linien im Spektrumsplot einzuzeichnen. In der Datei absorption_lines
im Skriptverzeichnis sind einige wichtige Linien aufgelistet. Allerdings enthält diese Datei nicht alle Spektralllinien, die in den vielen unterschiedlichen Sternen auftreten, die wir beobachten. Daher ist es nötig nach zusätzlichen Spektralllinien und deren Übergängen z.B. in der NIST-Datenback zu suchen. Eine Anleitung hierfür haben wir natürlich auch. Darüber hinaus ist es empfohlen, für jeden Stern eine individuelle Datei mit Linienidenifikationen zu erstellen. Um Linien im Plot zu kennzeichnen, überträgt man die relevanten Wellenlängen und Elemente/Ionen in die separate Datei, deren Inhalt dann wie folgt aussehen könnte (Wellenlänge in Å | Ident):
3888.052 HI 3970.075 HI 4861.38 HI 6562.88 HI 5801.33 5811.98 CIV
Wie im letzten Eintrag zu sehen ist, können auch Ionen mit Multipletübergängen dargestellt werden. Linien, die nicht im Stern wieder gefunden werden, sind aus der entsprechenden Datei zu entfernen.
Hat man diese Datei für ein Spektrum erstellt, kann der dazugehörige Pfad nun in der Parametersektion gesetzt werden. Beispielsweise
#File containing line identifications lineFile = "directory/line_list_for_starname.dat"
Dann kann das Skript erneut ausgeführt werden und im Plot sollten die Linien benannt sein.
Ein ueblicher Praktikumsbericht ist anzufertigen. Allemeine Hinweise zum Schreiben von Praktkumsberichten zum Thema Struktur und Inhalt koennen hier eingesehen werden.
Die Uebersicht ueber den theoretischen Hintergrund fuer diesen Versuch beinhaltet eine Beschreibung der Entstehung von Sternspektren, den verschiedenen Spektraltypen und deren Charakteristiken und das Konzept hinter der Messung von Radialgeschwindigkeiten.
In den Methoden sollen die Ablaeufe der Beobachtung beschrieben werden und die anschliessende Reduktion der Daten. Dazu gehoert eine allgemeine Beschreibung der unternommenen Schritte, moeglichen Abweichungen von Standardprozedere und einer Auflistung alle gesetzten Parameter. Alle im Zuge der Datenreduktion anfallenden Grafiken sollen im Bericht vorhanden sein, koennen aber in den Appendix ausgelagert werden.
Der Resultateabschnitt des Reports praesentiert und beschreibt die reduzierten Spektren (ein paar signifikante Ordnungen im Text, der Rest kann in den Appendix).
Die Analyse beinhaltet die Bestimmung des Spektraltyps fuer die einzelnen Sterne basieren auf den Charakteristiken, die im theoretischen Hintergrund gelistet sind.
Abschliessend, diskutiere die Ergebnisse und bringe sie in den groesseren Zusammenhang. Dazu zaehlt z.B. ein Literaturvergleich wo moeglich. Weiterhin soll eine Diskussion moeglicher Fehlerquellen gemacht werden. Gibt es in euren Daten Inkonsistenzen oder Abweichungen vom Erwarteten? Oder gibt es Strukturen und Auffaelligkeiten in den Spektren die ihr nicht erklaeren koennt? Beschreibe moegliche Loesungen und Erklaerungen fuer die gefundenen Probleme.
Anmerkung: Diese Grafik [1] kann hilfreich sein fuer eine erste Klassifizierung der Spektren. Desweiteren koennen die Spektren auch mit einem Spektralatlas verglichen werden. Die NIST web page erlaubt es explizit nach Spektrallinien zu suchen. Auf dieser Website gibt es eine gute Anleitung zum Klassifizieren von Sternspektren.
Anmerkung: Die Plots der individuellem Ordnungen der Spektren sind sehr speicherintensiv und gewoehlich zu gross fuer einen Emailanhang. Ihr koennt den Report in den Universitaetseigenen Cloud Service (BoxUP) hochladen und uns den Link zusenden, oder aber den Dateipfad zu den Plots wenn ihr sie auf dem Praktikumsrechner gespeichert habt.
[1] Struve, O. (1959): Elementary Astronomy (Oxford University Press, New York) p. 259