Concepts 3.0 : Différence entre versions
m |
m |
||
Ligne 1: | Ligne 1: | ||
+ | == NEMO/OPA == | ||
+ | |||
=== SETUP NEMO/OPA avec concepts 3.0 === | === SETUP NEMO/OPA avec concepts 3.0 === | ||
<pre> | <pre> |
Version depuis le 21 d'avril 2015 à 18:34
Matières
NEMO/OPA
SETUP NEMO/OPA avec concepts 3.0
source s.ssmuse.dot nemo (st/skynet/beluga/postes de travail) source s.ssmuse.dot nemo-s (guillimin) s'assurer que le répertoire $HOME/data/$TRUE_HOST existe et n'est pas sur le même "filesystem" que $HOME true_path -n $HOME et true_path -n $HOME/data/$TRUE_HOST ne devraient pas commencer de la même manière exemple OK: [user]$ true_path -n $HOME /sb/home/user [user]$ true_path -n $HOME/data/$TRUE_HOST /gs/project/abc-789/user/guillimin exemple PAS OK: [user]$ true_path -n $HOME /sb/home/user [user]$ true_path -n $HOME/data/$TRUE_HOST /sb/home/user/data/guillimin s'assurer que le repertoire $HOME/CONCEPTS_3.0.0 n'existe pas déjà NOTES: - nemo coexiste mal avec d'autres packages. - ce raccourci charge tous les éléments nécessaires à la production d'un exécutable. - la présence d'autres éléments logiciels peut facilement entrer en conflit avec les besoins de nemo et créer des erreurs de toutes sortes. install_concepts.ksh install_concepts.ksh -arch /bin/rm -rf $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK vi $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/UTIL/fait_config # refaire config de code, pas necessaire pour cfg standard vi $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/util/AA_make.gdef #params generaux de compilation selon les architectures (en mode couple, ca prend #-Q- linux64 ARMN_LIB= -lrpn_comm_40510 -lrmn_013 -lmassvp4 ou l'equivalent) cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/UTIL fait_config CMC # ajustement de WORK cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO ../UTIL/fait_AA_make # aller prendre un cafe vi $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/config/CMC/scripts/BB_make.ldef # changer seulement les clefs de compilation prendre ORCA2 comme demo cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/util clr_make ins_make -t linux64 # (-t linux, -t aixp7) cd $HOME/CONCEPTS_3.0.0 . linkme cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/config/CMC # premiere compilation cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK # nemo seulement make clean # (gmake sur systemes autres que linux) make all pour trouver l'exécutable opa: find $HOME/data/$TRUE_HOST/ -name 'opa'
Changement de clefs define seulement ==> Refaire a partir de clr_make et ins_make
Ajout de nouvelles clefs ou nouveaux modules ==> Refaire a partir de fait_AA_make
Les nouveaux modules doivent pointer sur des repertoires source de NEMO, ne pas mettre les fichiers dans
$HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK
(voir section gestion du code)
pour la configuration MPI, editer le fichier $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK/par_oce.F90
pour modifier ce fichier, on doit d'abord en obtenir une copie locale en se servant de
cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK NEMO_import.ksh par_oce.F90
pour modifier tout autre fichier
cd $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK NEMO_import.ksh le_fichier.F90
avec CICE
pour utiliser cice comme modele de glace
s'assurer que le repertoire ${HOME}/CICECMC_2.2.0 n'existe pas install_cice.ksh cd ${HOME}/CICECMC_2.2.0/cice4.0_cmc ./clean_ice ./comp_ice.ORCA1_16_square_NEMO_UQAM (ou toute autre configuration UQAM) ( comp_ice.CREG025_32_NEMO_UQAM , comp_ice.CREG025_64_NEMO_UQAM , comp_ice.CREG025_144_NEMO_UQAM ) vi $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/config/CMC/scripts/BB_make.ldef (editer les cles de maniere appropriee) vi $HOME/CONCEPTS_3.0.0/nemo3_1_cmc/modipsl/modeles/NEMO/WORK/par_oce.F90 (les configs MPI doivent etre les memes pour NEMO et CICE) refaire l'executable opa
calcul des poids d'interpolation
# un petit exemple # fichier de sortie CREG025 , contenant la variable SSH # fichier de sortie GEM , contenant la variable ZP sortie_ocean=CREG025-CMC-HCST_y2008m01d05h00m00_gridT2D.std sortie_atm=OutputReferenceGEM.fst # poids pour interpoler de OPA a GEM (OPA non global, GEM non global) cstintrp -fs $sortie_ocean -ns SSH -fstype custom -fr $sortie_atm -nr ZP -fd weights_nemo_to_gem.fst -fdtype rpn -naggrmax 50 -glbsrc F -owgts T # poids pour interpoler de GEM a OPA (OPA non global, GEM non global) cstintrp -fs $sortie_atm -ns ZP -fstype rpn -fr $sortie_ocean -nr SSH -fd weights_gem_to_nemo.fst -fdtype custom -naggrmax 50 -glbsrc F -owgts T