Concepts 3.0
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
le résultat OPA -> GEM
voir -iment weights_nemo_to_gem.fst NOMV TV ETIQUETTE NI NJ NK (DATE-O h m s) IP1 IP2 IP3 DEET NPAS DTY G IG1 IG2 IG3 IG4 0- >> X GRDZ 470 1 1 00000000 000000 278 1298 0 0 0 E 32 E 1140 620 2704 16000 1- ^^ X GRDZ 1 290 1 00000000 000000 278 1298 0 0 0 E 32 E 1140 620 2704 16000 2- ANG P@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 E 32 Z 278 1298 0 0 3- ANG @@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 I 1 Z 278 1298 0 0 4- LAT P SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 E 32 Z 278 1298 0 0 5- LON P SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 E 32 Z 278 1298 0 0 6- SSH P@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 X 32 Z 278 1298 0 0 7- NAVG P@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 X 32 Z 278 1298 0 0 8- W001 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 E 64 Z 278 1298 0 0 9- I001 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 10- J001 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 11- W002 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 E 64 Z 278 1298 0 0 12- I002 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 13- J002 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 ....... 62- W019 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 E 64 Z 278 1298 0 0 63- I019 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 64- J019 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 65- W020 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 E 64 Z 278 1298 0 0 66- I020 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 67- J020 P WEIGHTS 470 290 1 20080105 000000 15728640 0 0 86400 0 I 16 Z 278 1298 0 0 68- SSH @@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 I 1 Z 278 1298 0 0 69- NAVG @@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 I 1 Z 278 1298 0 0 NOMV TV ETIQUETTE NI NJ NK (DATE-O h m s) IP1 IP2 IP3 DEET NPAS DTY G IG1 IG2 IG3 IG4 70- MASK @@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 I 1 Z 278 1298 0 0 71- MAGR @@ SEA SURFACE 470 290 1 20080105 000000 15728640 0 0 86400 0 I 1 Z 278 1298 0 0
le résultat GEM -> OPA
voir -iment weights_gem_to_nemo.fst NOMV TV ETIQUETTE NI NJ NK (DATE-O h m s) IP1 IP2 IP3 DEET NPAS DTY G IG1 IG2 IG3 IG4 0- >> PP NEMO-LON 528 603 1 19500101 000000 1001 1002 1003 86400 0 X 32 L 100 100 9000 0 1- ^^ PP NEMO-LAT 528 603 1 19500101 000000 1001 1002 1003 86400 0 X 32 L 100 100 9000 0 2- ANG P@ 528 603 1 00000000 000000 0 0 0 0 0 E 32 X 1001 1002 1003 0 3- ANG @@ 528 603 1 00000000 000000 0 0 0 0 0 I 1 X 1001 1002 1003 0 4- LAT P 528 603 1 00000000 000000 0 0 0 0 0 E 32 X 1001 1002 1003 0 5- LON P 528 603 1 00000000 000000 0 0 0 0 0 E 32 X 1001 1002 1003 0 6- ZP C@ 528 603 1 00000000 000000 0 0 0 0 0 E 32 X 1001 1002 1003 0 7- NAVG C@ 528 603 1 00000000 000000 0 0 0 0 0 E 32 X 1001 1002 1003 0 8- W001 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 E 64 X 1001 1002 1003 0 9- I001 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 10- J001 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 11- W002 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 E 64 X 1001 1002 1003 0 12- I002 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 13- J002 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 14- W003 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 E 64 X 1001 1002 1003 0 15- I003 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 16- J003 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 17- W004 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 E 64 X 1001 1002 1003 0 18- I004 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 19- J004 P WEIGHTS 528 603 1 00000000 000000 0 0 0 0 0 I 16 X 1001 1002 1003 0 20- ZP @@ 528 603 1 00000000 000000 0 0 0 0 0 I 1 X 1001 1002 1003 0 21- NAVG @@ 528 603 1 00000000 000000 0 0 0 0 0 I 1 X 1001 1002 1003 0 22- MASK @@ 528 603 1 00000000 000000 0 0 0 0 0 I 1 X 1001 1002 1003 0 23- MAGR @@ 528 603 1 00000000 000000 0 0 0 0 0 I 1 X 1001 1002 1003 0