Installation von WRF-EMS
Installation und Anwendung des Weather Research and Forecasting Model (WRF)
für die eigene Wettervorhersage
Einleitende Worte
Dank der heutigen Möglichkeiten einer Wettervorhersage ist es kein Problem mehr, für die kommenden drei Tage ein größtenteils wahrheitsgemäßes Bild der anstehenden Wettersituation zu ermöglichen. Für die hoch komplexen und dynamischen Vorgänge der Atmosphäre ist es entscheidend, ein schnelles Rechnersystem einzusetzen. Supercomputer sind dabei an der Berechnung beteiligt. Bislang war es für den Heimanwender nicht möglich gewesen, in eigener Sache eine Wettervorhersage für die kommende Wettersituation zu modellieren.
Mit Hilfe vorkompilierter Pakete des „SOO Science and Training Resource Center“ gelingt es jetzt dem Heimanwender, ein vollwertiges Wettermodell einzusetzen. Ein einigermaßen leistungsfähiger PC ist notwendig, um möglichst schnell ein Ergebnis aus der Berechnung zu erhalten, jedoch ist kein Supercomputer mehr nötig, da die Pakete auf die heimische Rechnerarchitektur abgestimmt wurden.
Mit einigen Grundkenntnissen über ein Linux Betriebssystem kann jeder ein eigenes WRF-EMS Modell für sich nutzen. Die Installation des Wettermodells erfolgt auf die übliche Weise einer Installation unter Linux. In diesem Tutorial wird Fedora verwendet, da es anfangs häufige Probleme mit anderen Linux-Distributionen gegeben hat. Fehlerfrei hingegen verlief die Installation unter Fedora.
Diese Anleitung richtet sich größtenteils an Personen, welche keine oder geringe Linuxkenntnisse besitzen und Interesse an einer eigenen Wettermodellierung haben. Nicht geeignet ist das Tutorial für Personen, welche sich nur über die Höchst- und Tiefstwerte des nächsten Tages interessieren. Die Ausgabewerte des WRF-EMS sind teils komplex und erfordern einige Interpretation. Grundlegende meteorologische Kenntnisse sind optional, aber wünschenswert.
Die Anleitung wird versuchen mit wenigen Worten möglichst genau Schritt für Schritt dem Anwender zu erklären, wie er an sein Ziel zu einem betriebsbereiten WRF-EMS Wettervorhersagemodell kommt.
Danksagung
Meinen besonderen Dank geht an Jürgen Schlottke („jusch“) von http://www.wetterhilfe.de, da er die entscheidende Antwort auf meine Frage geben konnte und bei meinen vielen anderen Fragen immer die Nerven behalten hat. Ebenfalls möchte ich mich bei den anderen zahlreichen Helfern bedanken (darunter „Michelle“ und „Foerster“), ohne sie es mir bis heute wohl nicht gelungen wäre, die Installation zu vollenden.
Als Windowsanwender und Linux-Neuling fiel es mir bei diversen Fehlermeldungen bei der Installation eines lauffähigen WRF-EMS Systems nicht leicht, eine Erklärung darauf zu finden, schon gar eine Lösung zu erhalten. Es ist schon über ein Jahr her, seitdem ich auf WRF-EMS aufmerksam wurde. Da mich die Neugier packte und kein Weg zu weit war, habe ich mich mit dem Grundwissen über Linux, was ich besaß, an die Arbeit gemacht und WRF-EMS installiert. Jedoch erhielt ich ständig bei der Installation Fehlermeldungen vom Typ
sh: Syntax error: Bad fd number
wodurch ich den gesamten Vorgang abbrechen musste und von Neuem begann. Dennoch schien es ausweglos, da das System nicht laufen wollte. Es gab nur eines und das hieß – dranbleiben. Im Wetterstationsforum habe ich meine Frage zum Problem gestellt und die entscheidenden Antworten erhalten:
http://www.wetterstationsforum.de
Bislang nahm ich Ubuntu, wodurch erst die Fehlermeldung ausgelöst wurde. Seitdem ich Fedora nutze, läuft die Installation ohne Probleme durch. Dank der Tipps von Jürgen Schlottke konnte ein erster Benchmarktest durchgeführt werden. Als nächstes folgt das Einlesen in das 220 Seiten starke Handbuch zu WRF-EMS.
Kosten
Das Linux-Betriebssystem und WRF-EMS können kostenfrei aus dem Internet heruntergeladen werden. Es entstehen ebenfalls keine laufenden Kosten durch die Nutzung des Wettermodells. Einzig Kosten für die Internetverbindung können anfallen.
Systemvoraussetzungen
Damit WRF-EMS stabil und möglichst schnell laufen kann, sind folgende Mindestvorgaben einzuhalten:
- Multikern-Prozessor (mindestens Dualcore, besser Quadcore)
- Mindestens 2 Gigabyte Arbeitsspeicher (RAM), besser 4 GB oder mehr
- 8 Gigabyte Festplattenspeicher mindestens (ich empfehle mind. 40 GB)
- Ein lauffähiges Linux Betriebssystem (Fedora, SuSe, Redhat, CentOS, …)
- csh oder tcsh muss installiert worden sein (die Shell)
- System mit Monitoranschluss, Tastatur, Maus (da Bedienung mit Hilfe der grafischen Benutzeroberfläche erfolgt)
- Root-Rechte müssen vorhanden sein
Es ist mir gelungen unter Windows innerhalb einer virtuellen Maschine ein Fedora-Linux Betriebssystem ein WRF-EMS lauffähig zu machen. Dabei wunde nur ein Dualcore Prozessor verwendet, welcher nur mit 50% ausgelastet wurde. Es ist also durchaus denkbar, dass auch langsamere Computer ein Wettermodell rechnen können. Es braucht in dem Fall nur mehr Zeit, um zu einem Ergebnis zu kommen.
Hinweis: Die Systemvoraussetzungen beziehen sich nur auf die Installation von WRF-EMS. Für die Installation eines Linux-Betriebssystems wird neben den Vorgaben (siehe oben) eine größere Festplattenkapazität benötigt. Empfehlenswert sind mindestens 80 GB, damit für zusätzliche Anwendung ausreichend Platz bleibt.
Schritt für Schritt Anleitung
1. Installation des Betriebssystems
Bevor endgültig mit der Installation von WRF-EMS begonnen werden kann, wird zunächst ein lauffähiges Linux Betriebssystem benötigt. Ich empfehle Fedora, da bei den nächsten Arbeitsschritten darauf zurückgegriffen wird. Da die Installation leicht verständlich und benutzergeführt ist, werde ich nicht mehr auf diesen Schritt näher eingehen. Eine installierbare Live-CD Iso-Datei kann unter folgendem Link heruntergeladen werden:
http://fedoraproject.org/de/get-fedora
Brennen Sie anschließend die heruntergeladene ISO-Datei auf eine CD-ROM und legen sie die CD in das CD-Laufwerk ein. Das Betriebssystem startet automatisch. Wenn der Login-Bildschirm zu sehen ist, wählen sie am unteren Bildrand bei Language die Option „Other“ aus. Im anschließend erscheinenden Fenster auf „Deutsch (Deutschland)“ klicken und bestätigen. Ähnlich so auch bei Keyboard. Hier wählen sie „Germany“ aus. So ist gewährleistet, dass nachher der Installationsvorgang in deutscher Sprache abläuft. Ein Klick auf „Log in“ und sie befinden sich auf dem Desktop. Von dort aus doppelklicken auf das Objekt „Auf die Festplatte installieren“. Jetzt müssen sie nur noch den Hinweisen des Programms zur Installation folgen.
Hinweis: Für die nachfolgenden Schritte wird als Benutzernamen „emsuser“ verwendet.
2. Emsuser als Root nutzen
Wenn das Terminal aufgerufen wird, kann probeweise der Befehl sudo yum update eingegeben werden. Normalerweise sollte jetzt nach dem Root-Passwort gefragt werden. Ist das nicht der Fall und erscheint die Meldung „emsuser is not in the sudoers file“, dann muss Schritt 2 durchgeführt werden.
Demzufolge muss ein Zusatzeintrag für emsuser in /etc/sudoers erfolgen. Die folgenden Schritte werden durchgeführt:
- Terminal aufrufen
- su eingeben und anschließend mit dem Root-Passwort bestätigen
- visudo eingeben und Eingabetaste drücken
- In der Textdatei nach „
root ALL=(ALL) ALL“ suchen und unterhalb in einer neuen leeren Zeile folgendes einfügen:emsuser ALL=(ALL) ALL - Nach der Eingabe die Escape-Taste drücken und „:wq!“ (Doppelpunkt, klein-w, klein-q, Ausrufezeichen) eingeben
3. System auf den neusten Stand bringen
Nachdem die ISO-Live-CD herausgekommen ist, können inzwischen Pakete verändert hinzugefügt oder entfernt worden sein. Diese machen das Betriebssystem stabiler und leistungsfähiger. Um ein Update durchzuführen, einfach in die Konsole
sudo yum update
eingeben. Den Rest erledigt der Paketmanager.
4. TCSH Shell installieren
Damit die spätere Installation und Nutzung von WRF-EMS funktionieren kann, muss die Konsole vorher noch auf TCSH umgestellt werden. Zuerst wird TCSH installiert. Dazu das Terminal öffnen und eingeben:
sudo yum install tcsh
Anschließend wird die Standard-Benutzershell nur noch umgestellt. Unter System > Administration auf Benutzer und Gruppen klicken. Dort erscheint eine Liste mit allen Nutzern des Computers. Zurzeit gibt es nur den aktuellen Nutzer „emsuser“ und versteckt, nicht aufgelistet das Root-Konto. Es wird auf die Zeile vom emsuser doppelgeklickt, damit ein neues Fenster erscheint. Unter „Login-Shell“ soll eingetragen werden: /bin/tcsh. Jetzt nur noch speichern durch den Klick auf OK. Zum Schluss noch den Benutzer abmelden und erneut wieder anmelden.
Es sollte getestet werden, ob die Benutzershell auch richtig eingetragen wurde. Dazu das Terminal öffnen und
cat /etc/passwd | grep emsuser
eingeben. Wenn alles richtig konfiguriert wurde, sollte die folgende Meldung in ähnlicher Form erscheinen:
emsuser:x:500:500:emsuser:/home/emsuser:/bin/tcsh
Wichtig dabei ist der letzte Teil. Es muss deutlich „/bin/tcsh“ am Ende der Zeile stehen. Ist das nicht der Fall, z.B. wenn dort „/bin/bash“ stehen sollte, dann muss noch Schritt 4.1 durchgeführt werden. Für diejenigen, welche tcsh in ihrer Meldung sehen, können den folgenden Schritt überspringen.
4.1 TCSH Shell konfigurieren
Zuerst muss geprüft werden, ob das Paket TCSH nicht installiert wurde. Geben sie
ls -l /bin/tcsh /bin/bash
in die Konsole ein. Es sollte die folgende ähnliche Ausgabe bewirken:
-rwxr-xr-x. 1 root root 855336 21. Mai 19:24 /bin/bash
-rwxr-xr-x. 1 root root 374688 15. Dez 2009 /bin/tcsh
Wenn es zu einer Fehlermeldung kommt oder TCSH nicht erwähnt wurde, noch einmal testen, ob die Shell im System eingetragen wurde. Dazu geben sie ein:
cat /etc/shells
Es sollte zu der folgenden Ausgabe führen:
/bin/csh
/bin/tcsh
/bin/sh
/bin/bash
/sbin/nologin
Wird TCSH an dieser Stelle nicht erwähnt, wiederholen sie bitte den Schritt 4 erneut. Ansonsten fahren sie fort mit dem nun folgenden Schritt.
Es wird das Terminal geöffnet. Anschließend den folgenden Befehl eingeben:
sudo chsh emsuser
Das Root-Passwort wird anschließend abgefragt, welches an dieser Stelle eingegeben wird. In der kommenden Zeile wird gefragt, welche neue Shell verwendet werden soll. Geben Sie ein:
/bin/tcsh
Folgend das Terminal schließen, den Benutzer abmelden und erneut anmelden.
5. WRF-EMS Perl-Skript erhalten
Der Dreh- und Angelpunkt für die Installation und Konfiguration von WRF-EMS ist eine einzige Perl-Datei [ems_install.pl]. Über sie wird später auch der Download der benötigten Installationspakete vorgenommen. Um die Datei zu erhalten, besuchen sie die Seite
http://strc.comet.ucar.edu/wrfems/index.htm
Von dort aus erhalten sie weitere Informationen zum Projekt. Die Perl-Datei wird ihnen per Email zugesendet nachdem sie sich als neuer Nutzer registriert haben.
http://strc.comet.ucar.edu/wrfems/registration.htm
Automatisch werden sie in die Verteilerliste für den Newsletter des Projektes eingetragen, damit sie sofort über Neuigkeiten, Updates und wichtige Ankündigungen zu WRF-EMS informiert werden können. Dies ist sinnvoll, da bei Bugfixes die installierte Version des Paketes verbessert und stabilisiert werden kann, bzw. weitere Möglichkeiten bereit hält.
Nachdem sie sich registriert haben erhalten sie nach kurzer Zeit eine Bestätigungsmail. Im Anhang befindet sich die notwendige Perl-Datei.
6. Installation von WRF-EMS vorbereiten
Legen sie die Datei an einem Ort ab, an dem sie das Perl-Skript wiederfinden, z.B. auf den Desktop. Für die Installation spielt es keine Rolle, wo sich die Datei befindet. Gehen sie nochmals die Checkliste durch, ob alles für die Installation bereit ist:
- TCSH installiert
- Shell für den Benutzer emsuser auf tcsh umgestellt
- genug Speicherplatz auf der Festplatte vorhanden
- Paket Perl ist installiert
- Datei ems_install.pl ist vorhanden
Ansonsten kann die Installation beginnen.
7. Installation von WRF-EMS
Um mit der Installation zu beginnen, wird der folgende Befehl eingegeben:
sudo perl /home/emsuser/ems_install.pl --release
Ab diesem Zeitpunkt wird der Benutzer durch die Installationsroutine geführt. Im Laufe des Vorgangs werden Hinweise zur späteren Verwendung von WRF-EMS aufgezeigt. Da die Installation recht schnell verläuft, achten wir am besten auf die wichtigen Benutzereingaben im Laufe des Installationsvorgangs. Der Benutzer ist immer dann gefordert, wenn hinter der Hinweismeldung eine Option in eckigen Klammern hinterlegt ist. Bei einigen Meldungen braucht man nur mit dem Drücken der Eingabetaste zu bestätigen.
1.
Do you wish to continue? [Yes]
Bestätigen Sie mit Drücken der Eingabetaste (Return)
2.
So, where would you like to install your WRF EMS? [/usr1]
Die gesamten Installationsdateien und Zusatzmodule werden in einem Ordner abgelegt. Er erhält den Namen wrfems. Es wird gefragt, an welcher Stelle dieser erstellt werden soll. Eine Möglichkeit wäre das Benutzerverzeichnis vom Nutzer emsuser. Geben sie also ein:
/home/emsuser
3.
* Is T shell installed? - Yes
* Is C shell installed? - Yes
Da zuvor darauf geachtet wurde, dass TCSH installiert wurde, zeigt das Skript uns dies mit einer erfolgreichen Rückmeldung.
4.
To whom shall I assign guardianship of the EMS? [emsuser]
Welcher Benutzer erhält die Rechte an der Benutzung von WRF-EMS? Da davon auszugehen ist, dass dies für den aktuellen Benutzer emsuser geschieht, bestätigen wir diese Meldung mit der Eingabetaste.
5.
! WARNING: User emsuser is NOT running a t|csh shell! (current: bash)!
Be sure to fix this problem before running the EMS; otherwise, you will be
greatly disappointed. And we do not want that to happen now do we?
I accept the consequences of not using the proper shell environment [Yes]
Diese Meldung sei nur der Vollständigkeit halber aufgeführt. Sollte es passieren, dass Schritt 4.1 nicht durchgeführt wurde, meldet das uns das Skript. In dem Fall das Wort no eingeben, damit das Skript an dieser Stelle abbricht. Wiederholen Sie Schritt 4.1. Tritt diese Meldung nicht auf, ist alles in Ordnung.
6.
I shall be Installing WRF EMS Version 3.1.1.5.1. Is this OK by you? [OK by me]
Es wird gefragt, ob WRF-EMS mit der Versionsnummer 3.1.1.5.1 installiert werden soll. Ab diesem Zeitpunkt ist eine Internetverbindung wichtig, da alle Installationsdateien vom Server des „SOO Science and Training Resource Center“ heruntergeladen werden. Die Versionsnummer kann von diesem Tutorial abweichen, falls Bugfixes veröffentlicht wurden. Es wird wget vorausgesetzt. Diese Meldung muss bei Eingabetaste bestätigt werden. Sollte nun ein Verbindungsfehler auftreten, muss die Installation abgebrochen werden und mit folgendem Befehl neu aufgerufen werden:
sudo perl /home/emsuser/ems_install.pl -–release --wget
Ansonsten wird ab jetzt das Skript die benötigten Dateien herunterladen und anschließend installieren.
7.
Are the values above correct for this machine? [Yes]
Diese Meldung fragt ab, ob die oben ermittelten Angaben zum Computer korrekt sind. Einfach die Meldung mit dem Drücken der Eingabetaste bestätigen.
8.
Checking for missing system i386 libs needed to run the Domain Wizard GUI
-> Checking Java libs - You're good to go!
Checking for missing system libs needed for some utility packages
-> Checking ncview routine - Missing System Libraries
libXaw.so.7
libnetpbm.so.10
! Not critical, but you will need to install the missing i386 system libraries
before using the ncview routine.
-> Checking GrADS routines - You're good to go!
-> Checking GEMPAK routines - Missing System Libraries
libg2c.so.0
libgfortran.so.1
! Not critical, but you will need to install the missing i386 system libraries
before using NAWIPS/GEMPAK routines.
Es kann sein, dass einige System-Bibliotheken noch nicht installiert sind. Welche das sind, zeigt uns das Skript. Sie können später nachinstalliert werden, haben aber auf die laufende Installation keinen Einfluss.
9.
Your Installation is Complete - Now go forth and simulate!
Die Installation ist komplett. Herzlichen Glückwunsch!
Es empfiehlt sich einen Neustart des Rechners durchzuführen.
8. Prüfung auf fehlerfreie Installation von WRF-EMS
Um ganz sicher zu gehen, ob die Installation geglückt ist, wird das Terminal geöffnet und der folgende Befehl eingegeben:
cd $EMS
Dadurch gelangt man direkt in das WRF-EMS Verzeichnis, welches zuvor angelegt wurde. $EMS ist eine Variable, welche durch die Installation definiert wurde. Es sollte ein Dateipfad angegeben sein:
/home/emsuser/wrfems
Ein letzter Test: Um sich den Inhalt des Ordners anzeigen zu lassen, wird die folgende Eingabe genutzt:
ls $EMS_STRC
Es folgt eine Liste mit Ordner- und Dateinamen im Hauptordner wrfems. Diese Antworten vom System zeigen, dass WRF-EMS erfolgreich und fehlerfrei installiert worden ist.

WRF-EMS 





