- Timestamp:
- 2019-10-29T18:14:49+01:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH
- Files:
-
- 1 deleted
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/best_jpni_jpnj_eorca025
r9856 r11831 624 624 nb_cores 36180 ( 180 x 201 ), nb_points 80 ( 10 x 8 ) 625 625 nb_cores 38560 ( 160 x 241 ), nb_points 77 ( 11 x 7 ) 626 nb_cores 41406 ( 206 x 201 ), nb_points 72 ( 9 x 8 ) 627 nb_cores 43380 ( 180 x 241 ), nb_points 70 ( 10 x 7 ) 628 nb_cores 48240 ( 240 x 201 ), nb_points 64 ( 8 x 8 ) 629 nb_cores 49646 ( 206 x 241 ), nb_points 63 ( 9 x 7 ) 630 nb_cores 54360 ( 180 x 302 ), nb_points 60 ( 10 x 6 ) 631 nb_cores 54360 ( 360 x 151 ), nb_points 60 ( 6 x 10 ) 632 nb_cores 57840 ( 240 x 241 ), nb_points 56 ( 8 x 7 ) 633 nb_cores 62212 ( 206 x 302 ), nb_points 54 ( 9 x 6 ) 634 nb_cores 69408 ( 288 x 241 ), nb_points 49 ( 7 x 7 ) 635 nb_cores 72360 ( 360 x 201 ), nb_points 48 ( 6 x 8 ) 636 nb_cores 82812 ( 206 x 402 ), nb_points 45 ( 9 x 5 ) 637 nb_cores 86760 ( 360 x 241 ), nb_points 42 ( 6 x 7 ) 638 nb_cores 96480 ( 240 x 402 ), nb_points 40 ( 8 x 5 ) 639 nb_cores 96480 ( 480 x 201 ), nb_points 40 ( 5 x 8 ) -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/best_jpni_jpnj_eorca12
r9856 r11831 1300 1300 nb_cores 49852 ( 206 x 242 ), nb_points 345 ( 23 x 15 ) 1301 1301 nb_cores 49950 ( 270 x 185 ), nb_points 342 ( 18 x 19 ) 1302 nb_cores 50400 ( 288 x 175 ), nb_points 340 ( 17 x 20 ) 1303 nb_cores 50400 ( 240 x 210 ), nb_points 340 ( 20 x 17 ) 1304 nb_cores 51294 ( 309 x 166 ), nb_points 336 ( 16 x 21 ) 1305 nb_cores 52272 ( 216 x 242 ), nb_points 330 ( 22 x 15 ) 1306 nb_cores 53190 ( 270 x 197 ), nb_points 324 ( 18 x 18 ) 1307 nb_cores 53280 ( 288 x 185 ), nb_points 323 ( 17 x 19 ) 1308 nb_cores 54000 ( 240 x 225 ), nb_points 320 ( 20 x 16 ) 1309 nb_cores 55176 ( 228 x 242 ), nb_points 315 ( 21 x 15 ) 1310 nb_cores 56199 ( 393 x 143 ), nb_points 312 ( 13 x 24 ) 1311 nb_cores 56700 ( 270 x 210 ), nb_points 306 ( 18 x 17 ) 1312 nb_cores 57165 ( 309 x 185 ), nb_points 304 ( 16 x 19 ) 1313 nb_cores 58080 ( 240 x 242 ), nb_points 300 ( 20 x 15 ) 1314 nb_cores 58916 ( 206 x 286 ), nb_points 299 ( 23 x 13 ) 1315 nb_cores 59760 ( 360 x 166 ), nb_points 294 ( 14 x 21 ) 1316 nb_cores 60480 ( 288 x 210 ), nb_points 289 ( 17 x 17 ) 1317 nb_cores 60750 ( 270 x 225 ), nb_points 288 ( 18 x 16 ) 1318 nb_cores 61605 ( 333 x 185 ), nb_points 285 ( 15 x 19 ) 1319 nb_cores 63000 ( 360 x 175 ), nb_points 280 ( 14 x 20 ) 1320 nb_cores 64800 ( 288 x 225 ), nb_points 272 ( 17 x 16 ) 1321 nb_cores 65340 ( 270 x 242 ), nb_points 270 ( 18 x 15 ) 1322 nb_cores 66600 ( 360 x 185 ), nb_points 266 ( 14 x 19 ) 1323 nb_cores 68040 ( 216 x 315 ), nb_points 264 ( 22 x 12 ) 1324 nb_cores 68640 ( 240 x 286 ), nb_points 260 ( 20 x 13 ) 1325 nb_cores 69525 ( 309 x 225 ), nb_points 256 ( 16 x 16 ) 1326 nb_cores 69696 ( 288 x 242 ), nb_points 255 ( 17 x 15 ) 1327 nb_cores 70920 ( 360 x 197 ), nb_points 252 ( 14 x 18 ) 1328 nb_cores 72705 ( 393 x 185 ), nb_points 247 ( 13 x 19 ) 1329 nb_cores 74778 ( 309 x 242 ), nb_points 240 ( 16 x 15 ) 1330 nb_cores 75600 ( 360 x 210 ), nb_points 238 ( 14 x 17 ) 1331 nb_cores 77220 ( 270 x 286 ), nb_points 234 ( 18 x 13 ) 1332 nb_cores 79680 ( 480 x 166 ), nb_points 231 ( 11 x 21 ) 1333 nb_cores 79920 ( 432 x 185 ), nb_points 228 ( 12 x 19 ) 1334 nb_cores 80586 ( 333 x 242 ), nb_points 225 ( 15 x 15 ) 1335 nb_cores 81000 ( 360 x 225 ), nb_points 224 ( 14 x 16 ) 1336 nb_cores 82368 ( 288 x 286 ), nb_points 221 ( 17 x 13 ) 1337 nb_cores 84000 ( 480 x 175 ), nb_points 220 ( 11 x 20 ) 1338 nb_cores 84000 ( 240 x 350 ), nb_points 220 ( 20 x 11 ) 1339 nb_cores 85050 ( 270 x 315 ), nb_points 216 ( 18 x 12 ) 1340 nb_cores 87120 ( 360 x 242 ), nb_points 210 ( 14 x 15 ) 1341 nb_cores 88374 ( 309 x 286 ), nb_points 208 ( 16 x 13 ) 1342 nb_cores 90720 ( 288 x 315 ), nb_points 204 ( 17 x 12 ) 1343 nb_cores 90720 ( 432 x 210 ), nb_points 204 ( 12 x 17 ) 1344 nb_cores 94500 ( 270 x 350 ), nb_points 198 ( 18 x 11 ) 1345 nb_cores 94680 ( 360 x 263 ), nb_points 196 ( 14 x 14 ) 1346 nb_cores 95106 ( 393 x 242 ), nb_points 195 ( 13 x 15 ) 1347 nb_cores 97200 ( 432 x 225 ), nb_points 192 ( 12 x 16 ) 1348 nb_cores 99900 ( 540 x 185 ), nb_points 190 ( 10 x 19 ) -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/namelist_cfg_orca025_like
r10539 r11831 9 9 nn_it000 = 1 ! first time step 10 10 nn_itend = 1000 ! last time step 11 nn_stock = 0! frequency of creation of a restart file (modulo referenced to 1)12 nn_write = 0! frequency of write in the output file (modulo referenced to nn_it000)11 nn_stock = -1 ! frequency of creation of a restart file (modulo referenced to 1) 12 nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) 13 13 / 14 14 !----------------------------------------------------------------------- … … 30 30 &namctl ! Control prints (default: OFF) 31 31 !----------------------------------------------------------------------- 32 ln_ctl = .false. ! trends control print (expensive!)33 32 nn_print = 0 ! level of print (0 no extra print) 34 33 ln_timing = .false. ! timing by routine write out in timing.output file -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/namelist_cfg_orca12_like
r10539 r11831 9 9 nn_it000 = 1 ! first time step 10 10 nn_itend = 1000 ! last time step 11 nn_stock = 0! frequency of creation of a restart file (modulo referenced to 1)12 nn_write = 0! frequency of write in the output file (modulo referenced to nn_it000)11 nn_stock = -1 ! frequency of creation of a restart file (modulo referenced to 1) 12 nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) 13 13 / 14 14 !----------------------------------------------------------------------- … … 30 30 &namctl ! Control prints (default: OFF) 31 31 !----------------------------------------------------------------------- 32 ln_ctl = .false. ! trends control print (expensive!)33 32 nn_print = 0 ! level of print (0 no extra print) 34 33 ln_timing = .false. ! timing by routine write out in timing.output file -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/namelist_cfg_orca1_like
r10539 r11831 9 9 nn_it000 = 1 ! first time step 10 10 nn_itend = 1000 ! last time step 11 nn_stock = 0! frequency of creation of a restart file (modulo referenced to 1)12 nn_write = 0! frequency of write in the output file (modulo referenced to nn_it000)11 nn_stock = -1 ! frequency of creation of a restart file (modulo referenced to 1) 12 nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) 13 13 / 14 14 !----------------------------------------------------------------------- … … 30 30 &namctl ! Control prints (default: OFF) 31 31 !----------------------------------------------------------------------- 32 ln_ctl = .false. ! trends control print (expensive!)33 32 nn_print = 0 ! level of print (0 no extra print) 34 33 ln_timing = .false. ! timing by routine write out in timing.output file -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/namelist_ice_cfg
r10179 r11831 74 74 &namini ! Ice initialization 75 75 !------------------------------------------------------------------------------ 76 rn_thres_sst = 0.5 ! max delta temp. above Tfreeze with initial ice = (sst - tfreeze) 76 77 / 77 78 !------------------------------------------------------------------------------ -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/namelist_top_cfg
r10343 r11831 57 57 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 58 58 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 59 sn_trcdta(1) = 'data_DIC_nomask' , -12 60 sn_trcdta(2) = 'data_Alkalini_nomask' , -12 61 sn_trcdta(3) = 'data_O2_nomask' , -1 62 sn_trcdta(5) = 'data_PO4_nomask' , -1 63 sn_trcdta(7) = 'data_Si_nomask' , -1 64 sn_trcdta(10) = 'data_DOC_nomask' , -12 65 sn_trcdta(14) = 'data_Fer_nomask' , -12 66 sn_trcdta(23) = 'data_NO3_nomask' , -1 59 sn_trcdta(1) = 'data_DIC_nomask' , -12. , 'DIC' , .false. , .true. , 'yearly' , '' , '' , '' 60 sn_trcdta(2) = 'data_Alkalini_nomask' , -12. , 'Alkalini', .false. , .true. , 'yearly' , '' , '' , '' 61 sn_trcdta(3) = 'data_O2_nomask' , -1. , 'O2' , .true. , .true. , 'yearly' , '' , '' , '' 62 sn_trcdta(5) = 'data_PO4_nomask' , -1. , 'PO4' , .true. , .true. , 'yearly' , '' , '' , '' 63 sn_trcdta(7) = 'data_Si_nomask' , -1. , 'Si' , .true. , .true. , 'yearly' , '' , '' , '' 64 sn_trcdta(10) = 'data_DOC_nomask' , -12. , 'DOC' , .false. , .true. , 'yearly' , '' , '' , '' 65 sn_trcdta(14) = 'data_Fer_nomask' , -12. , 'Fer' , .false. , .true. , 'yearly' , '' , '' , '' 66 sn_trcdta(23) = 'data_NO3_nomask' , -1. , 'NO3' , .true. , .true. , 'yearly' , '' , '' , '' 67 67 rn_trfac(1) = 1.0e-06 ! multiplicative factor 68 68 rn_trfac(2) = 1.0e-06 ! - - - - -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/sh_bench
r9869 r11831 9 9 machine=$( hostname | sed -e "s/[0-9]*//g" ) 10 10 case $machine in 11 "jean-zay") ncore_node=40 ;; 11 12 "beaufixlogin") ncore_node=40 ;; 12 13 "curie") ncore_node=16 ;; -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/EXPREF/submit_bench
r9870 r11831 6 6 # 7 7 set -u 8 set -vx8 #set -vx 9 9 # 10 10 cores=$1 … … 15 15 # 16 16 # number of processes for each executable 17 nproc_exe1=$( echo $cores | bc ) 18 (( nproc = $nproc_exe1 )) 19 (( nnode = $nproc / $ncore_node )) 20 [ $nnode -lt 1 ] && nnode=1 17 nproc_exe1=$( echo $cores | bc ) 18 nproc=$nproc_exe1 19 nnode=$(( ( $nproc + $ncore_node - 1 ) / $ncore_node )) 21 20 22 21 nproc5=$( printf "%05d\n" ${nproc_exe1} ) 22 23 case ${resolution} in 24 "1") 25 if [ $nproc_exe1 -lt 50 ] 26 then 27 timejob=3600 28 elif [ $nproc_exe1 -lt 100 ] 29 then 30 timejob=1800 31 elif [ $nproc_exe1 -lt 200 ] 32 then 33 timejob=900 34 else 35 timejob=600 36 fi 37 ;; 38 "025") 39 if [ $nproc_exe1 -lt 50 ] 40 then 41 timejob=15000 42 elif [ $nproc_exe1 -lt 100 ] 43 then 44 timejob=7000 45 elif [ $nproc_exe1 -lt 200 ] 46 then 47 timejob=3600 48 elif [ $nproc_exe1 -lt 400 ] 49 then 50 timejob=2000 51 elif [ $nproc_exe1 -lt 800 ] 52 then 53 timejob=1000 54 else 55 timejob=600 56 fi 57 ;; 58 "12") 59 if [ $nproc_exe1 -lt 200 ] 60 then 61 timejob=30000 62 elif [ $nproc_exe1 -lt 400 ] 63 then 64 timejob=15000 65 elif [ $nproc_exe1 -lt 800 ] 66 then 67 timejob=20000 68 elif [ $nproc_exe1 -lt 1600 ] 69 then 70 timejob=15000 71 elif [ $nproc_exe1 -lt 3200 ] 72 then 73 timejob=7500 74 elif [ $nproc_exe1 -lt 10000 ] 75 then 76 timejob=5000 77 elif [ $nproc_exe1 -lt 20000 ] 78 then 79 timejob=2500 80 else 81 timejob=1200 82 fi 83 ;; 84 esac 85 23 86 24 87 ###################################################################### … … 100 163 if [[ ( "$machine" == "curie" ) || ( "$machine" == "irene" ) ]] 101 164 then 102 103 case ${resolution} in104 "1")105 if [ $nproc_exe1 -lt 50 ]106 then107 timejob=3600108 elif [ $nproc_exe1 -lt 100 ]109 then110 timejob=1800111 elif [ $nproc_exe1 -lt 200 ]112 then113 timejob=900114 else115 timejob=600116 fi117 ;;118 "025")119 if [ $nproc_exe1 -lt 50 ]120 then121 timejob=15000122 elif [ $nproc_exe1 -lt 100 ]123 then124 timejob=7000125 elif [ $nproc_exe1 -lt 200 ]126 then127 timejob=3600128 elif [ $nproc_exe1 -lt 400 ]129 then130 timejob=2000131 elif [ $nproc_exe1 -lt 800 ]132 then133 timejob=1000134 else135 timejob=600136 fi137 ;;138 "12")139 if [ $nproc_exe1 -lt 200 ]140 then141 timejob=30000142 elif [ $nproc_exe1 -lt 400 ]143 then144 timejob=15000145 elif [ $nproc_exe1 -lt 800 ]146 then147 timejob=8000148 elif [ $nproc_exe1 -lt 1600 ]149 then150 timejob=5000151 elif [ $nproc_exe1 -lt 3200 ]152 then153 timejob=2500154 else155 timejob=1200156 fi157 ;;158 esac159 165 160 166 [ "$machine" == "curie" ] && queuename=standard || queuename=skylake 161 167 162 jobname=$HOME/binrun/jobbench 168 EXPjob=../EXP_${resolution}_${nproc5}_${dateref} 169 mkdir -p ${EXPjob} 170 cd ${EXPjob} 171 jobname=jobbench 163 172 cat > $jobname << EOF 164 173 #!/bin/bash … … 176 185 # 177 186 178 cd \${BRIDGE_MSUB_PWD}/.. 179 180 181 EXPjob=EXP_${resolution}_${nproc5}_${dateref} 182 rsync -av --exclude="*eo" EXPREF/ \${EXPjob}/ 183 rsync -av EXP00/nemo \${EXPjob}/nemo 184 cd \${EXPjob} 187 cd \${BRIDGE_MSUB_PWD} 188 189 for ff in \${BRIDGE_MSUB_PWD}/../EXPREF/namelist_*cfg \${BRIDGE_MSUB_PWD}/../EXPREF/namelist_*ref \${BRIDGE_MSUB_PWD}/../BLD/bin/nemo.exe 190 do 191 cp \$ff . 192 done 185 193 186 194 jpni=${cores/\**/} 187 195 jpnj=${cores/?*\*/} 188 196 189 sed -e "s/jpni *=.*/jpni = \${jpni}/" -e "s/jpnj *=.*/jpnj = \${jpnj}/" namelist_cfg_orca${resolution}_like > namelist_cfg 190 191 time ccc_mprun -n \${BRIDGE_MSUB_NPROC} ./nemo > jobout_${resolution}_${nproc5}_${dateref} 197 sed -e "s/jpni *=.*/jpni = \${jpni}/" \ 198 -e "s/jpnj *=.*/jpnj = \${jpnj}/"\ 199 -e "s/ln_timing *= *.false./ln_timing = .true./" \ 200 \${BRIDGE_MSUB_PWD}/../EXPREF/namelist_cfg_orca${resolution}_like > namelist_cfg 201 202 time ccc_mprun -n \${BRIDGE_MSUB_NPROC} ./nemo.exe > jobout_${resolution}_${nproc5}_${dateref} 2>&1 192 203 193 204 EOF … … 196 207 197 208 fi 209 210 ###################################################################### 211 ### Jean-Zay 212 ###################################################################### 213 214 if [ "$machine" == "jean-zay" ] 215 then 216 hh=$( printf "%02d\n" $(( ${timejob} / 3600 )) ) 217 mm=$( printf "%02d\n" $(( ( ${timejob} % 3600 ) / 60 )) ) 218 ss=$( printf "%02d\n" $(( ( ${timejob} % 3600 ) % 60 )) ) 219 220 EXPjob=../EXP_${resolution}_${nproc5}_${dateref} 221 mkdir -p ${EXPjob} 222 cd ${EXPjob} 223 jobname=jobbench 224 cat > $jobname << EOF 225 #!/bin/bash 226 #SBATCH --job-name=Seq # nom du job 227 #SBATCH --partition=cpu_gct3 # demande d'allocation sur la partition CPU 228 #SBATCH --nodes=${nnode} # nombre de noeuds 229 #SBATCH --ntasks-per-node=${ncore_node} # nombre de taches MPI par noeud 230 #SBATCH --ntasks-per-core=1 # 1 processus MPI par coeur physique (pas d'hyperthreading) 231 #SBATCH --time=${hh}:${mm}:${ss} # temps d execution maximum demande (HH:MM:SS) 232 #SBATCH --output=bench_${resolution}_${nproc5}_%j.eo # nom du fichier de sortie 233 #SBATCH --error=bench_${resolution}_${nproc5}_%j.eo # nom du fichier d'erreur (ici en commun avec la sortie) 234 #========================================== 235 set -u 236 #set -xv 237 # 238 #cd \${SLURM_SUBMIT_DIR} 239 cd \${JOBSCRATCH} 240 pwd 241 242 for ff in \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_*cfg \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_*ref \${SLURM_SUBMIT_DIR}/../BLD/bin/nemo.exe 243 do 244 cp \$ff . 245 done 246 247 jpni=${cores/\**/} 248 jpnj=${cores/?*\*/} 249 250 sed -e "s/jpni *=.*/jpni = \${jpni}/" \ 251 -e "s/jpnj *=.*/jpnj = \${jpnj}/" \ 252 -e "s/ln_timing *= *.false./ln_timing = .true./" \ 253 \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_cfg_orca${resolution}_like > namelist_cfg 254 255 ls -l 256 257 echo 258 echo 259 echo " =========== start the model ===========" 260 echo 261 echo 262 263 time srun --mpi=pmi2 --cpu-bind=cores -K1 -n ${nproc} ./nemo.exe > jobout_${resolution}_${nproc5}_${dateref} 2>&1 264 265 ls -l 266 267 if [ "\$( pwd )" != "\${SLURM_SUBMIT_DIR}" ] 268 then 269 rsync -av namelist_cfg time.step ocean.output jobout_${resolution}_${nproc5}_${dateref} communication_report.txt layout.dat timing.output output.namelist* \${SLURM_SUBMIT_DIR} 270 fi 271 272 EOF 273 274 sbatch $jobname 275 276 fi -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/MY_SRC/usrdef_istate.F90
r10179 r11831 64 64 DO jj = 1, jpj 65 65 DO ji = 1, jpi 66 z2d(ji,jj) = 0.1 * ( 0.5 - REAL( nimpp + ji - 1 + ( njmpp + jj - 2) * jpiglo, wp ) / REAL( jpiglo * jpjglo, wp ) )66 z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig(ji) + mjg(jj) * jpiglo, wp ) / REAL( jpiglo * jpjglo, wp ) ) 67 67 ENDDO 68 68 ENDDO … … 73 73 DO jk = 1, jpk 74 74 zfact = REAL(jk-1,wp) / REAL(jpk-1,wp) ! 0 to 1 to add a basic stratification 75 ! temperature choosen to lead to 20% ice 76 pts(:,:,jk,jp_tem) = 2._wp - 0.1_wp * zfact + z2d(:,:) * 100._wp ! 2 to 1.9 +/- 5 degG 77 WHERE ( pts(:,:,jk,jp_tem) < -1.5_wp ) pts(:,:,jk,jp_tem) = -1.5_wp + z2d(:,:) * 0.2_wp 75 ! temperature choosen to lead to ~50% ice at the beginning if rn_thres_sst = 0.5 76 pts(:,:,jk,jp_tem) = 20._wp*z2d(:,:) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/-1.0 degG 78 77 ! salinity: 79 78 pts(:,:,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(:,:) ! 30 to 31 +/- 0.05 psu … … 84 83 ! 85 84 CALL lbc_lnk('usrdef_istate', pssh, 'T', 1. ) ! apply boundary conditions 86 CALL lbc_lnk( 'usrdef_istate',pts, 'T', 1. ) ! apply boundary conditions87 CALL lbc_lnk( 'usrdef_istate',pu, 'U', -1. ) ! apply boundary conditions88 CALL lbc_lnk( 'usrdef_istate',pv, 'V', -1. ) ! apply boundary conditions85 CALL lbc_lnk('usrdef_istate', pts, 'T', 1. ) ! apply boundary conditions 86 CALL lbc_lnk('usrdef_istate', pu, 'U', -1. ) ! apply boundary conditions 87 CALL lbc_lnk('usrdef_istate', pv, 'V', -1. ) ! apply boundary conditions 89 88 90 89 END SUBROUTINE usr_def_istate -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/MY_SRC/usrdef_nam.F90
r10428 r11831 29 29 CONTAINS 30 30 31 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )31 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 32 32 !!---------------------------------------------------------------------- 33 33 !! *** ROUTINE dom_nam *** … … 41 41 !! ** input : - namusr_def namelist found in namelist_cfg 42 42 !!---------------------------------------------------------------------- 43 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information44 43 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 45 44 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 48 47 ! 49 48 ! 50 INTEGER :: ios , ii! Local integer49 INTEGER :: ios ! Local integer 51 50 ! !!* namusr_def namelist *!! 52 51 INTEGER :: nn_isize ! number of point in i-direction of global(local) domain if >0 (<0) … … 55 54 INTEGER :: nn_perio ! periodicity 56 55 ! !!* nammpp namelist *!! 57 CHARACTER(len=1) :: cn_mpi_send 58 INTEGER :: nn_buffer, jpni, jpnj 56 INTEGER :: jpni, jpnj 59 57 LOGICAL :: ln_nnogather 60 58 !! 61 59 NAMELIST/namusr_def/ nn_isize, nn_jsize, nn_ksize, nn_perio 62 NAMELIST/nammpp/ cn_mpi_send, nn_buffer,jpni, jpnj, ln_nnogather60 NAMELIST/nammpp/ jpni, jpnj, ln_nnogather 63 61 !!---------------------------------------------------------------------- 64 62 ! 65 63 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 66 64 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 903 ) 67 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 68 WRITE( ldnam(:), namusr_def ) 65 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 66 ! 67 IF(lwm) WRITE( numond, namusr_def ) 69 68 ! 70 69 cd_cfg = 'BENCH' ! name & resolution (not used) 71 70 kk_cfg = 0 72 71 ! 73 72 IF( nn_isize < 0 .AND. nn_jsize < 0 ) THEN 74 73 ! 75 74 REWIND( numnam_ref ) ! Namelist nammpp in reference namelist: mpi variables 76 75 READ ( numnam_ref, nammpp, IOSTAT = ios, ERR = 901) 77 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist' , lwp)76 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist' ) 78 77 ! 79 78 REWIND( numnam_cfg ) ! Namelist nammpp in configuration namelist: mpi variables 80 79 READ ( numnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 81 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist' , lwp)80 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist' ) 82 81 83 82 kpi = ( -nn_isize - 2*nn_hls ) * jpni + 2*nn_hls … … 87 86 kpj = nn_jsize 88 87 ENDIF 89 88 ! 90 89 kpk = nn_ksize 91 90 kperio = nn_perio 92 93 91 ! ! control print 94 ii = 1 95 WRITE(ldtxt(ii),*) ' ' ; ii = ii + 1 96 WRITE(ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 1 97 WRITE(ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 1 98 WRITE(ldtxt(ii),*) ' Namelist namusr_def : BENCH test case' ; ii = ii + 1 99 IF( nn_isize > 0 ) THEN 100 WRITE(ldtxt(ii),*) ' global domain size-x nn_isize = ', nn_isize ; ii = ii + 1 101 ELSE 102 WRITE(ldtxt(ii),*) ' jpni = ', jpni ; ii = ii + 1 103 WRITE(ldtxt(ii),*) ' local domain size-x -nn_isize = ', -nn_isize ; ii = ii + 1 104 WRITE(ldtxt(ii),*) ' global domain size-x kpi = ', kpi ; ii = ii + 1 92 IF(lwp) THEN 93 WRITE(numout,*) ' ' 94 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 95 WRITE(numout,*) '~~~~~~~~~~~ ' 96 WRITE(numout,*) ' Namelist namusr_def : BENCH test case' 97 IF( nn_isize > 0 ) THEN 98 WRITE(numout,*) ' global domain size-x nn_isize = ', nn_isize 99 ELSE 100 WRITE(numout,*) ' jpni = ', jpni 101 WRITE(numout,*) ' local domain size-x -nn_isize = ', -nn_isize 102 WRITE(numout,*) ' global domain size-x kpi = ', kpi 103 ENDIF 104 IF( nn_jsize > 0 ) THEN 105 WRITE(numout,*) ' global domain size-y nn_jsize = ', nn_jsize 106 ELSE 107 WRITE(numout,*) ' jpnj = ', jpnj 108 WRITE(numout,*) ' local domain size-y -nn_jsize = ', -nn_jsize 109 WRITE(numout,*) ' global domain size-y kpj = ', kpj 110 ENDIF 111 WRITE(numout,*) ' global domain size-z nn_ksize = ', nn_ksize 112 WRITE(numout,*) ' LBC of the global domain kperio = ', kperio 105 113 ENDIF 106 IF( nn_jsize > 0 ) THEN107 WRITE(ldtxt(ii),*) ' global domain size-y nn_jsize = ', nn_jsize ; ii = ii + 1108 ELSE109 WRITE(ldtxt(ii),*) ' jpnj = ', jpnj ; ii = ii + 1110 WRITE(ldtxt(ii),*) ' local domain size-y -nn_jsize = ', -nn_jsize ; ii = ii + 1111 WRITE(ldtxt(ii),*) ' global domain size-y kpj = ', kpj ; ii = ii + 1112 ENDIF113 WRITE(ldtxt(ii),*) ' global domain size-z nn_ksize = ', nn_ksize ; ii = ii + 1114 WRITE(ldtxt(ii),*) ' LBC of the global domain kperio = ', kperio ; ii = ii + 1115 114 ! 116 115 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/MY_SRC/usrdef_zgr.F90
r10170 r11831 194 194 z2d(:,:) = REAL( jpkm1 , wp ) ! flat bottom 195 195 ! 196 IF( jperio == 3 .OR. jperio ==4 ) THEN ! add a small island in the upper corners to avoid model instabilities... 197 z2d(mi0( 1):mi1( 3),mj0(jpjglo-2):mj1(jpjglo)) = 0. 198 z2d(mi0(jpiglo-2):mi1(jpiglo),mj0(jpjglo-2):mj1(jpjglo)) = 0. 199 ENDIF 200 ! 196 201 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 197 202 ! -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/BENCH/MY_SRC/zdfiwm.F90
r10420 r11831 406 406 REWIND( numnam_ref ) ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing 407 407 READ ( numnam_ref, namzdf_iwm, IOSTAT = ios, ERR = 901) 408 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' , lwp)408 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' ) 409 409 ! 410 410 REWIND( numnam_cfg ) ! Namelist namzdf_iwm in configuration namelist : Wave-driven mixing 411 411 READ ( numnam_cfg, namzdf_iwm, IOSTAT = ios, ERR = 902 ) 412 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' , lwp)412 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' ) 413 413 IF(lwm) WRITE ( numond, namzdf_iwm ) 414 414 !
Note: See TracChangeset
for help on using the changeset viewer.