330 likes | 466 Views
Prof. Heiko Paeth. Methodenkurs im SS 2006. Grundlegende statistische Methoden der geowissenschaftlichen Datenauswertung am Computer. Wissenschaftliche Arbeitsschritte. 5. Präsentation (Medien, Poster, Vortrag, …). 4. Daten- visualisierung (Graphiken, Karten). 3. Datenanalyse
E N D
Prof. Heiko Paeth Methodenkurs im SS 2006 Grundlegende statistische Methoden der geowissenschaftlichen Datenauswertung am Computer
Wissenschaftliche Arbeitsschritte 5. Präsentation (Medien, Poster, Vortrag, …) 4. Daten- visualisierung (Graphiken, Karten) 3. Datenanalyse (Qualitäts- kontrolle, Statistik) 2. Daten- akquisition (Messung, Modellierung) 1. Hypothese, Fragestellung, Zielsetzung
Schritt 1: Fragestellung • Beschreibung der charakteristischen Ausprägungen des Mittelmeer-klimas: { • Großraum • Region • Teilregion • Gitterboxen • mittlere Zustände • typische Variabilität • Extremwerte • Instationaritäten Klimadefinition
Schritt 2: Datenakquisition • in Ermangelung verfügbarer hochauflösender, vollständiger und homogener Beobachtungsreihen: Daten von einem regionalen Klimamodell (REMO) • Sektor: 30°W-60°E ; 15°S-45°N • räumliche Auflösung: 0,5° horizontal; 20 Hybridlevel vertikal • zeitliche Auflösung: Tageswerte • Antriebsdaten: globale “Beobachtungsdaten“ bzw. Klimamodelldaten • Zeitraum 1: 1979-2003 (natürliche und anthropogene Antriebe) • Zeitraum 2: 2000-2025 (Treibhausgasanstieg, Landnutzungsänderungen)
Schritt 2: Datenakquisition Strahlungs- schema mit CO2, CH4 , NOx, FCKW Wolken und Nieder- schlag Jahresgang der solaren Einstrahlung Parameterisierungen Druck, Temperatur, Wind, Feuchte … atmosphärischer Antrieb aus 6-stündigen globalen Datensätzen atmosphärischer Antrieb aus 6-stündigen globalen Datensätzen Jahresgang von Vegetationsanteil Waldanteil Albedo Orographie Meeres- oberflächen- temperaturen Boden- modell
Schritt 2: Datenakquisition • die Parametrisierungen und unbekannten Anfangsbedingungen implizieren bei allen Modellen Unsicherheiten und Fehler • Beobachtungs- und Modelldaten verhalten sich wie folgt zueinander: • selbst in einem perfekten Modell gilt: • eine komplexe, nichtlineare Realität lässt sich niemals mathematisch exakt mit einem Modell reproduzieren • im vorliegenden Fall ist das regionale Klimamodell in hinreichendem Einklang mit dem beobachteten Klimasystem im Mittelmeerraum systema- tischer Fehler raumzeit- abhängiger Fehler realer Wert simulierter Wert zufälliger Fehler
Schritt 3: Datenanalyse • die statistische Auswertung der Daten soll mit der Programmiersprache FORTRAN in der Entwicklungsumgebung des Betriebssystems LINUX erfolgen: • Karten der jährlichen und saisonalen Mittelwerte • Darstellung der synoptischen, saisonalen und interannuellen Variabilität • Zeitreihen der regionalen und großräumigen Entwicklung • Entwicklung von Klimadiagrammen • Berechnung von Hovmöller-Diagrammen • Cluster-Analyse • Hoch- und Tiefpassfilterung • Standardisierung von Zeitreihen • Berechnung von Zeitreihentrends • räumliche und zeitliche Korrelation • multiple Regression • Autokorrelation • Signifikanztests • Berechnung von Composites • geographische und orographische Profile • Bestimmung der Regenzeit • Darstellung von Verteilungsfunktionen • Bestimmung von Extremereignissen • Hauptkomponentenanalyse • …
Schritt 4: Datenvisualisierung • konventionelle Programme: Maus-gesteuert, intuitiv, Windows-kompatibel, verbreitet, unflexibel, teuer, Nutzer-orientiert (z.B. Excel) • professionelle Programme: Skriptsprachen-basiert, lernaufwendig, Linux-kompatibel, hochflexibel, Freeware, Layout-orientiert (z.B. GMT)
Schritt 5: Präsentation • Vortrag, Posterpräsentation, Zeitschrift, Internet:
Leistungsnachweise • Gruppenarbeit: • Einzelarbeit: • Posterausstellung zum Thema Mittelmeerklima basierend auf den gemeinsam erarbeiteten statistischen Auswertungen und graphischen Darstellungen • Internetseiten mit Klimadiagrammen zu einzelnen Teilregionen • Präsentation eines “Mini-Projektes“ durch jeden Kursteilnehmer in der letzten Sitzung auf der Grundlage der oben beschriebenen Arbeitsschritte
Literatur • Statistik: • Fortran: • Mittelmeerklima: • Bahrenberg, G.; Giese, E. und Nipper, J.: Statistische Methoden in der Geographie, Bd. 1+2. Teubner, Stuttgart, 1990/1992. • Schönwiese, C.-D.: Praktische Statistik für Meteorologen und Geowissenschaftler. Bornträger , Stuttgart, 1992. • Clauß, G.; Finze, F.-R. und Partzsch, L.: Statistik für Soziologen, Pädagogen, Psychologen und Mediziner. Harri Deutsch, Frankfurt/Main, 2004. • von Storch, H. and Zwiers, F.W.: Statistical Analysis in Climate Research. Cambridge University Press, 1999. • Lamprecht, G.: Fortran77. Einführung in die Programmiersprache. Vieweg, Braunschweig, 1987. • Engeln-Müllges, G. und Niederdrenk, K.: Fortran90. Grundkurs Computerpraxis. Rowohlt, Hamburg, 1996. • Lionello, P.; Malanotte-Rizzoli, P. and Boscolo, R. (Eds.): The Mediterranean Climate: an Overview of the Main Characteristics and Issues. Elsevier, Amsterdam, 2006.
Rechnerlandschaft am GIUW • Geo-Pool: 13 PCs mit Betriebssystem Windows XP • CIP-Pool: 16 PCs mit Betriebssystem Windows XP: • die Partition k:\geozip\ ist als gemeinsame Plattform von allen Rechnern aus erreichbar und dient der Bereitstellung größerer Datenmengen • CIP : Computer Investitions Programme (Rechner zu Lehrzwecken an Hochschulen) • jeder Teilnehmer hat (hoffentlich) einen Account (Username, Password) • für Programmiersprache Fortran und Datenvisualisierungsprogramm GMT wird Betriebssystem Linux benötigt (vorläufig: Emulation (Wetteifer, Nachbildung) unter Windows)
Arbeitsablauf • bei der Bearbeitung wissenschaftlicher Fragestellungen werden meist verschiedene Prozesse und Programme am Computer genutzt: Starten des Betriebs- systems Öffnen einer zu bearbeitenden Datei mit einem Editor Bearbeiten eines Textdokuments, einer Graphik oder eines Programms mit den Editorbefehlen Abspeichern der bearbeiteten Datei auf einem Speicher- medium (Festplatte, CD) Dokumentation oder Präsentation des berech- neten Ergebnisses (Ausdruck, Datei) Nach- bearbeitung des berech- neten Ergebnisses (weiteres Programm, Visualisierung) Ausführen des kompilierten Programms Übersetzen (Kompilieren) des Programms in Maschinen- sprache
Starten des Betriebssystems • Einschalten des Computers bewirkt automatisch Booten: Betriebs-system wird vom Master Boot Record auf der Festplatte in Hauptspeicher (RAM) geladen • nach Booten ist eine vollständige Konsole verfügbar: Eingabeeinheit (Maus+Tastatur) sowie Ausgabeeinheit (Bildschirm) • Eingabeoberfläche kann graphisch (Windows, Maus) oder befehls-zeilenorientiert (DOS, Tastatur) sein • Einloggen (Benutzername+Kennwort) führt auf die graphische Windows-Eingabeoberfläche, die selbst ein Programm ist und nun weitere Programme zugänglich macht • für Linux-Anwendungen wird Emulation gestartet mit Desktop-Icons cygwin oder X
Betriebssystem Windows • folgende Anwendungen (Programme) werden im Verlaufe des Methodenkurses benötigt: • wichtigste Befehle im DOS-Eingabemodus: • DOS-Eingabeaufforderung (befehlszeilenorientiert): Dateiverwaltung, Kopieren • Excel-Tabellenkalkulation: Visualisierung der berechneten Ergebnisse • Editor: Öffnen, Bearbeiten und Speichern der Fortran-Programme • Powerpoint: Präsentation der Ergebnisse (Poster)
Betriebssystem Linux • Starten der Linux-Emulation unter Windows öffnet eine befehlszeilen-orientierte Eingabeoberfläche (Shell) oder eine graphische Bedienerober-fläche (X-Window) • hier wird die sogenannte Bourne-Again Shell “bash“ verwendet • Einstellungen für das Erscheinungsbild der Shell werden in den Umgebungsdateien /etc/profile und /home/user/.bashrc getätigt (wirksam mit source .bashrc oder bei Neustart der Shell): • zu praktisch jedem Programm gibt es Hilfsseiten (Manual Pages), die im Befehlszeilenmodus über man befehl_name aufgerufen werden • Prompting • Aliasing • globale Pfadangaben • …
Betriebssystem Linux • wichtigste Befehle im Linux-Eingabemodus:
Bash-Shell • Start der Shell mit Mausklick auf den Button unter Windows • Beenden der Shell mit exit • Cursor auf / ab ruft letzte Befehle im Eingabemodus auf • Tabulatortaste |↔| ergänzt begonnene Befehle oder Dateinamen • nachgestelltes & schickt Programmausführung in den Hintergrund und gibt Shell frei • Pipe-Symbol | verbindet zwei Befehle, z.B.: ls –l | wc • Joker-Symbol * Platzhalter für Datei- und Verzeichnisnamen • einzelne Shell-Befehle können auch in Shellskripten gebündelt werden
joe-Editor • praktischer ASCII-Editor unter Linux mit Tastensteuerung: Aufruf mit joe file_name • Befehle werden über Strg -Taste angesprochen (siehe ^KH), z.B.: • beim Abspeichern wird Sicherheitskopie file_name~ erzeugt
Dateisystem • elektronische Speicherung von Informationen erfolgt binär mit den Zuständen 0 und 1 (Bit); 8 Bit-Informationen ergeben ein Zeichen (Byte) • Zahlen im Wertebereich ± 231=2·109 können mit 4 Bytes dargestellt werden, z.B.: • Vielzahl von Zeichen oder Zahlen in Dateien abgespeichert, die auf dem Computer einem Ordnungsprinzip (Dateisystem) unterliegen: 84 = 1·26 + 0·25 +1·24 +0·23 +1·22 +0·20 Partitionen, Stammverzeichnis: c:\ d:\ /verz1/ /verz2/ Einzeldateien: file_name.suffix [Buchstaben Zahlen . - _ ] / [, / \ ? * : ; @ ~] Verzeichnisbaum: uverz1\uuverz1\... uuverz2\... uverz2\uuverz3\... uuverz4\... uverz1/uuverz1/… uuverz2/…
Dateisystem • relative Adressierung von Verzeichnissen und Dateien: • absolute Adressierung von Verzeichnissen und Daten: • Dateiattribute unter Linux: • wichtigste Verzeichnisse für Methodenkurs: Windows & Linux : cd ../../uverz1/uuverz2 Windows : cd c:\uverz1\uuverz2 Linux : cd /verz1/uverz2/uuverz3 drwxr-xr-x 1 user group 1295382 Datum : Verzeichnis -rwxr-xr-x 1 user group 1295382 Datum : Datei read write für execute User Group Others
Fortran • Fortran steht für Formula Translator: speziell für formelmäßige Berechnungen mit dem Computer • Hochsprache: Sprachelemente sind an naturwissenschaftlich arbeitende Menschen angepasst (mathematische Funktionen etc.) • Versionen: Fortran77 (1978), Fortran90 (1991), Fortran95 (1995) • auch heute noch Basissprache für praktisch alle Modellanwendungen in den Naturwissenschaften • alternativ auch C und C++ (seit 1990): analoge Struktur, andere Syntax • Dateien mit Fortran-Quellcode haben die Dateiendung .f bzw. .for
Compiler • die Übersetzung vom für den Menschen verständlichen Quellcode zum maschinenlesbaren Executable wird von einem Compiler bewerkstelligt • Fortran-Compiler für Windows sind meist sehr teuer oder haben Eigenarten bzgl. des Quellcodes • deshalb hier kostenloser Fortran-Compiler von GNU unter Linux-Emulation • Aufruf des Compilers im Befehlszeilenmodus von Linux: g77 –o file_name.exe file_name.f [Optionen, Bibliotheken] mit alias-Befehl bzw. Shellskript: g77 file_name User erhält automatisch das Recht, das Executable auszuführen
Arbeitsschritte • das Arbeiten mit Fortran beinhaltet i.d.R. die folgenden Arbeitsschritte: Starten eines beliebigen Texteditors (ASCII, nicht Word & Co.) Bearbeiten der Textdatei mit dem Fortran- Quellcode (“Program- mieren“) Abspeichern der Quellcode- Datei Aufruf des Compilers im Befehls- zeilenmodus Editieren oder Weiter- verarbeiten der Ergebnis- datei Ausführen des Executables im Befehls- zeilenmodus
Allgemeine Form des Quelltextes • Fortran-Befehle werden im Quellcode zeilenweise in Datei geschrieben und nach dem Kompilieren auch zeilenweise ausgeführt • allgemein ist in der Quellcode-Datei zu beachten: • nur eine Anweisung pro Zeile • zwischen Groß- und Kleinschreibung wird nicht unterschieden • Spaltenbelegung: 1-5 : Anweisungsmarke (Label, Kommentarzeichen) 6 : Zeichen für Zeilenfortsetzung 7-72 : Raum für Anweisungen (Fortran-Befehle) >73 : vom Compiler nicht interpretierter Raum für Kommentare
hier werden nur die wichtigsten Sprachelemente zusammengefasst; am besten lässt sich der Sprachumfang direkt beim Programmieren erweitern Sprachelemente
Beispielprogramm program beispiel_fortran_programm implicit none c ********************************************************** c * - dieses Programm vereint beispielhaft einige der * c * wichtigsten Sprachelemente von Fortran * c * - das Programm liest Temperaturen in Grad Celsius ein * c * rechnet in Kelvin um und schreibt das Ergebnis in * c * eine neue Datei * c ********************************************************** c---- Vereinbarungsteil ---------------------------------------- integer nt,ja,bs character infile*11,outfile*10 real kv parameter(infile='celsius.dat', ! Input-Datei mit Werten 1 nt=11, ! Anzahl der Zeitpunkte 1 kv=273.15, ! Umrechnungsgroesse 1 bs=1, ! 0=nicht ; 1=Bildschirmausgabe 1 outfile='kelvin.dat') ! Output-Datei fuer Ergebnisse integer jahr(nt) real temp(nt),neutemp(nt) c---- Temperaturzeitreihe aus ASCII-Datei einlesen ------------- open(11,file=infile,form='formatted') do ja=1,nt read(11,'(i6,f8.1)') jahr(ja),temp(ja) enddo close(11) write(6,*) 'Daten eingelesen !' c---- Input-Daten am Bildschirm ausgeben ----------------------- write(6,'(a19)') ' Eingelesene Daten:' do ja=1,nt write(6,'(2i6,f10.2)') ja,jahr(ja),temp(ja) enddo
Beispielprogramm c---- Temperaturdaten umrechnen -------------------------------- do ja=1,nt neutemp(ja)=temp(ja)+kv enddo write(6,*) 'Daten umgerechnet !' c---- neue Temperaturdaten in Datei schreiben ------------------ open(21,file=outfile,form='formatted') do ja=1,nt write(21,'(i6,f8.1)') jahr(ja),neutemp(ja) enddo close(21) write(6,*) 'Neue Temperaturdaten in Datei geschrieben !' c---- ggf. neue Temperaturdaten auf Bildschirm schreiben ------- if (bs.eq.1) then write(6,'(a20)') ' Umgerechnete Daten:' do ja=1,nt write(6,'(2i6,f10.2)') ja,jahr(ja),neutemp(ja) enddo else write(6,'(a45)') ' Sie haben keine Ergebnisausgabe gewuenscht !' endif c---- Schluss -------------------------------------------------- write(6,*) 'Das Programm endet nun. Einen schoenen Tag noch!' end
arithmetisches Mittel: • Varianz: • Standardabweichung: • Variationskoeffizient: • Standardisierung: • Tiefpassfilterung: • Hochpassfilterung: Statistische Verfahren
Statistische Verfahren • linearer Trend: • y-Achsenabschnitt: • Regressionsgerade: • Korrelationskoeffizient: • Bestimmtheitsmaß:
Statistische Verfahren • Autokorrelation: • Kreuzkorrelation: • multiple Regression:
#-- Shell angeben -----------------------------------------------------------#!/bin/sh#-- Daten in ASCII einlesen und in GRID umwandeln ---------------------------xyz2grd /home/heiko/hab/seminar/ypremedi.gmt -Gkarte.grd -R-10/40/30/44 -I0.5echo ' Daten umgewandelt !'#-- Daten als Pixel oder interpolierte Pixel zeichnen -----------------------#grdimage karte.grd -R-10/40/30/44 -JX8/2.3d -Ba5f5/a5f5WSne -Cfarbe200.cpt \# -X2 -Y3.3 -K > medi.psgrdview -Qs karte.grd -R-10/40/30/44 -JX8/2.3d -Ba5f5/a5f5WSne -Cfarbe200.cpt \ -X2 -Y3.3 -K > medi.psecho ' Pixel gezeichnet !'#-- Karte mit Kuestenlinien und Laendergrenzen zeichnen ---------------------pscoast -A1000 -N1 -R-10/40/30/44 -JX8/2.3d -W10 -O -K >> medi.psecho ' Karte gezeichnet !'#-- Abbildung beschriften ---------------------------------------------------pstext -N -Jx1 -R0/6/0/6.2 -O -K -N <<END>> medi.ps 4.0 2.6 16 0.0 1 2 Mittlerer Jahresniederschlag 4.0 -0.55 14 0 1 2 geogr. L\342nge -0.6 1.15 14 90 1 2 geogr. BreiteENDecho ' Abbildung beschriftet !'#-- Legende zeichnen --------------------------------------------------------psscale -Cfarbe200.cpt -L -D4/-0.8/8/0.2h -O >> medi.psecho ' Legende gezeichnet !‚ Generic Mapping Tool (GMT)