wiki:Modipsl_basic

Version 10 (modified by jgipsl, 10 years ago) (diff)

--

Modipsl

Index?/Modipsl



Extraire modipsl en mode utilisateur

svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl

Pour vous simplifier la vie et éviter de retaper cette ligne de commande à chaque nouvelle extraction de modipsl, nous vous conseillons de vous créer un alias :

alias svn_ano='svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl'

La commande d'extraction devient alors juste

svn_ano

Attention sur vargas (IDRIS) il faut explicitement demander l'accès à svn :

module load subversion 



Extraire modipsl en mode administrateur

svn co svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/modipsl/trunk modipsl

D'autres commandes sont disponibles ici



Pour en savoir plus sur SVN



Présentation des répertoires de modipsl

Après avoir extrait Modipsl vous avez un répertoire contenant 7 sous-répertoires :

  • bin/
  • config/
  • doc/
  • lib/
  • modeles/
  • tmp/
  • util/

Tous ces répertoires sont vides excepté le répertoire doc/ contenant le texte de la licence CECILL (license sous laquelle sont placés les modèles de l'IPSL) et le répertoire util/ qui contient les scripts nécessaires à une installation complète de n'importe quelle configuration disponible des modèles de l'IPSL.

mod.def         >>>>>> Définition pour chaque configuration de leurs composantes et de leurs tags
model           >>>>>> Extraction des modèles validés disponibles
ins_make        >>>>>> Installation et configuration des Makefiles 
ins_job         >>>>>> Installation et configuration des scripts de lancement

Voir le transparent 26 de la présentation.



Liste des configurations disponibles via modipsl

Via modipsl vous pouvez avoir accès à un grand nombre de configurations regroupant différents modèles de l'IPSL. Pour connaître cette liste il vous suffit dans le répertoire util/ de passer la commande suivante :

cd modipsl/util
./model -h 

Pour avoir plus d'informations sur une configuration en particulier (modèles utilisés, versions CVS ou SVN utilisées ...) il faut passer la commande

./model -h nom_de_la_config

Exemple avec LMDZ4OR_v2 :

>> ./model -h LMDZ4OR_v2

>> model : LMDZ4OR_v2
 
LMDZ4OR_v2 configuration with parallel LMDZ4 and ORCHIDEE
working configuration
Official beta release
IOIPSL/src svn tags/v2_1_1
LMDZ4 tag LMDZ4_V3_1
ORCHIDEE tag orchidee_1_9_1
LMDZ4OR_v2 svn trunk
libIGCM HEAD
 
model manager email address : blabla@blabla
 
Component 1 : IOIPSL/tags/v2_1_1/src
Tag       1 : HEAD
System    1 : svn
Server    1 : http://forge.ipsl.jussieu.fr/igcmg/svn
Directory 1 : IOIPSL/src
Local Dir 1 : modeles
Component 2 : ORCHIDEE
Tag       2 : orchidee_1_9_1
System    2 : cvs
Server    2 : sechiba@cvs.ipsl.jussieu.fr:/home/ssipsl/CVSREP
Directory 2 : .
Local Dir 2 : modeles
Component 3 : LMDZ4
Tag       3 : LMDZ4_V3_1
System    3 : cvs
Server    3 : lmdzbrowse@cvs.lmd.jussieu.fr:/home/cvsroot
Directory 3 : .
Local Dir 3 : modeles
Component 4 : CONFIG/trunk/LMDZ4OR_v2
Tag       4 : HEAD
System    4 : svn
Server    4 : http://forge.ipsl.jussieu.fr/igcmg/svn
Directory 4 : LMDZ4OR_v2
Local Dir 4 : config
Component 5 : libIGCM
Tag       5 : ?
System    5 : cvs
Server    5 : anonymous@cvs.ipsl.jussieu.fr:/home/ioipsl/CVSROOT
Directory 5 : .
Local Dir 5 : .

La première partie indique les modèles utilisés dans la configuration ainsi que leurs numéros de version sur CVS ou SVN. Ensuite est donnée l'adresse e-mail du responsable de cette configuration, puis tous les paths des composantes.



Travailler avec une configuration choisie

Dans ce paragraphe nous prendrons comme exemple le modèle couplé IPSLCM5A. Les autres configurations utilisant modipsl (IPSL_ESM_V1, LMDZ4OR_v2, LMDZINCA_v2, LMDZORINCA ...) suivent le même principe. Quand des cas particuliers existent nous vous les indiquerons.



Extraction

cd modipsl/util
./model -h               >>>> indique toutes les configurations dispo
./model IPSLCM5A       >>>> on choisit d'extraire la configuration IPSLCM5A

Lors de cette extraction plusieurs logins et mots de passe vous seront demandés. Pour les récupérer adressez vous au responsable de la configuration (voir ci-dessus model manager email address)
En cas d'urgence, vous pouvez aussi récupérer le fichier ~/.cvspass et le répertoire ~/.subversion d'un autre utilisateur. Cette commande récupère sur CVS et/ou SVN les différents modèles composant la configuration demandée. Les sources de ces modèles sont installées dans le répertoire modipsl/modeles/. Pour notre exemple vous obtenez les répertoires suivants :

  • modipsl/modeles/IOIPSL/
  • modipsl/modeles/LMDZ4/
  • modipsl/modeles/NEMO/
  • modipsl/modeles/UTIL/
  • modipsl/modeles/ORCHIDEE/
  • modipsl/modeles/XMLF90
  • modipsl/modeles/XMLIO_SERVER

Modipsl installe également ce que l'on appelle une configuration. Elle est dans le répertoire modipsl/config/ (ici modipsl/config/IPSLCM5A/).
Cette configuration vous permettra de compiler l'ensemble des modèles, puis de lancer une simulation;



Mots de passe

Pour connaitre les mots de passe d'extraction s'adresser au model manager email address. Il est indiqué lors de la commande

 ./model -h IPSLCM5A 

FAQ

Comment choisir un version spécifique du modèle LMDZ

Certains configurations sont utilisable pour différents version des modèles. C'est le cas pour le version de LMDZ dans les configurations dans la famille "_v5", par exemple LMDZOR_v5. Il faut décider avant l'extraction quel version du modèle LMDZ on a besoin. Pour a version stable de LMDZ, utilisez le dernier version, le HEAD de LMDZ4/branches/LMDZ4_AR5 lequel est utilisé pour les simulation dans le projet CMIP5. Pour utilisez la nouvelle physique dans LMDZ il faut un version plus récente de LMDZ5/trunk. Pour le choix plus précisément, s'adresser a l'équipe développeur du modèle.

Une fois le choix faite, changer dans modipsl/util/mod.def dans la section pour la configuration en question. Par exemple pour extraire le configuration LMDZOR_v5 avec le dernier revision(HEAD) de LMDZ4_AR5, modifier dans mod.def pour avoir :

#-C- LMDZOR_v5 LMDZ4/branches/LMDZ4_AR5     HEAD               11 LMDZ       modeles

ou pour LMDZ5/trunk revision 1628 :

#-C- LMDZOR_v5  LMDZ5/trunk                 1628               11 LMDZ       modeles

Comment utiliser un version plus récent d'ORCHIDEE ?

Pour utiliser un version plus récent d'ORCHIDEE, il faut modifier dans mod.def, avant extraction, le version d'ORCHIDEE et aussi le version d'IOIPSL. Voici un exemple pour utilisation du trunk ORCHIDEE dans le configuration LMDZOR_v5 :

> svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
> cd modipsl/util

> vi mod.def     => Modifiy mod.def to get ORCHIDEE trunk version instead of default.
                    Modifiy also to get a newer version of IOIPSL
change following line :
#-C- LMDZOR_v5  tags/ORCHIDEE_1_9_5/ORCHIDEE HEAD   14 ORCHIDEE   modeles
into
#-C- LMDZOR_v5  trunk/ORCHIDEE               HEAD  14 ORCHIDEE   modeles

and following line :
#-C- LMDZOR_v5  IOIPSL/tags/v2_2_1/src       HEAD  8  IOIPSL/src modeles
into
#-C- LMDZOR_v5  IOIPSL/trunk/src             1660  8  IOIPSL/src modeles


> ./model LMDZOR_v5               # Extracting all modeles and tools

Comment installer LMDZOR et ORCHIDEE_OL dans le même modipsl ?

Si on travaille a la fois en couplé et forcé avec ORCHIDEE, c'est bien d'avoir tout dans un même arborescence modipsl. Pour cela, avant l'extraction, modifiez mod.def. Selon le version d'ORCHIDEE, le choix entre 2 méthodes doit être fait. Les expemples en bas sont fait pour extraire le trunk d'ORCHIDEE, revision HEAD. C'est possible d'echanger trunk/ORCHIDEE avec par exemple branches/orchidee_FM/ORCHIDEE ou un autre version.

Méthode 1 : pour ORCHIDEE quand le répertoire ORCHIDEE/src_driver existe

Dans les versions récents d'ORCHIDEE, a partir du révision 1042 sur de la trunk ORCHIDEE, tous les sources, programme pour les drivers inclues, sont dans le répertoire ORCHIDEE. Dans modipsl/util/mod.def, modifiez les 2 lignes suivant :

#-C- LMDZOR_v5  IOIPSL/trunk/src                      1660               8  IOIPSL/src modeles
#-C- LMDZOR_v5  trunk/ORCHIDEE                        HEAD               14 ORCHIDEE   modeles

et ajouter ce ligne :

#-C- LMDZOR_v5  trunk/ORCHIDEE_OL                     HEAD               14 ORCHIDEE_OL config

Extrait maintenant la configuration dans modipsl/util: "./model LMDZOR_v5". Ensuite compilez librairies et tous les exécutables dans modipsl/config/LMDZOR_v5 :

gmake                        # Pour librairie ORCHIDEE et le gcm
gmake ORCHIDEE_DRIVER        # Pour compiler les drivers et linker avec les librairies ORCHIDEE

Méthode 2 : pour ORCHIDEE trunk ou branche qui n'a pas le répertoire ORCHIDEE/src_driver

Dans ce cas, il faut aussi ajouter le répertoire ORCHIDEE_OL dans modipsl/modeles/ car cette répertoire contient les sources d'ORCHIDEE. Dans modipsl/util/mod.def, modifiez les 2 lignes suivant :

#-C- LMDZOR_v5  IOIPSL/trunk/src                      1660               8  IOIPSL/src modeles
#-C- LMDZOR_v5  trunk/ORCHIDEE                        HEAD               14 ORCHIDEE   modeles

et ajouter 2 lignes :

#-C- LMDZOR_v5  trunk/ORCHIDEE_OL                     HEAD               14 ORCHIDEE_OL modeles
#-C- LMDZOR_v5  trunk/ORCHIDEE_OL                     HEAD               14 ORCHIDEE_OL config

Extrait maintenant le configuration dans modipsl/util: "./model LMDZOR_v5". Ensuite compilez d'abord les librairies le gcm dans modipsl/config/LMDZOR_v5 et ensuite les driver ORCHIDEE dans modipsl/modeles/ORCHIDEE_OL :

cd modipsl/config/LMDZOR_v5
gmake                                                  # Pour librairie ORCHIDEE et le gcm
cd ../../modeles/ORCHIDEE_OL
gmake orchidee_ol; gmake teststomate ; gmake forcesoil # Pour compiler les drivers et linker avec les librairies ORCHIDEE

Attention! Dans ce cas, le repertoire ORCHIDEE_OL est dupliqué dans modeles/ORCHIDEE_OL et dans config/ORCHIDEE_OL. Les sources fortran qui sont utilisés sont ceux dans modeles/ORCHIDEE_OL.

Utilisation

Quand le compilation est faite, on peut maintenant travaillez soit dans config/LMDZOR_v5 pour un expérience couplé LMDZ-ORCHIDEE, soit dans modipsl/config/ORCHIDEE_OL pour un expérience offline.