Universität Hamburg

Meteorologisches Institut

Universität Hamburg

English version | Suche | Sitemap | Kontakt | Impressum
Meteorologisches Institut
Universität Hamburg
Bundesstraße 55
D-20146 Hamburg
Tel.: +49 40 42838-5078
Fax: +49 40 42838-5452
E-Mail:  info-mi(at)we dont want spamzmaw.de

METRAS Technical Report 7

Umbau von METRAS FORTRAN 77 in METRAS Fortran 90

 

Heiko Panskus, Heinke Schlünzen

Stand: 26. November 1996

Ziel der Umstellung ist die Aufbaukompatibilität zu METRAS in der FORTRAN 77 Version, so daß alle vorhandenen Optionen weiter genutzt werden können. Beim Umbau sind die neuen Standards und Richtlinien einzuhalten. Dabei gewährleistet die Kleinschreibung der Variablen- und Parameternamen des Codes, daß nicht umgestellter Programmcode, der nach den alten Programmierkonventionen in Großbuchstaben geschrieben wurde, sichtbar bleibt. Die Schritte des Umbaus sind:

  • COMMON-Blöcke werden durch MODULE ersetzt: Die neuen Module und die darin enthaltenen alten Module sind im File names_f77_to_f90 im Directory /pf/u/u232015/rcs/f90_doc aufgeführt. Die Umstellung bedeutet geringen Aufwand, wobei die Struktur des Programmcodes weitestgehend erhalten bleibt.

  • EQUIVALENCE durch Standardfunktionen ersetzen: Hierbei bleibt die Programmstruktur vollständig erhalten.

  • Dynamische Felder für globale Felder einführen: Die Dimensionen sollen eingelesen und die Felder entsprechend initialisiert werden. Bis auf das Einlesen und Allocieren bleibt die Struktur erhalten. Der Aufwand ist relativ gering.

  • Nutzung neuer Standardfunktion: Aufwendige Progammstrukturen lassen sich durch Nutzung neuer Standardfunktion vereinfachen, wie z.B. Matrixmultiplikationen und Bestimmung von Maximum/Minimum von Feldern. Die Programmstruktur wird vereinfacht, aber nicht umgestellt.

  • Module einführen: Vorerst nur für die Felder, Formate und die zentrale Fehlerbehandlung. Weitere Umstellungen, die auch die Struktur des Programmcodes deutlich verändern, erfolgen nach und nach, wenn ein Programmteil detailliert überarbeitet wird. Einige Module sind bereits in der Liste names_f77_to_f90 auf /pf/u/u232015/rcs/f90_doc aufgeführt.

  • Label entfernen: Bei DO-Loops kann dies problemlos umgesetzt werden. Label von Sprunganweisungen werden umgestellt, wenn ein Programmteil detailliert überarbeitet wird. Die Struktur bleibt bei dieser Umstellung weitestgehend erhalten.

  • Formate als Characterparameter: Die Struktur bleibt vollständig erhalten. Die Umstellungen erfolgen nach und nach, wenn ein Programmteil detailliert überarbeitet wird. Alle Formate kommen in das zentrale Format-Modul.

  • Parameter sollen eingelesen werden: Die Struktur bleibt bis auf die geänderte Einleseroutine erhalten. Parameter, die nicht eingelesen werden, wie z.B. physikalische Konstanten, werden in das zentrale Parameter-Modul geschrieben, auch wenn sie in nur einem Unterprogramm/Funktion Verwendung finden.

  • Das in C geschriebene Modul emi_fac.c ist in Fortran 90 umzuschreiben.

  • Die in Abschnitt A 3.4 erwähnte und in Abschnitt A 9 beschriebene Liste der globalen Variablen kann auf der Variablenliste der aktuellen Programmdokumentation aufbauen. Die alte Liste ist über /pf/u/u232015/rcs/f90_doc als File names_f77.tex zu finden. Eine neue Liste ist als Beispiel unter names_varpar_f90.tex im gleichen Directory zu finden. Analoges gilt für die Objektliste (names_object_f90.tex).

  • Die Namenskonventionen müssen bei Erstellung neuer sowie bei der detaillierten Umstellung alter Module eingehalten werden. Allerdings sollen bei der Programmumstellung nicht alle vorhandenen Namen in die englische Sprache umgesetzt werden, um den Aufwand und die Fehlermöglichkeiten in Grenzen zu halten.

  • Das Modell in der neuen Version stürzt ab, falls ein Stoff gerechnet werden soll, für den keine Quellen verfügbar sind. Hier muß eine Fehlerabfrage (Konsistenzprüfung) eingeführt werden.

  • Das Modell in der neuen Version kann keinen Stoff ohne Chemie (Stoff als passiven Tracer) rechnen. Dann muß immer die gesamte Chemie aufgerufen werden. Der passive Stofftransport muß in der F90 Version wieder möglich sein.

  • Die Ausgabe des Modells darf im Rahmen der Modellumstellung nicht verändert werden, da sonst diverse Auswerteprogramme neu erstellt werden müssen.

  • Die Einleseroutinen sollten ebenfalls möglichst nicht verändert werden. Falls dieses doch erforderlich ist, müssen gleichzeitig alle Preprozessoren angepaßt werden (Emissionsdaten-, Topographiedaten-, Forcingdaten- und andere Erzeugungsprogramme). Dabei sind alle MITRAS/METRAS-User-Gruppen einzubeziehen.

  • Die gesamte Modellumstellung ist ausführlich und nachvollziehbar zu dokumentieren (vgl. File metras_neu in Directory /pf/u/u232015/rcs/f90_doc).