= Pour mettre en place et réaliser une simulation Aquaplanète sur Jean Zay == 1. Récupération les sources des composants: {{{ svn co --revision 3679 http://svn.lmd.jussieu.fr/LMDZ/LMDZ6/trunk LMDZ svn co --revision 1025 http://forge.ipsl.jussieu.fr/dynamico/svn/codes/icosagcm/trunk DYNAMICO svn co --revision 1868 http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS svn co --revision 431 http://forge.ipsl.jussieu.fr/heat/svn/codes/dynamico_lmdz/aquaplanet/IOIPSL svn co --revision 431 http://forge.ipsl.jussieu.fr/heat/svn/codes/dynamico_lmdz/aquaplanet/ICOSA_LMDZ svn co --revision 431 http://forge.ipsl.jussieu.fr/heat/svn/codes/dynamico_lmdz/aquaplanet/ARCH }}} == 2. Adaptations, modifications et ajouts à faire * Ajouter un fichier arch-X64_JEANZAY.fcm dans IOIPSL/arch/ (par exemple celui de DYNAMICO/arch) * Ajouter des fichiers arch-X64_JEANZAY.env et arch-X64_JEANZAY.path dans ARCH/ (par exemple ceux de de DYNAMICO/arch) * Adapter les scripts "compile" et "make_icosa_lmdz" dans ICOSA_LMDZ/: {{{ # svn diff make_icosa_lmdz Index: make_icosa_lmdz =================================================================== --- make_icosa_lmdz (revision 431) +++ make_icosa_lmdz (working copy) @@ -202,7 +202,8 @@ then cd ../IOIPSL - ./makeioipsl_fcm -$compil_mode -parallel -arch $arch -arch_path $arch_path -j $job $full_flag || exit 1 +# ./makeioipsl_fcm -$compil_mode -parallel -arch $arch -arch_path $arch_path -j $job $full_flag || exit 1 + ./makeioipsl_fcm -$compil_mode -arch $arch -arch_path $arch_path -j $job $full_flag || exit 1 cd - cd ../XIOS @@ -222,7 +223,8 @@ then lmdz_veget="orchidee2.0 -cpp ORCHIDEE_NOZ0H" fi - ./makelmdz_fcm -p $phys $phys_opt -rrtm $rrtm -$compil_mode -mem -parallel $parallel -libphy -io xios -v $lmdz_veget -arch $arch -arch_path $arch_path -j $job $full_flag || exit 1 +# ./makelmdz_fcm -p $phys $phys_opt -rrtm $rrtm -$compil_mode -mem -parallel $parallel -libphy -io xios -v $lmdz_veget -arch $arch -arch_path $arch_path -j $job $full_flag || exit 1 + ./makelmdz_fcm -p $phys $phys_opt -rrtm $rrtm -$compil_mode -mem -parallel $parallel -libphy -io xios -v $lmdz_veget -arch $arch -j $job $full_flag || exit 1 cd - cd ../DYNAMICO }}} Afin que le script puisse compiler les composantes en un coup, mais attention de ne pas utiliser les ARCH "générales" pour LMDZ qui ne suit pas les règles des autres composantes (pour le fichier arch.path) {{{ svn diff compile Index: compile =================================================================== --- compile (revision 431) +++ compile (working copy) @@ -1 +1,2 @@ -make_icosa_lmdz -debug -parallel mpi_omp -p lmd -with_orchidee -arch X64_ADA -arch_path ../ARCH -job 8 +#make_icosa_lmdz -debug -parallel mpi_omp -p lmd -with_orchidee -arch X64_ADA -arch_path ../ARCH -job 8 +make_icosa_lmdz -debug -parallel mpi_omp -p lmd -arch X64_JEANZAY -arch_path ../ARCH -job 8 }}} Afin de compiler sans ORCHIDEE == 3. Mise en place la simulation Par exemple dans un répertoire "test_ini_aquaplanet" au même niveau que DYNAMICO, LMDZ, XIOS, etc. 1. Récupérer exécutable et fichiers xml pour la dynamique {{{ mv ../ICOSA_LMDZ/bin/icosa_lmdz.exe . cp ../DYNAMICO/xml/* . }}} Et adapter le fichier iodef.xml (pour y ajouter les références aux fichiers LMDZ): {{{ }}} 2. Récupérer les fichiers xml de LMDZ: {{{ cp ../LMDZ/DefLists/context_lmdz.xml . cp ../LMDZ/DefLists/context_input_lmdz.xml . cp ../LMDZ/DefLists/field_def_lmdz.xml . cp ../LMDZ/DefLists/field_def_cosp1.xml . cp ../LMDZ/DefLists/file_def_hist*xml . }}} Et corriger tous les "_auto_" qui y trainent... 3. Faire les fichiers .def qui vont bien en précisant en particulier create_etat0_limit=y et iflag_phys = 101 4. Ecrire le job qui va bien, par exemple: {{{ #!/bin/bash #SBATCH -A dzt@cpu # account on which the job should run #SBATCH --job-name=job.mpi #job name #SBATCH --partition=cpu_p1 # job partition #SBATCH --ntasks=20 # number of MPI processes #SBATCH --ntasks-per-node=20 # number of MPI processes per node #SBATCH --hint=nomultithread #no hyperthreading #SBATCH --time=00:45:00 # Max run time #SBATCH --output=job.mpi_%j.out # job stdout file #SBATCH --error=job.mpi_%j.out # job stderr file (same as stdout here) #SBATCH --exclusive # to have the whole node #0. General stuff set -ex ## environment module purge # go to job submission directory cd ${SLURM_SUBMIT_DIR} #1. Run GCM export OMP_NUM_THREADS=1 source ../ARCH/arch-X64_JEANZAY.env #srun --label --multi-prog ./mpmd.conf > icosa_lmdz.out 2>&1 srun --label icosa_lmdz.exe > icosa_lmdz.out 2>&1 }}}