Changeset 5415 for BOL/LMDZ_Setup/script_SIMU
- Timestamp:
- Dec 17, 2024, 2:02:51 PM (34 hours ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOL/LMDZ_Setup/script_SIMU
r4990 r5415 1 1 #!/bin/bash 2 # 3 #SBATCH --job-name=NOM_SIMU # nom du job 4 #SBATCH -A groupe@cpu 5 #SBATCH --ntasks=8 # Nombre de processus MPI ; reecrit par $mpi calcule par setup.sh 6 #SBATCH --cpus-per-task=8 # Nombre de threads OpenMP ; reecrit par $omp defini dans setup.sh 7 # de Slurm "multithread" fait bien reference a l'hyperthreading. 8 #SBATCH --hint=nomultithread # 1 thread par coeur physique (pas d'hyperthreading) 9 #SBATCH --time=00:30:00 # Temps d execution maximum demande (HH:MM:SS) 10 #SBATCH --output=outNOM_SIMU%j # Nom du fichier de sortie 11 #SBATCH --error=outNOM_SIMU%j # Nom du fichier d'erreur (ici commun avec la sortie) 12 # 13 # To submit to test queue ; "time" (above) must be max 30 min 14 # #SBATCH --qos=qos_cpu-dev 15 16 set -ex 2 ## Headers managed by sed 3 #@JZ#JeanZay 4 #@JZ#SBATCH --job-name=NOM_SIMU # nom du job 5 #@JZ# Nombre de processus MPI : 6 #@JZ#SBATCH --ntasks=8 7 #@JZ##### number of MPI processes per node : 40(procs/node on Jean-Zay) / cpus-per-task (ex : =5 for 8 OMP) 8 #@JZ####SBATCH --ntasks-per-node=5 # if specified, also add "#SBATCH --nodes= ..." with nodes=ntasks/(ntasks-per-node) 9 #@JZ# nombre de threads OpenMP 10 #@JZ#SBATCH --cpus-per-task=8 11 #@JZ# de Slurm "multithread" fait bien reference a l'hyperthreading. 12 #@JZ#SBATCH --hint=nomultithread # 1 thread par coeur physique (pas d'hyperthreading) 13 #@JZ#SBATCH --time=00:30:00 # Temps d execution maximum demande (HH:MM:SS) 14 #@JZ#SBATCH --output=outNOM_SIMU%j # Nom du fichier de sortie 15 #@JZ#SBATCH --error=outNOM_SIMU%j # Nom du fichier d'erreur (ici commun avec la sortie) 16 #@JZ# To submit to test queue ; "time" (above) must be max 30 min 17 #@JZ#TESTQ#SBATCH --qos=qos_cpu-dev 18 #@SP#Spirit 19 #@SP#SBATCH --job-name=NOM_SIMU 20 #@SP#SBATCH --ntasks=8 21 #@SP#SBATCH --cpus-per-task=8 22 #@SP#SBATCH --time=00:30:00 23 #@SP#SBATCH --output=outNOM_SIMU%j 24 #@SP#SBATCH --error=outNOM_SIMU%j 25 #@ADS#Adastra 26 #@ADS#SBATCH --job-name=NOM_SIMU 27 #@ADS#SBATCH --ntasks=8 28 #@ADS#SBATCH --cpus-per-task=8 29 #@ADS#SBATCH --ntasks-per-node=8 30 #@ADS#SBATCH --time=00:30:00 31 #@ADS#SBATCH --output=outNOM_SIMU%j 32 #@ADS#SBATCH --error=outNOM_SIMU%j 33 #@ADS#SBATCH --exclusive 34 35 set -eux 17 36 18 37 # Number of MPI processes : 19 38 ntasks=8 20 21 # For Jean-Zay (replacing the next 3 lines, commented out) 22 export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK 23 ## number of OpenMP threads 24 ##nthreads=8 25 ##export OMP_NUM_THREADS=$nthreads 26 39 # number of OpenMP threads 40 nthreads=8 41 export OMP_NUM_THREADS=$nthreads 42 #@JZ#export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # For Jean-Zay (replacing the next 3 lines, commented out) 27 43 # private memory for each thread 28 44 export OMP_STACKSIZE=800M 29 # Binding 30 export OMP_PLACES=cores 45 46 47 #@JZ#export OMP_PLACES=cores # "binding" present in old script_SIMU, but terribly reduces performance on Spirit... 48 ulimit -s unlimited 49 #@SP ulimit -Ss 8192 31 50 32 51 simul=NOM_SIMU 33 ulimit -s unlimited34 52 35 53 reseau_local=0 36 54 #veget=y 37 55 veget=CMIP6 38 if [ $veget = NONE ] ; then VEGET=n ; else VEGET=y ; fi56 if [[ $veget = "none" ]] ; then VEGET=n ; else VEGET=y ; fi 39 57 40 58 isotopes=n … … 46 64 ok_guide=y # y/n guidage ou non 47 65 climato=1 48 orchidee_rev=500449 66 50 67 echo '##############################################################' … … 61 78 # Repertoires de travail 62 79 WWORKD=$SCRATCHD/$SIMU_dir$$ 80 if [[ -d $WWORKD ]]; then # useful when running on local computer, where jobs aren't submitted 81 rm -rf "$WWORKD" 82 fi 63 83 mkdir -p $WWORKD 64 84 cd $WWORKD 65 85 SCRIPTDIR=$SCRATCHD/$MAINDIR 66 86 67 cp $STORED/$MAINDIR/lmdz_env.sh . ; . lmdz_env.sh 87 cp "$STORED/$MAINDIR/lmdz_env.sh" .; . lmdz_env.sh 88 cp "$STORED/$MAINDIR/slurm_set_cpu_binding.sh" . 89 68 90 ERADIR=$STORED/$MAINDIR/GUIDE 69 91 if [ "$aerosols" = "spla" ] ; then ERA10mDIR=$STORED/$MAINDIR/ERA10m ; fi … … 128 150 if [ "$climato" = "0" ] ; then calend=gregorian ; else calend=earth_360d ; fi 129 151 bisextile=0 130 if [ $(( $year % 4 )) = 0 -a $calend = gregorian] ; then bisextile=1 ; fi152 if [[ $(( year % 4 )) = 0 && $calend = gregorian ]] ; then bisextile=1 ; fi 131 153 if [ $paran = 0 ] ; then 132 154 if [ "$calend" = "gregorian" ] ; then … … 206 228 fi 207 229 208 ## Ca doit etre la meme liste de fichiers rapatriee par setup.sh dans $LMDZ_I nit/SPLA_Init230 ## Ca doit etre la meme liste de fichiers rapatriee par setup.sh dans $LMDZ_INIT/SPLA_Init 209 231 ## et interpolee (setup.sh aussi) dans $SPLADIR 210 232 if [ $aerosols = spla ] ; then … … 239 261 set +e ; for t in stomate sechiba ; do cp $SIMUDIR/start_$t.$ym.nc ${t}_rest_in.nc ; done ; set -e 240 262 if [ "`grep RIVER_ROUTING orchidee.def |grep -i y`" ] ; then 241 set +e ; ln -s $LMDZ_I nit/routing_simple.nc . ; ln -s $LMDZ_Init/routing.nc .263 set +e ; ln -s $LMDZ_INIT/routing_simple.nc . ; ln -s $LMDZ_INIT/routing.nc . 242 264 cp $SIMUDIR/start_routing.$ym.nc routing_start.nc ; set -e 243 265 fi … … 251 273 if [ ! -f sechiba_rest_in.nc ] ; then 252 274 echo '#########################################################' 253 echo Autoinitialisation d orchidee au besoin275 echo "Autoinitialisation d'orchidee au besoin" 254 276 echo '#########################################################' 255 get="ln -s $LMDZ_I nit/"277 get="ln -s $LMDZ_INIT/" 256 278 for file in cartepente2d_15min.nc \ 257 279 lai2D.nc soils_param.nc soil_bulk_and_ph.nc alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc ; do ${get}$file ; done … … 268 290 269 291 if [ $veget = 7994 ] ; then 270 get="ln -s $LMDZ_I nit/"292 get="ln -s $LMDZ_INIT/" 271 293 for file in ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc ; do ${get}$file ; done 272 294 fi … … 285 307 if [ -f u.nc ] ; then 286 308 echo PROBLEME D EFFACEMENT DES FICHIERS DE REANALYSES 287 exit 309 exit 1 288 310 fi 289 311 for var in u v T hur ; do $GET $ERADIR/$year/$month/$var.nc $var.nc ; done … … 301 323 echo '##################################################################' 302 324 303 time $run ./gcm.e > listing 325 #@ADS if 1; then 326 time $MPICMD $ntasks ./gcm.e > listing 327 #@ADS else 328 #@ADS srun --cpu-bind=none --mem-bind=none -- ./slurm_set_cpu_binding.sh ./gcm.e > listing 329 #@ADS fi 330 304 331 if [ ! -f restartphy.nc ] ; then 305 332 echo PROBLEME PAS DE FICHIER RESTARTPHY … … 375 402 if [ $num -le 250 ] ; then 376 403 sed -e 's/^simul=.*.$/simul='$simul_new'/' -e 's/^\# @ job_nam.*.=.*.$/\# @ job_name = '$simul_new'/' tmp_$simul >| tmp_$simul_new 377 sbatchtmp_$simul_new404 $SUBMITCMD tmp_$simul_new 378 405 fi 379 406 fi … … 389 416 390 417 cd $SCRIPTDIR 391 sbatchtmp_$simul418 $SUBMITCMD tmp_$simul
Note: See TracChangeset
for help on using the changeset viewer.