English
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