Pecube Modelling

Presentation

[*PECUBE*] est un code d’éléments finis permettant de prédire l’âge de fermeture des systèmes thermochronologiques de basse température, par résolution en trois dimensions de l’équation de la chaleur dans un bloc crustal affecté par des mouvements verticaux, horizontaux et/ou de l’érosion (Braun, 2003, Braun et al, 2012). Ce code (et les fichiers d’aide associées) peut être obtenu sur demande au développeur, Jean Braun .

Pour des modèles directs, le code peut être utilisé sans soucis sur un ordinateur de bureau. Je ne détaillerai pas ici la méthodologie.

En revanche, pour une utilisation inverse à partir de données de terrain, il est fortement recommandé d’utiliser un cluster comme celui d’ISTerre. Se référer aux docs informatiques sur l’Intranet pour utiliser le cluster OAR d’ISTerre.

Ceci dit, pour utiliser Pecube sur OAR, nous avons besoin d’effectuer quelques modifications.

  1. D’abord, il faut modifier le Makefile en utilisant les options :
    1. FLAGS = -c -O3 -ftree-vectorize
    2. FF90 = mpif90
    3. FF77 = mpif77 -fd-lines-as-code
    4. CC = mpicc
  2. Ensuite, il faut modifier le code na.f en décommentant toutes les lignes commençant par "d" en première colonne
  3. Enfin, il faut écrire un script pecube_mpi.sh pour OAR du type :

    # !/bin/bash
    #OAR -n pecube_mpi
    #OAR -l /nodes=1/core=26,walltime=24:00:00
    # Do not load any module
    # Launch compute job
    mpiexec -np `cat $OAR_FILE_NODES | wc -l` bin/Pecube

  4. Pour soumettre le job :

    login@ist-oar : $ oarsub -S —project iste-equ-tectonique ./pecube_mpi.sh —notify "mail:x.x yy.fr"

Comment faire les plots ?

La Visualisation 3D des modèles forwards s’effectue aisément avec Paraview

Pour visualiser les résultats en 2D des inversions, j’ai écrit un code Python à modifier pour son propre modèle. Il est disponible sur Github, ne pas hésiter à faire des forks.

Enfin, pour une analyse statistiques sur les inversions, voir les codes Fortran du Neighbourhood Algorithm de Sambridge 1999a & b.

Coloration syntaxique des input files

J’ai développé pour TextWrangler (MacOS) un addon de Coloration syntaxique pour les input files de PECUBE. C’est aussi sur GitHub, avec le README associé.