Abstract

217
Abstract
A spectral cloud model is developed for a 3-dimensional mesoscale model considering only
the microphysical conversion processes of the warm cloud. Because of the expected computation requirements, which are strongly increased in relation to the bulk-parameterization,
we develop concepts for the parallelization of the module, explain their applicability and
present :first results.
Für ein 3-dimensionales Mesoskalenmodell wird ein spektrales Wolkenmodul entwickelt,
das zunächst nur die mikrophysikalischen Umwandlungsprozesse der warmen Wolke
berücksichtigt. Aufgrund des zu erwartenden, im Vergleich zur bulk-Parametrisierung
stark erhöhten Rechenzeitbedarfs entwickeln wir Konzepte zur Parallelisierung des Moduls, erläutern deren Anwendbarkeit und stellen erste Ergebnisse vor.
1
Für unsere Untersuchungen arbeiten wir mit dem nichthydrostatischen 3-dimensionalen
Mesoskalenmodell GESIMA (GEesthachter SimulationsModell der Atmosphäre, s. KAPITZA und EPPEL 1992, EPPEL ET AL. 1995). Überlicherweise verwenden Mesoskalenmodelle sog. bulk-Parametrisierungen zur Berechnung der Wolkenmikrophysik (z. B.
MÖLDERS ET AL. 1997 in GESIMA, sonst z.B. COTTON ET AL. 1982, LIN ET AL. 1983
und andere). Dabei werden die Hydrometeore in wenige Teilchenklassen eingeteilt (Wolkenwasser, Regenwasser, Wolkeneis, Schnee, Graupel) und die Massen- und/oder Teilchenzahlbilanzen dieser Klassen aufgrund der mikrophysikalischen Umwandlungsprozesse, der
Sedimentation und der dynamischen Gegebenheiten prognostiziert. Mit Hilfe einer angenommenen Größenverteilung (oft Marshall-Palmer- oder logNormal-Verteilungen) innerhalb jeder Teilchenklasse werden mittlere Teilcheneigenschaften (wie z. B. Masse, Durchmesser, Fallgeschwindigkeit) bestimmt und damit die mikrophysikalischen Prozesse berechnet bzw. parametrisiert. Da viele Prozesse stark von der Teilchengröße abhängen,
stellt diese Herangehensweise in vielen Fällen nur eine grobe Näherung dar.
In einem spektralen oder bin-Modell sind die Klassen (bins) sehr viel feiner eingeteilt und
die mikrophysikalischen Prozesse lassen sich für jede Größenklasse separat berechnen. Die
in der Literatur zu findenden spektralen Modelle sind meist wolkenau:flösende Modelle mit
einer sehr feinen horizontalen und vertikalen Auflösung. Untersuchungsgegenstände sind
z.B. die Wechselwirkungen des atmosphärischen Wassers mit Aerosolen (Auswaschung in
und außerhalb von Wolken, siehe FLOSSMANN ET AL. 1985, ALHEIT ET AL. 1990) oder die
Auswirkung auf die atmosphärische Strahlung (BOTT ET AL. 1997). Mesoskalenmodelle
verfügen nur vereinzelt über eine spektrale Wolkenmodellierung. KHAIN ET AL. (1996)
berichten von Modellrechnungen zur Simulation der Land-See-Wind-Zirkulation und die
218
dadurch ausgelösten Niederschläge im östlichen Mittelmeer mit einem 2-dimensionalen
Mesoskalenmodell mit spektraler Wolkenmikrophysik. In 3-dimensionalen Mesoskalenmodellen werden spektrale Wolkenmodule bislang nicht eingesetzt.
Verglichen mit einer bulk-Parametrisierung erfordert die spektrale Modellierung ein Vielfaches an Berechnungsaufwand. Eine genaue Analyse der Daten- und Prozedurabhängigkeiten zeigt die Möglichkeiten der Parallelisierung auf. Darauf aufbauend lassen sich unterschiedliche Verfahren zur effizienteren Berechnung der spektralen Modellierung implementieren.
2
1
Die Einteilung der Tröpfchen in ]MAX Größenklassen erfolgt wie in spektralen Modellen üblich logarithmisch mit der Masse (siehe z. B.
und REINHARDT 1974). Die
Intervallgrenzen mo(J) sind dann:
mo( J) = mo · 2(J-l)/Jo,
(1)
wobei m 0
4.2 · 10- 15 kg die Masse eines Teilchens mit Radius r 0
1 µm ist und
J
1, ... , ]MAX + 1 (z. B. JMAX = 35, 70 bzw. 105 für lo = 1, 2 bzw. 3). Feinere
Klasseneinteilungen ( 10 > 3) werden selten gewählt, da ansonsten die Anzahl der Klassen
zu groß wird. Ein Teilchen der Masse m gehört genau dann zu Klasse J, wenn gilt:
mo(J) ::; m
< ma(J + 1)
(2)
Ein Teilchen der doppelten Masse 2 · m wird dann Klasse (J + 10 ) zugeordnet. Diese
Einteilung ist statisch. Die Intervallmitten mM( J) sind definiert als
mM(J) = ma(J)
2.2
+ ;a(J + 1).
(3)
Mikrophysik
vVir beschränken uns zunächst auf die Beschreibung der warmen Wolke. Dazu müssen
folgende Prozesse betrachtet werden:
• Wechselwirkung flüssige Phase -
Gasphase
- Größenzunahme (-abnahme) bestehender Tropfen durch Kondensation (Evaporation) von vVasserdampf (Flüssigwasser)
- Tropfeninitierung durch Diffusionswachstum von Aerosolen
• Wechselwirkung flüssige Phase -
flüssige Phase
Kollision und Vereinigung von Tropfen unterschiedlicher Größe (Koaleszenz)
Spontanes Auseinanderbrechen großer, instabiler Tropfen (break-up)
219
Als prognostische Felder dienen die Anzahlkonzentration der Tröpfchen N(J) (in [m- 3 ])
und das Mischungsverhältnis des flüssigen Wassers q(J) (in [(kg \Vasser)/(kg Luft)]) in
jeder Klasse J. n(m) sei die Größenverteilung der Tröpfchen in der Wolke und n(m) dm die
Anzahl der Tröpfchen der Masse m pro Einheitsvolumen. Dann gelten folgende Relationen:
mc(J+1)
1
N(J)
n(m) dm
(4)
mc(J)
q(J) = p-;_ 1
mc(J+1)
1
m n(m) dm
(5)
mc(J)
wobei Pa die Luftdichte ist. Die Größenverteilung n( m) selbst wird nicht prognostiziert,
kann jedoch aus N(J) oder q(J) bestimmt werden.
Die Gesamtanzahldichte NaEs und das Gesamtmischungsverhältnis qaEs ergeben sich als
Summe über alle JMAX Klassen.
JMAX rmc(J+l)
Naes
L
=
J=l
qaes
=
p-;_ 1
JMAX
L
ln
JMAX
n(m) dm=
mc(J)
L
rmc(J+l)
lr.
J=l
N(J)
(6)
J=l
JMAX
m n(m) dm=
mc(J)
L
q(J)
(7)
J=l
Da zwei prognostische Variablen zur Verfügung stehen, lassen sich in jeder Klasse mittlere
Teilcheneigenschaften (Masse und die daraus folgenden Größen) berechnen (YOUNG 1974)
q(J)
m(J) =Pa N(J) ·
(8)
Im allgemeinen gilt: m(J) =1- mM(J)l
2
bin shift
Aufgrund der mikrophysikalischen Prozesse verändern die Tröpfchen ihre Masse und
müssen in eine andere Klasse transferiert werden, sobald sie die Bedingung (2) verletzen. Dadurch ändert sich für die beteiligten Klassen N( J) und q( J). Dies bezeichnet man
als "bin shift". Wie CHEN und LAMB (1994) wollen wir diesen Teilchen- und Massentransfer von der Berechnung der mikrophysikalischen Prozesse trennen, da dies zu einer
einfacheren Formulierung und übersichtlicheren Darstellung führt. vVir verwenden das
Verfahren von CHEN und LAMB (1994) in leicht modifizierter Form.
In jeder Klasse J kann eine lineare Funktion für n( m) definiert werden:
n(m)
= no + k(m -
mM(J)).
(9)
Zur Bestimmung von n 0 und k ist (9) in (4) und (5) einzusetzen. Nach der Berechnung
von SN und Sq aufgrund der mikrophysikalischen Prozesse kann die lineare Verteilung
dazu benutzt werden, den Transfer von Masse und Teilchen zwischen den Klassen zu
bestimmen.
220
3
1
Mit der Verbreitung von Parallelrechnern und schneller Vernetzungstechnik für vVorkstationcluster wurden parallele Implementierungen von einem großen Teil der weltweit
an Instituten und Forschungseinrichtungen verwendeten Programme für hydrodynamische Simulationen in Angriff genommen. Ausgangspunkt hierfür waren meist sequentielle
Modelle oder bereits bestehende Versionen für Vektorrechner. Die relativ hohe Entwicklungszeit für Parallelisierungen bedingten oft einen Rückstand zur aktuellen sequentiellen
Version (MICHALAKES 1997). Die Erfahrung mit der Parallelisierung sind jedoch eine
wertvolle Grundlage für neue parallele Simulationsmodelle, die bereits in der Entwicklungsphase optimiert werden (SCHÄTTLER und KRENZIEN 1997).
Die Implementierung erfolgt in der Regel unter Verwendung des Message Passing Programmiermodells. Es wurden aber auch speziell dem Problemkreis angepaßte Modulbibliotheken (Runtime System Library, RSL) (MICHALAKES 97) oder höhere Programmiersprachen mit parallelen Konstrukten (High Performance FORTRAN, HPF) (ONESTI UND
S0REVIK 96) eingesetzt.
Einen guten Überblick über die Parallelisierung regionaler Atmosphärenmodelle geben
C.
, J. MICHALAKES und R. SKALIN 1997. Die hier betrachteten Modelle
(ASHWORTH ET AL. 1997, SKALIN und BJ0RGE 1997, MICHALAKES 1997, ScHÄTTLER und KRENZIEN 1997) basieren auf speziellen 3-dimensionalen Gittern (staggered
grids ). Die Gitterpartitionierung erfolgt horizontal, was einen Datenaustausch zwischen
den Teilgebieten erfordert und daher Teile des Programms neu implementiert oder deren
Daten umgeordnet werden müssen. Lediglich Prozesse mit rein vertikaler Abhängigkeit
können unverändert übernommen werden.
Zusammenfassend läßt sich feststellen, daß das gewählte Parallelisierungsverfahren in den
betrachteten Modellen auf Gebietszerlegungen beruht, und zwar auf horizontaler. Durch
Veränderung der numerischen Verfahren wird versucht, den Datenaustausch zu minimieren. Die Bedeutung von Lastungleichgewichten pro Prozessor in parallelen Atmosphärensimulationen wird unterschiedlich bewertet. Die mögliche Effizienzsteigerung durch Angleichung der Prozessorlast wird je nach Modell mit 5-103 angegeben. Bei entsprechender
Neukodierung werden bis zu 303 erwartet (FOSTER und ToONEN 1994) .
3.2
Parallelisierung des Modells
Die Parallelisierung der spektralen Wolkenmodellierung ist ein gangbarer und vielversprechender vVeg, um die großen Anforderungen an Rechenleistung ZU meistern. um Erfahrungen mit der Parallelisierung von Wolkenmodellen zu sammeln, wird ein existierendes Wolkenmodul mit einer dem spektralen \i\Tolkenmodul vergleichbaren algorithmischen
Struktur als Ausgangspunkt gewählt. Basis für die Voruntersuchungen ist das mesoskalige
Modell GESIMA mit seinem Wolkentreibermodul und dem darin enthaltenen Wolkenmodul 3 (DEVANTIER 1995).
Die Aufgaben dieses Wolkentreibermoduls sind die Anwendung der Advektion und Diffusion auf die Hydrometeore und die Berechnung ihrer Einflüsse auf den nichthydrostatischen
Druck, die Vertikalgeschwindigkeit und die Temperatur im Atmosphärenmodell. Im Wol-
221
kenmodul wird der mikrophysikalische Teil der ·wolkenprozesse berechnet. Die Anzahl der
berechneten prognostischen Felder für die Hydrometeore erhöht sich von z. B. vier (für
·wolkenwasser und Regen jeweils N und q) bei bulk-Parameterisierung auf 2 ·]MAX (N
und q für jede Größenklasse J, s. a. Kap. 2.1) bei spektraler \Volkenmodellierung.
Die Parallelisierung erfolgt ausgehend vom sequentiellen (FORTRAN 77) Programm. Es
werden keine automatischen Werkzeuge verwendet, sondern explizite Programmierung, da
Erkenntnisse über algorithmische Strukturen gewonnen werden sollen, die typisch für die
Anwendungsklasse hinsichtlich einer Parallelisierung sind. Die numerische Implementierung bleibt unverändert, wodurch das Verhalten des Programmes identisch ist zur sequentiellen Version. Zielplattformen für den Einsatz der parallelen Wolkenmodellierung sind
Cluster von Workstations oder symmetrische Multiprozessor Rechner (SMP), da diese an
den meisten Instituten und Forschungseinrichtungen vorhanden sind.
Um viele parallele Varianten zu berücksichtigen und eine möglichst effiziente auswählen zu
können, werden Datenabhängigkeitsgraphen auf Prozedur- und Gitterebene untersucht.
Der Datenabhängigkeitsgraph des Wolkentreibermoduls enthält verschiedene Freiheitsgrade bzgl. prozeduraler Parallelität. Das Ergebnis der Advektion und Diffusion für alle
Hydrometeore wird von 4 Modulen berechnet, die für jeden Hydrometeor einzeln aufgerufen werden. Es ist unabhängig von der Reihenfolge dieser Aufrufe. Diese beiden Prozesse beanspruchen momentan ca. 70 3 der Gesamtrechenzeit des Wolkentreibermoduls.
Möglichkeiten für Parallelität sind die Aufteilung der Hydrometeore bzw. Tröpfchengrößeklassen bei spektraler Modellierung in Gruppen, die jeweils auf einem Prozessor gerechnet
werden oder die Verteilung der 4 Module. Die Verwendung von reiner prozedurale Parallelität führt allerdings zu einer schlechteren Skalierbarkeit.
Als Ausgangspunkt für die Implementierung nach dem SPMD (Single Program Multiple
Data) Programmiermodells wird die Diskretisierung des physikalischen Raumes auf ein
3-dimensionales Gitter genutzt. Auf diesem Gitter werden verschiedene Größen definiert
und berechnet, im Wolkentreibermodul hauptsächlich die Hydrometeore (Wolkenwasser,
Wolkeneis, Regenwasser, Graupel und Schnee) und deren Rückkopplung auf die oben
erwähnten Modellgrößen.
Der größere Anteil der Berechnungen hat stärkere Abhängigkeiten in vertikaler Richtung
als in horizontaler. Deshalb erfolgt die Realisierung nach der Owner-Computes Regel, angewandt auf die 2-dimensionale Grundfläche des Gitters, wobei jeder Eintrag aus einem
Vektor besteht, der die Säule beschreibt. Die Partitionierung durch Schnitte in zonaler
und meridionaler Richtung erfordert einen Randstreifen von einem Punkt Breite in jede
Richtung (8 Punkte um einen einzelnen Punkt), um die Größen, welche mit dem horizontalen Massentransport in Verbindung stehen, korrekt berechnen zu können. Die Stellen,
an denen Randwertaustausch benötigt wird, werden konkretisiert. Als kleinste verschiebbare Einheit wird die Säule gewählt. Bei Gittern der Dimension Nx ·Ny· Nz ergibt sich eine
Granularität von O(Nz)· Eine gleichmäßige Aufteilung der Säulen auf p Prozessoren ergibt zu Beginn des Modellaufs eine ausgeglichene Rechenlast, die sich mit der Entstehung
und Entwicklung von Wolken verschieben kann.
Dies führt zu einem nicht trivialen Optimierungsproblem zwischen idealer Auslastung
und durch den Ausgleich bedingtem zusätzlichem Kommunikationsaufwand, bekannt als
Konflikt der parallelen Effizienz bei Rechnern mit verteiltem Speicher. Die Kommunika-
222
tionszeit wird typischerweise durch folgende Formel beschrieben:
T
T
+ ic · b
mit tc
b
Startupzeit
Bytetransferzei t
Nachrichtengröße
Dieser Mehraufwand muß mit dem Effizienzgewinn, der durch einen Lastabgleich erreicht
werden kann, ausbalanciert werden um optimale Laufzeiten zu erreichen.
Die Ergebnisse der SPMD-Implementierung sind sehr gut auf Rechnern mit gemeinsamen Speicher, auf Workstationsclustern zufriedenstellend. Mit dem Einsatz von größeren
Anzahlen (> 10) fällt die Effizienz noch zu stark ab. An dieser Stelle sind weitere Untersuchungen notwendig. Aufgrund der sehr rechenzeitintensiven Prozesse einer spektralen
Wolkenmodellierung, die in räumlich begrenzten Gebieten (Wolken) der simulierten Atmosphäre stattinden, wird über den Simulationszeitraum eine Lastverschiebung erwartet.
Eine dynamische Partitionierung des Gitters und eine dynamisch gesteuerte Ausführung
der Prozeduren sind anwendbare Möglichkeiten zum Lastausgleich.
Neben der Implementierung unter Nutzung des Message-Passing Programmiermodell wurden auch erste Versuche zur Verwendung von POSIX Threads in (FORTRAN 77) Programmen gemacht. Dieses Programmiermodell unterscheidet sich von den zuvor erwähnten dahingehend, daß die Zuordnung von Tasks zu Prozessoren automatisch vom Betriebssystem übernommen wird, eine dynamische Lastbalancierung also implizit enthalten ist.
Der derzeitige Stand der Entwicklung ist ein einsatzfähiges SPMD-Programm, welches
auf einem SUN Workstation-Cluster und einem HP X-Class Server getestet und optimiert
wird. Das Programm ist für die Integration einer dynamischen Lastbalancierung vorbereitet, so daß Untersuchungen über deren Einsetzbarkeit erfolgen können. Erste Möglichkeiten zur Ausnutzung von prozeduraler Parallelität sind implementiert und sollen später
mit dem SPMD-Ansatz gekoppelt werden. Durch den Anteil von momentan ca. 30 %
der Wolkenmodellierung am Rechenzeitbedarf von GESIMA wird die gesamte Simulation
nur gering beschleunigt. Für die zukünftige spektralen Modellierung ist die Parallelisierung unverzichtbare Grundlage, um aussagefähige und forschungsrelevante Modelläufe in
adäquaten Zeiträumen durchführen zu können.
4
Ausblick
Es wurde ein Konzept für die Entwicklung eines spektralen Wolkenmoduls für ein Mesoskalenmodell auf einer parallelen Plattform beschrieben.
Der Verwendungszweck für ausreichend schnelle spektrale Modelle ist vielfältig. Neben
dem Studium der 'Wolkenmikrophysik selbst können sie auch für Untersuchungen der
Chemie zur Verfügung gestellt werden (wo das Verhältnis von Oberfläche zu Masse eine
wichtige Rolle für Reaktionen spielt), ebenso können kurz- und langwellige Strahlung
detaillierter modelliert werden.
Da die spektrale Modell eine genaue Kenntnis des Größenspektrums liefert, bietet es sich
an, ein solches als adjungiertes Modell zu Radardaten zu betreiben. SUN UND CROOK
(1997) verwenden dafür ein bulk-Modell und betrachten wie wir nur die :flüssige Phase.
223
Dieses Projekt vvird von der Deutschen Forschungsgemeinschaft (DFG) unter der Projektnummer TE 51/11-1 gefördert.
ur
[l] ALHEIT, R. R., A. I. F'LOSSMANN und H. R. PRUPPACHER: A theoretical study
of the wet removal of atmospheric pollutants. Part IV. Journal of the Atmospheric
Sciences, 47:870-887, 1990.
[2] ASHWORTH, M., F. FÖLKEL, V. GÜLZOW, K. KLEESE, D. P. EPPEL, H. KAPITZA
und S. UNGER: Parallelization of the GESiiYJA mesoscale atmospheric model .. Parallel Computing, 23(14):2201-2214, 1997.
[3] BAILLIE, C., J. MICHALAKES und R. SKALIN: Regional Weather lvfodeling on Parallel Computers. Parallel Computing, 23(14):2135-2142, 1997.
[4] BERRY, . X. und R. L. REINHARDT: An analysis of cloud drop growth by collection.
Part I: Double distributions. Journal of the Atmospheric Sciences, 31:1814-1824,
1974.
[5] BOTT, A.: A numerical model of the cloud-topped planetary boundary layer: Impact
of aerosol particles on radiative forcing of stratiform clouds. Quarterly Journal of
the Royal Meteorological Society, 123:631-656, 1997.
[6] CHEN, J .-P. und D. LAMB: Simulation of cloud microphysical and chemical processes using a multicomponent framework. Part I: Description of the microphysical
model. Journal of the Atmospheric Sciences, 51:2613-2630, 1994.
[7] COTTON, W. R., M. A. STEPHENS, T. NEHRKORN und G. J. TRIPOLI: The
Colorado State University Three-Dimensional Cloud/Mesoscale ivfodel. Part II: An
Jce Phase Parametrization. Journal de Recherches Atmospheriques, 16( 4):295-320,
1982.
[8] DEVANTIER, R.: Wolkenbildungsprozesse über der südwestlichen Ostsee
Anwendung eines neuen Wolkenschemas in einem mesoskaligen Modell. Doktorarbeit, Institut für Meteorologie der Universität Leipzig und Institut für Troposphärenforschung
Leipzig, 1995. 'Wissenschaftliche Mitteilungen Band 2.
[9] EPPEL, D. P., H. KAPITZA, M. CLAUSSEN, D. JACOB, vV. KOCH, L. LEVKOV,
H.-T. MENGELKAMP und N. vVERRMANN: The Non-Hydrostatic lV!esoscale Afodel
GESJjVJA. Part II: Parameterizations and Applications. Beiträge zur Physik der
Atmosphäre, 68(1):15-41, 1995.
[10] FLOSSMANN, A. I., VI/. D. HALL und H. R. PRUPPACHER: A theoretical study
of the wet removal of atmospheric pollutants. Part I. Journal of the Atmospheric
Sciences, 42:583-606, 1985.
[11] FOSTER, I. und B. TOONEN: Load-Balancing Algorithms for Climate Models. In:
Proc. of the 1994 Scalable High Performace Computing Conference, 1994.
224
[12] KAPITZA, H. und D. P.
EL: The Non-Hydrostatic J\;fesoscale Model GESJ1V!A. Part !: Dynamical Equations and Tests. Beiträge zur Physik der Atmosphfüe,
65(2):129-146, 1992.
[13] LIN, Y.-L., R. D. FARLEY und H. D. ÜRVILLE: Bulk parameterization of the snarr
field in a cloud model. Journal of Climate and Applied I'vleteorology, S. 1065-1092,
1983.
[14] MICHALAKES, J .: JV!J\!190: A scalable parallel implementation of the Penn
State/NCAR JV!esoscale Ivfodel (lvll\!15). Parallel Computing, 23(14):2173-2186, 1997.
[15] MÖLDERS,
., G. KRAIV1M, M. LAUBE und
. R.L\ABE: On the infiuence of bulkparameterization schemes of cloud microphysics on the predicted water-cycle-relcvant
quantities - A case study. IVIeteorologische Zeitschrift, 6:21-32, 1997.
[16] ÜNESTI, L. und T. S0REVIK: Parallelization of a Local Area Ocean l'Vlodel. In: Proc.
of the 1996 Applied Parallel Computing Conference, S. 543-554. Springer, 1996.
[17] ScH.Ä.TTLER, U. und E. KRENZIEN: The parallel 'Deutschland-ivlodell7 - A messagepassing version for distributed memory computers. Parallel Computing, 23(14):22152226, 1997.
[18] SK,i\LIN, R. und D. BJ0RGE: Implementation and performace of a parallel version
of the HIRLAM limited area atmospheric model. Parallel Computing, 23(14):216
2172, 1997.
[19] SUN, J. und N.
. CROOK: Dynamical and microphysical retrieval from Doppler
Radar Observations using a cloud model and its adjoint. Part 1: Afodel development
and simulated data Experiments. Journal of the Atmospheric Sciences, 54:1642-1661,
1997.
[20]
K. C.: A numcrical simulation of wintertime 1 orographic prccipitation: Part
!. Description of model microphysics and numerical techniques. Journal of the Atmospheric Sciences, 31:1735-1748, 1974.
YOUNG,
Adresse der Autoren:
Martin Simmel, Gerd Tetzlaff
Institut für Meteorologie
Universität Leipzig
Stephanstr. 3
04103 Leipzig
Robert Reilein, Gudula Rünger
Institut für Informatik
Universität Leipzig
Augustusplatz 10-11
04109 Leipzig