= __Modipsl__ = '''[wiki:platform/documentation_2012 Index]/[wiki:Modipsl_basic Modipsl]''' [[PageOutline]] [[BR]][[BR]] == 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 }}} [[BR]][[BR]] == 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 [wiki:igcmg/Documentation#IGCMGSVN:subversionaccess ici] [[BR]][[BR]] == Pour en savoir plus sur SVN == * Le site officiel de subversion : http://subversion.tigris.org/ * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svn_p.html Présentation de SVN (Jacques Bellier)] * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svn_swt.html SVN commandes] * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svnqref.html SVN quick reference guide] * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/key_ssh.html Mémo sur la gestion des clés ssh] * [http://forge.ipsl.jussieu.fr/inca/wiki/InstSvnInca Quelques commandes de base pour SVN (Anne Cozic)] * [http://wiki.ipsl.jussieu.fr/Pole/ESCI?action=AttachFile&do=get&target=Subversion_2008.pdf Point sur l'utilisation de SVN (Marie-Alice Foujols)] (accès restreint) [[BR]][[BR]] == 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. [[BR]] {{{ 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. [[BR]][[BR]] == 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. [[BR]][[BR]] == 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. [[BR]][[BR]] == 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) [[BR]] 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/). [[BR]] Cette configuration vous permettra de compiler l'ensemble des modèles, puis de lancer une simulation; [[BR]][[BR]] == 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. [[BR]] 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'''[[BR]] 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'''[[BR]] 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'''[[BR]] 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.