phil-blain / CICE

Development repository for the CICE sea-ice model
Other
0 stars 0 forks source link

Do multi-year tests #32

Closed phil-blain closed 4 years ago

phil-blain commented 4 years ago

did a 5 year test on gx3 and quality control passes when compared to EVP (used 20 nonlinear iterations, default settings for the rest.) ice_thickness_daley_intel_smoke_gx3_8x1_medium_qc qc_minus_daley_intel_smoke_gx3_8x1_dynpicard_medium_qc qc @JFLemieux73 voici l'image générée par le script de contrôle de qualité pour gx3. La légende aide pas ben ben, il faudrait plus de décimale...

phil-blain commented 4 years ago

@JFLemieux73

I'm currently running a 5-year gx1 test on daley, will post the results here once it's done.

phil-blain commented 4 years ago

J'ai tué la job parce que après une heure, j'étais rendu à 10 jours de simulation, à ce rythme il faudrait 182 heures (!) pour faire les 5 ans, le max sur les XC est 3 heures.

Je vais relancer avec plus de procs (la job que j'ai tuée était à 32x1).

JFLemieux73 commented 4 years ago

C'est quoi la tolérance? C'est peut-être trop stricte pour des long runs...

phil-blain commented 4 years ago

j'ai mis 20 itérations max pour Picard, le reste c'est les settings que tu avais mis (50 iter pour FGMRES, 5 pour PGMRES, pas de restart pour aucun des deux)

phil-blain commented 4 years ago

J'ai relancé avec 160 procs (donc 4 noeuds). Il a fait 8 jours puis le modèle s'est arrêté lui-même:

Warning: Departure points out of bounds in remap
 my_task, i, j =          56           5           2
 dpx, dpy =   21743.4742950987        3.62930107602058
 HTN(i,j), HTN(i+1,j) =   19804.4467289214        19655.4102553484
 HTE(i,j), HTE(i,j+1) =   58296.6376848263        58334.3602483103
 istep1, my_task, iblk =      175386          56           6
 Global block:        1000
 Global i and j:          74         373

 (abort_ice)ABORTED:
 (abort_ice) error = (horizontal_remap)ERROR: bad departure points

Je vais comparer les sorties du 32x1 et 160x1...

Normalement quand j'ai eu ce message par le passé c'était lié au nombre de Courant, donc je réduisais le pas de temps.... mais là c'est le solveur implicite donc ça m'étonne...

phil-blain commented 4 years ago

D'autant plus bizarre que avec 24x1 il s'est rendu à 15 jours, et 32x1 à 10, sans avoir cette erreur au 8e jour... ce qui voudrait dire que les réponses sont différentes en fonction de la décomposition MPI. Je vais investiguer ça avant de continuer les simulation plus longue durée.

phil-blain commented 4 years ago

@JFLemieux73 bonne nouvelle: j'ai relancé le 160x1 sur daley, et il roule encore, il est rendu à 1 mois et demi de simulation.

Donc surement que l'erreur était causé par les tableaux non initialisés (#34) (j'ai vérifé que le test sur daley n'avait pas été compilé en mode debug, donc il n'initialisait pas les tableaux avec des NaN et donc il utilisait whatever garbage il trouvait dans la mémoire...

Je ne suis pas sur que je vais pouvoir rouler 5 ans par contre en raison de la limite de temps, je vais le laisser rouler et voir combien de temps il fait et ensuite je vais ajuster le nombre de noeuds pour essayer d'accélérer la simulation.

JFLemieux73 commented 4 years ago

Cool. C'est bien gx1? Si c'est trop long on peut aussi réduire le nb d'itérations de Picard.

phil-blain commented 4 years ago

Oui, gx1. Ok, je garde en tête pour le nombre d'itér Picard (pour le moment c'est 20, ce qui fait dropper le résiduel environ à 1E-2)

phil-blain commented 4 years ago

En 3 heures, il a été capable de faire un an et 1/3. J'ai donc relancé une nouvelle job en mettant un an comme temps de simulation et runtype='continue', ce qui fait en sorte qu'il va restarter à partir du restart.

Donc on peut compléter les 5 ans facilement en relançant la tâche 3 autres fois ensuite.

phil-blain commented 4 years ago

J'ai relancé la job qq fois pour compléter les 5 ans.

Le contrôle de qualité passe (vs EVP) sur la grille gx1:

$ ./configuration/scripts/tests/QC/cice.t-test.py ~/data/site4/cice/runs/daley_intel_smoke_gx1_32x1_medium_qc.qc/ ~/data/site4/cice/runs/daley_intel_smoke_gx1_160x1_dynpicard_medium_nonlin20_qc.qc/
INFO:__main__:Running QC test on the following directories:
INFO:__main__:  /home/phb001/data/site4/cice/runs/daley_intel_smoke_gx1_32x1_medium_qc.qc/
INFO:__main__:  /home/phb001/data/site4/cice/runs/daley_intel_smoke_gx1_160x1_dynpicard_medium_nonlin20_qc.qc/
INFO:__main__:Number of files: 1825
INFO:__main__:2 Stage Test Passed
INFO:__main__:Quadratic Skill Test Passed for Northern Hemisphere
INFO:__main__:Quadratic Skill Test Passed for Southern Hemisphere
INFO:__main__:Creating map of the data (ice_thickness_daley_intel_smoke_gx1_32x1_medium_qc.qc.png)
INFO:__main__:Creating map of the data (ice_thickness_daley_intel_smoke_gx1_160x1_dynpicard_medium_nonlin20_qc.qc.png)
INFO:__main__:Creating map of the data (ice_thickness_daley_intel_smoke_gx1_32x1_medium_qc.qc_minus_daley_intel_smoke_gx1_160x1_dynpicard_medium_nonlin20_qc.qc.png)
INFO:__main__:
INFO:__main__:Quality Control Test PASSED
phil-blain commented 4 years ago

Différence entre les deux: ice_thickness_daley_intel_smoke_gx1_32x1_medium_qc qc_minus_daley_intel_smoke_gx1_160x1_dynpicard_medium_nonlin20_qc qc

phil-blain commented 4 years ago

Le 30 cm en Antarctique me semble suspect... @JFLemieux73 qu'en penses-tu ?

phil-blain commented 4 years ago

EVP: ice_thickness_daley_intel_smoke_gx1_32x1_medium_qc qc VP: ice_thickness_daley_intel_smoke_gx1_160x1_dynpicard_medium_nonlin20_qc qc

La différence se situe dans une région ou la glace est très épaisse, donc j'imagine que le 30 cm de différence n'est pas si grave que ça...

JFLemieux73 commented 4 years ago

Ça me semble ok!

phil-blain commented 4 years ago

Avec 4 itérations non-linéaires, et la même distribution MPI (160x1), ça a pris 2h15 pour rouler les 5 ans.