Europese Modellering van de Oceaan
Hind Shouli
Dagelijks begeleider: Kees Vuik
Plaats van afstuderen:
TU Delft in samenwerking met John Donners van
SARA
start van afstuderen: Oktober 2010
De afstudeeropdracht is in augustus 2011 afgerond met het schrijven van het
afstudeerverslag
en het geven van de
afstudeervoordracht.
Huidige adresgegevens etc. zijn te vinden op onze
alumnipagina.
Korte omschrijving van de afstudeeropdracht:
Introductie
NEMO (Nucleus for European Modelling of the Ocean) is een 3-dimensionaal oceaanmodel dat
gebruikt wordt voor oceanografie, klimaatsimulaties en oceaanvoorspellingen voor de scheepvaart. Het
model bevat ook modules voor de modellering van zeeijs en biogeochemie. Vele processen moeten
geparameteriseerd worden, o.a. turbulentie en convectie. Vele honderden instituten over de hele wereld
maken gebruik van dit model. De open-source code bestaat uit honderdduizend regels code en wordt
ontwikkeld in Frankrijk en Groot-Brittannië door het NEMO development team en is volledig
geschreven in Fortran 90. MPI (Message-Passing Interface) is toegepast om de code te parallellizerenen
afhankelijk van de gekozen configuratie kan er gebruik gemaakt worden van een enkele processor of
wel duizend processors.
Model beschrijving
NEMO maakt gebruik van eindige differenties en verdeelt het domein in gelijke stukken, waarbij er een
tripolair grid wordt gebruikt om singulariteiten te voorkomen. Het lost de incompressibele Navier-
Stokes vergelijkingen op een roterende bol op. Deze vergelijkingen zijn verder vereenvoudigd met de
Boussinesq benadering en de aanname van hydrostatisch evenwicht, waardoor o.a. convectie wordt
uitgesloten. De prognostische variabelen zijn de drie-dimensionale snelheid, temperatuur en
zoutgehalte en de hoogte van het zeeoppervlak. Er kan zowel een lineaire als een niet-lineare
toestandsvergelijking worden gebruikt. Het zeeoppervlak wordt gemodelleerd als een vrij oppervlak,
dat beschreven wordt door een elliptische vergelijking. Om deze vergelijking op te lossen, kan een successive overrelaxation of een
preconditioned conjugate-gradient methode worden gebruikt. Beide methodes maken gebruik van
globale variabelen, wat een hoop communicatie vergt (zowel globaal als met de direkte buren) als er
veel processoren parallel worden ingezet.
Probleem
Beide methodes voor het berekenen van het vrije oppervlak zijn iteratief van aard (zie de handleiding,
sectie 10.7) en zijn geprogrammeerd als een enkele subroutine van minder dan 200 regels. De
convergentiesnelheid van deze methodes is erg langzaam en er zijn honderden of zelfs duizenden
iteraties nodig voor een toereikende tolerantie. De schaalbaarheid van NEMO wordt nu begrensd door
de communicatie-kosten van de berekening van het vrije oppervlak. Nieuwe supercomputers zullen
honderdduizenden cores bevatten en daarvoor is een betere schaalbaarheid van NEMO hard nodig.
Doel
Het vinden van een nieuw algoritme of verbeteren van een bestaand algoritme om de schaalbaarheid
van het NEMO model te vergroten. Dit zou bijvoorbeeld het implementeren van een deflatiemethode
kunnen zijn of zoeken naar een betere preconditioner. SARA zal technische support geven met het
analyseren, implementeren en uitvoeren van NEMO.
Het gebruikte rekenrooster
Berekeningen gedaan met NEMO
Contact informatie:
Kees
Vuik
Terug naar de
home page
of de
afstudeerpagina van Kees Vuik