Table of Contents

N1 - Sternspektren verschiedener Spektraltypen (DADOS)

Aufgabe

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.

Beobachtung

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.

Datenauswertung

Die Skripte für die Auswertung sind auf dem Praktikumsrechner im Ordner ~/scripts/n1_dados zu finden.

Datenauswahl

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 

Wellenlängenkalibration

Funktionsprinzip

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.

Parameter

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.

Quecksilber- und Argonemissionslinienspektrum mit entsprechenden Linienidentifikation

Ausführen des Skriptes

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.

Kalibrationsplot ohne markierte Linien
Kalibrationsplot mit sieben markierten Linien

Fehleroutput

Anschließend wird von dem Skript die Kalibrationskurve geplotted (siehe unten). Eine Erfolgreiche Kalibration erkennt man daran, dass die Kalibrationskurve nahezu linear ist.

Kalibrationskurve für den DADOS-Spektrographen

Von dem Skript werden standardmäßig folgende Dateien erstellt:

Fehlerbehebung

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:

Das Sternspektrum

Funktionsprinzip

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.

Parameter

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:

Zusätzliche Parameter

Ausführen des Skriptes

Analog zu oben wird das Skript mittels:

 python 2_extractspectrum.py

ausgeführt. Dabei werden in den Standardeinstellungen folgende Dateien erstellt:

Identifizieren der Spektrallienien

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.

Protokoll

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

Übersicht: Praktikum