Archiv der Skripte und Daten von Bachelor-/Masterarbeiten am MIM Christoph Knote - 08.2016 ** Zusammenfassung ** Nachvollziehbare Ergebnisse zu erzeugen ist Basis guten wissenschaftlichen Arbeitens. Dies sicherzustellen ist Aufgabe des Studenten / der Studentin der/die die Arbeit anfertigt. Fast alle Bachelor-/Masterarbeiten in der Meteorologie werden heute mit Hilfe von Computern erstellt - selbst am Lehrstuhl Experimentelle Meteorologie. Um die Ergebnisse dieser Arbeiten nachvollziehen zu koennen ist es unabdingbar den Quellcode aller Auswerteskripte sowie die verwendeten Eingabedatensaetze zur Verfuegung zu haben. "Nachvollziehbar" bedeutet hier, dass ein(e) Student(in) oder Mitarbeiter(in) mit Hilfe der hier archivierten Dateien und Beschreibungen alle Ergebnisse einer Arbeit wiederherstellen kann. Die Abgabe der aufbereiteten Skripte und Daten beim Betreuer zum Ende der Bearbeitungszeit ist Teil der Arbeit. ** Folgende Schritte sind zur Nachvollziehbarkeit notwendig ** 1) Lesbarer Quellcode Skripte sollten nach Funktion geordnet sein (e.g. get_data, calc_stats, make_plots...), Doppelungen im Code sind zu vermeiden (besser Funktionen verwenden). Der Code selbst sollte kurz und praezise kommentiert sein. Variablen sollten kurze aber sinnvolle Namen haben. Sog. "magic numbers", d. h. numerische Werte die "vom Himmel fallen", sind verboten und muessen mit kommentierten Variablen ersetzt werden. Code um jeden Preis so kurz wie moeglich zu schreiben ist _nicht_ das Ziel - lieber zwei Zeilen mehr und dafuer verstaendlich. Hier ein Beispiel fuer _schlechten_ Code: int ll, aitmp, ai[124], aall; for (ll =124; 1; ll--) { aitmp = ai[ll]; aall = all + aitmp; } Stattdessen: int i; # Laufvariable int nx = 124; # Anzahl Gitterpunkte in x-Richtung int vals[nx]; # Werte-array int tot = 0; # Summe aller Werte for (i=1; nx; i++) { tot = tot + vals[i]; } 2) Datensaetze Daten die im Rahmen der Arbeit erstellt wurden (e.g. Lookup-Tables, Statistiken etc.) muessen in einem leicht lesbaren Format (ASCII, NetCDF, binary mit Datenbeschreibung) abglegt werden. Daten die einfach wieder herzustellen sind (e.g. MODIS Satellitendaten) sollen _NICHT_ hier gespeichert werden. Stattdessen eine Beschreibung beifuegen, welche Dateien herunterzuladen sind (Adresse und Dateinamen). 3) Dokumentation / README Datei Jeder Arbeit sollte ein README z. B. als einfache Textdatei beiliegen, in dem beschrieben ist wie die Skripte anzuwenden sind. Als Richtschnur sollte gelten: wenn ich meine Skripte, Daten und das README einem Mitstudenten gebe - koennte er die Berechnung meiner Arbeit (das beinhaltet z. B. auch das Erzeugen von Grafiken und Tabellen) ohne meine Hilfe auf seinem Rechner nachvollziehen? ** Uebergabe der Daten ** Die aufbereiteten Skripte und Daten muessen zum Ende der Arbeit dem Betreuer uebergeben werden. Das geht z. B. durch kopieren auf einen oeffentlich zugaenglichen Festplattenbereich, oder per USB-Stick. ** Archivierung ** Alle Daten und Skripte werden unter /project/meteo/theses archiviert - ein Ordner der von jeder Workstation zugaenglich ist und automatisch am LRZ archiviert wird.