Contrôle qualité
5 tests sont actuellement effectués régulièrement sur le code LMDZ pour s'assurer de sa qualité:
- Un test d'intégration continue (IC) à chaque commission sur le serveur de gestion svn
- Un test d'« intégration continue » (IC) sur une station de travail en local
- Un test couplé dans l'environnement libigcm sur Irene (TGCC/CEA)
- Un test des modes parallèles en mode debug sur Ada (Idris)
- Un test automatique de 1D lancé en même temps que le point 1
- Un test DYNAMICO / physique LMDZ
Tests d'intégration continue à chaque commission:
A chaque enregistrement de modification sur le serveur svn, une compilation du code complète et une intégration du modèle en 3D sont effectuées pour valider le bon fonctionnement de la modification.
Tests d'intégration continue toutes les nuits:
Toutes les nuits, une procédure automatique interroge le serveur svn et, en cas de modification, lance des intégrations du modèle en mode 1D, 3D séquentiel ou parallèle, avec des options de compilation de production ou debug, avec deux versions de la physique. On vérifie la convergence numérique de ces tests avec les derniers tests équivalents ayant tourné (plus de détails). Les résultats des tests est synthétisé en une ligne et rajouté au fichier Readme avec la date du test et la version du code testée. La synthèse du résultat est codée de la façon suivante:
S/s/-: 3D standard physics Converging/runing/not runing N/n/-: - new - - D/d/-: new with debug - U/u/-: unicolonne -
I/i/-: isotopes - OK <=> SNDUI
voir aussi ici : https://lmdz-forge.lmd.jussieu.fr/mediawiki/LMDZPedia/index.php/HowTo:_debug_the_quality_control
Test couplé libIGCM:
Régulièrement, la dernière révision du code est testé en mode couplé "atmosphère-océan-surfaces continentales" dans l'environnement modipl/libIGCM sur le supercalculateur du TGCC - CEA (irene). La suite de tests comprend la compilation, l'exécution, un test de reproductibilité et un test de redémarrage (1+1=2). Travail en cours sur l'automatisation de cette suite de tests
Test des modes parallèles:
Tous les lundis, une suite de tests est lancée sur le calculateur de l'Idris (ada) sur la dernière version du code. Elle permet de vérifier la convergence du code en mode séquentiel, mode MPI, OMP et mixte MPI/OMP.
Test sur le 1D:
Ce test fait maintenant partie du test donné au point 1 ci-dessus
Test DYNAMICO:
Régulièrement, la configuration HiresMIP/DYNAMICO du modèle est testée avec la dernière version du code. Travail en cours pour l'automatisation de ce test