Überblick zum Thema CDO und Shell-Skripting Studenten-Anleitung zum Umgang mit dem FreVast-System Phase 3 Auswertung Kurseinheit 24 FreVast Team https://vast.klimod.de/portal/ 5. April 2017
Überblick zum Thema CDO und Shell-Skripting 2/14 Inhalt der Kurseinheit 1 Inhalt der Kurseinheit 2 Lernziele 3 Climate Data Operators (CDO) 4 Einführung: Shell/Shell-Scripting 5 Aufgaben
Überblick zum Thema CDO und Shell-Skripting 3/14 Lernziele Diese Kurseinheit soll Ihnen einen ersten Überblick zu den Themen CDO und shell-scripting verschaffen. Insbesondere lernen Sie, was CDOs sind. einige CDO-Befehle kennen. wo man mehr Informationen zu den CDO Funktionen finden kann. was eine Shell ist und was Shell-Skripting bedeutet. wie man ein Shell-Skript selbst erzeugt. wo man mehr Informationen zum Shell-Skripting finden kann. Bearbeiten Sie zusätzlich diese Aufgaben klick hier.
Überblick zum Thema CDO und Shell-Skripting 4/14 Climate Data Operators (CDO) Was sind CDOs? CDO steht als Abkürzung für Climate Data Operators. Dabei handelt es sich um eine Sammlung von Operatoren, mit denen Klima- und Vorhersagedaten bearbeitet werden können. Die Operatoren umfassen z.b. einfache statistische und arithmetische Funktionen, Tools zum Ausschneiden und Zusammenfügen von Daten sowie räumliche Interpolationsmethoden. Insgesamt stehen mehr als 700 Operatoren zur Verfügung. CDOs können sowohl auf NetCDF Daten als auch auf GRIB Daten angewendet werden. Es handelt sich um einfache UNIX Commandline Befehle mit denen auch große Datensätze schnell bearbeitet werden können. Mehr Infos gibt es hier: https://code.zmaw.de/projects/cdo
Überblick zum Thema CDO und Shell-Skripting 5/14 Climate Data Operators (CDO) CDO-Befehle (Beispiele) Arithmetische Operatoren mit einem Inputfile (infile) abs (Absolutwert) sqr (Quadrat) sqrt (Wurzel)... Beispiel (Eingabe in Commandline): cdo sqrt infile outfile Arithmetische Operatoren mit zwei Inputfiles (infile1, infile2) add (Summe zweier Felder) sub (Subtrahiere zwei Felder) mul (Multipliziere zwei Felder) div (Dividiere zwei Felder)... Beispiel (Eingabe in Commandline): cdo add infile1 infile2 outfile Hinweis: In outfile wird das Ergebnis ausgegeben.
Überblick zum Thema CDO und Shell-Skripting 6/14 Climate Data Operators (CDO) CDO-Befehle (Beispiele) Zeitliche Mittelwerte/Standardabweichungen timmean (Zeitmittel) monmean (Monatliches Mittel) monstd (Monatliche Standardabweichung)... Beispiel (Eingabe in Commandline): cdo timmean infile outfile Ensemble-Operatoren ensmin (Ensembleminimum) ensmax (Ensemblemaximum) ensmean (Ensemblemean) ensstd (Ensemble standard deviation) enspctl (Ensemble Perzentile) Beispiele: Ensemblemean von 6 Inputfiles: cdo ensmean infile1 infile2 infile3 infile4 infile5 infile6 outfile (oder in Kurzform: cdo ensmean infile[1-6] outfile) 50. Perzentil (Median) von 6 Inputfiles: cdo enspctl,50 infile[1-6] outfile Hinweis: In outfile wird das Ergebnis ausgegeben.
Überblick zum Thema CDO und Shell-Skripting 7/14 Climate Data Operators (CDO) Weiterführende Links zum Thema CDO Weitere Informationen und Beispiele finden Sie in der Dokumentation der CDOs unter: https://code.zmaw.de/projects/cdo/embedded/index.html
Überblick zum Thema CDO und Shell-Skripting 8/14 Einführung: Shell/Shell-Scripting In der Konsole bzw. dem Terminal lassen sich viele Befehle deutlich schneller ausführen als durch Klicken und Mausbedienen. Die Konsole ist selbst ein Programm: die Shell. Genauer gesagt, handelt es sich dabei häufig um die Bash Shell. Alle Kommandos, die einem von der Konsole her bekannt sind, kann man auch in Shell-Skripten verwenden. In Shell-Skripten kann man mehrere dieser Kommandos sammeln, die dann das System der Reihe nach ausführt. Hinzu kommen noch mehr nützliche Funktionen wie z.b. Schleifen (z.b. for Schleifen) oder if-then-else Abfragen. Besonders nützlich sind Shell-Skripte, wenn sich eine Abfolge von Befehlen häufig wiederholt oder wenn man eine Kurzversion längerer Befehlsketten haben möchte.
Überblick zum Thema CDO und Shell-Skripting 9/14 Einführung: Shell/Shell-Scripting Was zu beachten ist Was zu beachten ist, bevor ein Shell-Skript ausgeführt wird: Shell-Skripte sind einfache Textdateien. Sie können daher mit einem Editor Ihrer Wahl (gedit, emacs, vim, etc.) geschrieben und angeschaut werden. Lesen Sie Shell-Skripte immer durch, bevor Sie sie ausführen und machen Sie sich Notizen, was welcher Befehl macht. Testen Sie Programme, bevor Sie sie ausführen (z.b. falls ein rm im Skript ausgeführt werden soll, ist es sinnvoll das Programm zuerst mit ls anstelle des rm zu testen). Bevor Sie ein Skript ausführbar machen sollten Sie prüfen, dass der Skript-Name nicht bereits vergeben ist.
Überblick zum Thema CDO und Shell-Skripting 10/14 Einführung: Shell/Shell-Scripting Namensvergabe Was ist bei dem Auswählen des Shell-Skript-Namens zu beachten? Benutzen Sie keine Sonderzeichen. Benennen Sie das Shell-Skript nach seiner Funktion. Üblicherweise endet ein Shell-Skript mit der Dateiendung.sh. Testen Sie, ob der Name des Shell-Skripts bereits vergeben ist, indem Sie in der Konsole folgendes eingeben: which <Skript-Name> Bekommt man einen Pfad angezeigt, so ist der Name bereits vergeben (teste z.b. für which ls). Wählen Sie in diesem Fall einen anderen Namen
Überblick zum Thema CDO und Shell-Skripting 11/14 Einführung: Shell/Shell-Scripting Aufbau eines Shell-Skripts/Kommentare Was gehört in ein Shell-Skript? In der ersten Zeile eines Shell-Skripts steht welche Shell das Skript ausführt. Soll die Bash Shell das Skript ausführen, so steht in der ersten Zeile des Skripts: #!/bin/bash Kommentare im Shell-Skript: Ein Kommentar im Shell-Skript beginnt immer mit einem #. Eine Zeile die mit # wird beim Ausführen ignoriert. #Das ist ein Kommentar Nutzen Sie Kommentare um Ihre Skripte leichter verständlich zu machen. Insbesondere wenn Sie Ihre Skripte an andere weitergeben möchten.
Überblick zum Thema CDO und Shell-Skripting 12/14 Einführung: Shell/Shell-Scripting Skripte ausführen Wie kann man ein Shell-Skript ausführbar machen? Ein Skript kann ausführbar gemacht werden indem man in die Konsole folgendes eingibt: cd Pfad/zum/Skript chmod +x <Skript-Name> Ein Shell-Skript ausführen Zum Ausführen des Skripts gibt man in die Konsole im selben Ordner, in dem das Skript liegt, folgendes ein:./<skript-name> Ebenso kann man in die Konsole eingeben: bash <Skript-Name>
Überblick zum Thema CDO und Shell-Skripting 13/14 Einführung: Shell/Shell-Scripting Weiterführende Links zum Thema Shell-Skripting Zum Thema Shell-Skripting gibt es viele Informationen im Internet. Die Übersicht, die in dieser Kurseinheit gegeben wurde, basierte auf den folgenden zwei Webseiten (etzter Zugriff: 21.02.2017): https://wiki.ubuntuusers.de/shell/ Klicken Sie unter 5. Links auf Bash-Skripting-Guide für Anfänger https://www.howtogeek.com/67469/ the-beginners-guide-to-shell-scripting-the-basics/
Überblick zum Thema CDO und Shell-Skripting 14/14 Aufgaben Aufgaben: Probieren Sie nun selbst aus ein einfaches Shell-Skript zu schreiben. In der folgenden Kurseinheit beginnen wir mit der Auswertung der Ensemble-Daten. Lesen Sie sich als Vorbereitung das folgende Shell-Skript durch: bsp klima statistik.sh Hinweis: Das Shell-Skript kann im Bereich Analyse der Experimente unter https://vast.klimod.de/frevast-tuto/ heruntergeladen werden (siehe unter Kurseinheit 24, Spalte Dozent, markiert als Beispiel). Kommentieren Sie in dem Skript, welche Schritte sie verstehen bzw. nicht verstehen und fragen Sie evtl. in der folgenden Kurseinheit bei Ihrem Dozenten nach.