[cig-commits] [commit] devel: Change coupling (157d91f)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Aug 1 10:07:33 PDT 2014


Repository : https://github.com/geodynamics/specfem3d

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d/compare/8a3f14d7d473f70feb7f073639045daa35c587bc...d759e09dd946c593868753fbb4253d77378fb276

>---------------------------------------------------------------

commit 157d91f7cdeefcc0986590689a43728995c800ee
Author: Clément Durochat <c.durochat at gmail.com>
Date:   Tue Jul 22 18:06:09 2014 +0200

    Change coupling


>---------------------------------------------------------------

157d91f7cdeefcc0986590689a43728995c800ee
 .../batch_run_benchmark_all_process.sh             | 55 +++++---------
 .../example_simple_small/params.in                 |  8 +-
 src/decompose_mesh/decompose_mesh.F90              |  4 +
 src/decompose_mesh/part_decompose_mesh.f90         |  1 +
 .../UTILS/create_inputs_files.f90                  |  2 +
 .../shells/bacchus_run_benchmark_all_process.sh    |  4 +-
 .../shells/idris_ada_compute_tract.sh              |  2 +-
 .../shells/idris_ada_run_benchmark_all_process.sh  |  2 +-
 .../shells/msub_compute_coef_process.sh            |  2 +-
 .../shells/msub_run_benchmark_all_process.sh       |  4 +-
 .../DSM_FOR_SPECFEM3D/shells/msub_setup_process.sh |  4 +-
 .../DSM_FOR_SPECFEM3D/shells/parfile_for_benchmark | 87 ----------------------
 12 files changed, 41 insertions(+), 134 deletions(-)

diff --git a/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/batch_run_benchmark_all_process.sh b/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/batch_run_benchmark_all_process.sh
index 40bd2e9..fd598cb 100755
--- a/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/batch_run_benchmark_all_process.sh
+++ b/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/batch_run_benchmark_all_process.sh
@@ -3,34 +3,16 @@
 
 #             ------------ BACTH AND SPECIFIC CLUSTER DIRECTIVES  ------ 
 
-#MSUB -r run_benchmark
-#MSUB -n 12
-#MSUB -N 1
-#MSUB -x 
-#MSUB -T 10800
+#MSUB -r Benchmark_couple_SPECFEM3D_DSM        # Nom du job  
+#MSUB -n 24
+#MSUB -T 84000
 #MSUB -q standard
-#MSUB -o run_benchmark.o
-#MSUB -e run_benchmark.e 
+#MSUB -e Benchmark_couple_run.e
+#MSUB -o Benchmark_couple_run.o
+#MSUB -A gen7165 
       
 # set -x
-# cd $BRIDGE_MSUB_PWD
-
-
-#OAR -n bench_hy
-#OAR -l nodes=1,walltime=2:00:00
-#OAR -p cluster
-##OAR -q development
-#OAR -O bench_hy.%jobid%.out 
-#OAR -E bench_hy.%jobid%.err
-
-
-## Chargement des modules module load ... 
-#module load intel/13.0
-#module load openmpi/intel/1.6.3
-#module list
-#echo ${OAR_NODEFILE} 
-#CPUS=$(wc -l ${OAR_NODEFILE} | awk '{print $1}')
-#echo $CPUS
+# cd ${BRIDGE_MSUB_PWD}
 
 
 ######################################################################################################################
@@ -77,26 +59,29 @@
 # GEOPHYSICAL JOURNAL INTERNATIONAL Volume:192 Issue:1 Pages:230-247 DOI:10.1093/gji/ggs006 Published: JAN 2013 
 #
 #####################################################################################################################
-
+#
+## ----- First thing to do : the home of SPECFEM3D is in parmans.in ---------
+source params.in
 
 ## ------------------ INPUTS -----------------------------
 
-
 # NBPROC is declared as integer (important do not change)
 declare -i NPROC NPROC_MINUS_ONE CPUS CHOICE MIDDLE
 
 # NUMBER OF MPI PROCESSES
-NPROC=40
-CPUS=40
+NPROC=24
+CPUS=24
 
 # MPIRUN COMMAND 
-MPIRUN="mpirun -machinefile /home/cluster_maintenance/mymachines2"
+MPIRUN=ccc_mprun
 
 # ENTER OPTION FOR MPIRUN 
-OPTION=" -np "${NPROC}
-OPTION_SIMU=" -np "${CPUS}
-#OPTION=" -np "${CPUS}"  -machinefile "${OAR_NODEFILE}" -bysocket -bind-to-core"
-#OPTION_SIMU=" -np "${CPUS}"  -machinefile "${OAR_NODEFILE}" -bysocket -bind-to-core"
+OPTION=
+ 
+###OPTION=" -np "${NPROC}
+###OPTION_SIMU=" -np "${CPUS}
+###OPTION=" -np "${CPUS}"  -machinefile "${OAR_NODEFILE}" -bysocket -bind-to-core"
+###OPTION_SIMU=" -np "${CPUS}"  -machinefile "${OAR_NODEFILE}" -bysocket -bind-to-core"
 
 # do not change
 NPROC_MINUS_ONE="$NPROC-1"
@@ -116,7 +101,7 @@ OUT_MOVIE=$(pwd)/movie
 #------- input files creation 
 # you must write the absolute path for : xcreate_input
 # you must edit and complete : parfile_for_benchmark  
-/home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/bin/xcreate_inputs_files<<EOF
+$HOME_SPECFEM3D/utils/DSM_FOR_SPECFEM3D/bin/xcreate_inputs_files<<EOF
 parfile_for_benchmark
 EOF
 
diff --git a/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/params.in b/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/params.in
index f4fe848..a2133e3 100755
--- a/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/params.in
+++ b/EXAMPLES/DSM_FOR_SPECFEM3D/example_simple_small/params.in
@@ -1,9 +1,11 @@
-BIN=/home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/bin
-BINSEM=/home/durochat/Codes/SPECFEM3Ds/specfem3d/bin
-SCRIPTS=/home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/shells
+HOME_SPECFEM3D=/ccc/scratch/cont003/gen7165/durochtc/Codes/SPECFEM3Ds/specfem3d
+BIN=$HOME_SPECFEM3D/utils/DSM_FOR_SPECFEM3D/bin
+BINSEM=$HOME_SPECFEM3D/bin
+SCRIPTS=$HOME_SPECFEM3D/utils/DSM_FOR_SPECFEM3D/shells
 DSM_tractions=$(pwd)/DSM_tractions/
 OUT=$DSM_tractions
 REP=Tract/
 IN_DSM=$(pwd)/input_dsm
 MESH=$(pwd)/MESH
 MODELE_1D=iasp91_dsm
+
diff --git a/src/decompose_mesh/decompose_mesh.F90 b/src/decompose_mesh/decompose_mesh.F90
index f6472ad..609b8e7 100644
--- a/src/decompose_mesh/decompose_mesh.F90
+++ b/src/decompose_mesh/decompose_mesh.F90
@@ -1046,6 +1046,8 @@ module decompose_mesh
     allocate(my_nb_interfaces(0:ninterfaces-1),stat=ier)
     if( ier /= 0 ) stop 'error allocating array my_nb_interfaces'
 
+    if (COUPLE_WITH_DSM) open(124,file='Numglob2loc_elmn.txt')
+
     ! writes out Database file for each partition
     do ipart = 0, nparts-1
 
@@ -1160,6 +1162,8 @@ module decompose_mesh
     deallocate(CPML_regions,stat=ier); if( ier /= 0 ) stop 'error deallocating array CPML_regions'
     deallocate(is_CPML,stat=ier); if( ier /= 0 ) stop 'error deallocating array is_CPML'
 
+    if (COUPLE_WITH_DSM) close(124)
+
     print*, 'partitions: '
     print*, '  num = ',nparts
     print*
diff --git a/src/decompose_mesh/part_decompose_mesh.f90 b/src/decompose_mesh/part_decompose_mesh.f90
index f6cbd8f..a3a5b7f 100644
--- a/src/decompose_mesh/part_decompose_mesh.f90
+++ b/src/decompose_mesh/part_decompose_mesh.f90
@@ -783,6 +783,7 @@ contains
              ! # ispec_local # material_index_1 # material_index_2 # corner_id1 # corner_id2 # ... # corner_id27
              write(IIN_database) glob2loc_elmnts(i)+1, num_modele(1,i+1), &
                                   num_modele(2,i+1),(loc_nodes(k)+1, k=0,NGNOD-1)
+             write(124,*) i+1,glob2loc_elmnts(i)+1,iproc
           endif
        enddo
     endif
diff --git a/utils/DSM_FOR_SPECFEM3D/UTILS/create_inputs_files.f90 b/utils/DSM_FOR_SPECFEM3D/UTILS/create_inputs_files.f90
index e6177f5..6cff58a 100755
--- a/utils/DSM_FOR_SPECFEM3D/UTILS/create_inputs_files.f90
+++ b/utils/DSM_FOR_SPECFEM3D/UTILS/create_inputs_files.f90
@@ -29,6 +29,8 @@ program create_input_files
 
   ! param.in -------------------------------------------------------------------
   open(10,file='params.in') 
+  call read_value_string(path, 'HOME_SPECFEM3D')
+  write(10,'(a)') 'HOME_SPECFEM3D='//trim(path)
   call read_value_string(path, 'DSM_BINARY_PATH')
   write(10,'(a)') 'BIN='//trim(path)
   call read_value_string(path, 'SPECFEM3D_BINARY_PATH')
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/bacchus_run_benchmark_all_process.sh b/utils/DSM_FOR_SPECFEM3D/shells/bacchus_run_benchmark_all_process.sh
index 908f006..73fd70a 100755
--- a/utils/DSM_FOR_SPECFEM3D/shells/bacchus_run_benchmark_all_process.sh
+++ b/utils/DSM_FOR_SPECFEM3D/shells/bacchus_run_benchmark_all_process.sh
@@ -54,12 +54,12 @@
 ## ------------------ INPUTS -----------------------------
 
 # DSM BINARY : (to do supprimer peut-être çà de params.in??)
-BIN_DSM=/home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/bin
+BIN_DSM=$HOME_SPECFEM3D/utils/DSM_FOR_SPECFEM3D/bin
 # NBPROC is declared as integer (important do not change)
 declare -i NPROC NPROC_MINUS_ONE
 
 # NUMBER OF MPI PROCESSES
-NPROC=12
+NPROC=24
 
 # ENTER OPTION FOR MPIRUN 
 OPTION=
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_compute_tract.sh b/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_compute_tract.sh
index 5764ba1..d3e18c8 100755
--- a/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_compute_tract.sh
+++ b/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_compute_tract.sh
@@ -93,7 +93,7 @@ SHELL_DSM=/smphome/rech/ubv/rubv002/progs/shells_specfem3D_hybrid
 declare -i NPROC NPROC_MINUS_ONE
 
 # NUMBER OF MPI PROCESSES
-NPROC=12
+NPROC=24
 
 # MPI COMMAND
 MPIRUN=poe
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_run_benchmark_all_process.sh b/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_run_benchmark_all_process.sh
index d186496..d4b1910 100755
--- a/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_run_benchmark_all_process.sh
+++ b/utils/DSM_FOR_SPECFEM3D/shells/idris_ada_run_benchmark_all_process.sh
@@ -104,7 +104,7 @@ tar -jxvf input_data.tar.bz2
 declare -i NPROC NPROC_MINUS_ONE
 
 # NUMBER OF MPI PROCESSES
-NPROC=12
+NPROC=24
 
 # ENTER OPTION FOR MPIRUN 
 OPTION=
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/msub_compute_coef_process.sh b/utils/DSM_FOR_SPECFEM3D/shells/msub_compute_coef_process.sh
index 69d2df5..7d83c59 100755
--- a/utils/DSM_FOR_SPECFEM3D/shells/msub_compute_coef_process.sh
+++ b/utils/DSM_FOR_SPECFEM3D/shells/msub_compute_coef_process.sh
@@ -67,7 +67,7 @@ cd $BRIDGE_MSUB_PWD
 declare -i NPROC NPROC_MINUS_ONE
 
 # NUMBER OF MPI PROCESSES
-NPROC=12
+NPROC=24
 
 # ENTER OPTION FOR MPIRUN 
 OPTION=
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/msub_run_benchmark_all_process.sh b/utils/DSM_FOR_SPECFEM3D/shells/msub_run_benchmark_all_process.sh
index 2d964c3..6306ca3 100755
--- a/utils/DSM_FOR_SPECFEM3D/shells/msub_run_benchmark_all_process.sh
+++ b/utils/DSM_FOR_SPECFEM3D/shells/msub_run_benchmark_all_process.sh
@@ -68,7 +68,7 @@ cd $BRIDGE_MSUB_PWD
 declare -i NPROC NPROC_MINUS_ONE
 
 # NUMBER OF MPI PROCESSES
-NPROC=12
+NPROC=24
 
 # ENTER OPTION FOR MPIRUN 
 OPTION=
@@ -91,7 +91,7 @@ OUT_MOVIE=$(pwd)/movie
 #------- input files creation 
 # you must write the absolute path for : xcreate_input
 # you must edit and complete : parfile_for_benchmark  
-/home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/bin/xcreate_inputs_files<<EOF
+$HOME_SPECFEM3D/utils/DSM_FOR_SPECFEM3D/bin/xcreate_inputs_files<<EOF
 parfile_for_benchmark
 EOF
 
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/msub_setup_process.sh b/utils/DSM_FOR_SPECFEM3D/shells/msub_setup_process.sh
index 6bfac92..5ae1c3f 100755
--- a/utils/DSM_FOR_SPECFEM3D/shells/msub_setup_process.sh
+++ b/utils/DSM_FOR_SPECFEM3D/shells/msub_setup_process.sh
@@ -64,12 +64,12 @@ cd $BRIDGE_MSUB_PWD
 ## ------------------ INPUTS -----------------------------
 
 # DSM BINARY : (to do supprimer peut-être çà de params.in??)
-BIN_DSM=/home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/bin 
+BIN_DSM=$HOME_SPECFEM3D/utils/DSM_FOR_SPECFEM3D/bin 
 # NBPROC is declared as integer (important do not change)
 declare -i NPROC NPROC_MINUS_ONE
 
 # NUMBER OF MPI PROCESSES
-NPROC=12
+NPROC=24
 
 # ENTER OPTION FOR MPIRUN 
 OPTION=
diff --git a/utils/DSM_FOR_SPECFEM3D/shells/parfile_for_benchmark b/utils/DSM_FOR_SPECFEM3D/shells/parfile_for_benchmark
deleted file mode 100755
index ffbfeb9..0000000
--- a/utils/DSM_FOR_SPECFEM3D/shells/parfile_for_benchmark
+++ /dev/null
@@ -1,87 +0,0 @@
-#  ABSOLUTE PATH FOR EXECUTABLES
-DSM_BINARY_PATH          =  /home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/bin
-SPECFEM3D_BINARY_PATH    =  /home/durochat/Codes/SPECFEM3Ds/specfem3d/bin
-SHELL_SCRIPT_PATH        =  /home/durochat/Codes/SPECFEM3Ds/specfem3d/utils/DSM_FOR_SPECFEM3D/shells
-
-
-# DIRECTORY CONTAINED INPUTS FILES (RELATIVE PATH FORM ./)
-DSM_INPUT_DIR            = input_dsm
-MESH_DIR                 = MESH
-
-
-# --------------------------------- DSM PARAMETERS ----------------------
-#
-# MODEL FILE NAME FOR DSM
-FILE_MODEL_1D            = iasp91_dsm
-
-# NAME FOR DSM OUTPUT FILES
-FILE_OUT_DSM             = iasp91_dsm
-
-# OUTPUT SEISMOGRAM TIME LENGTH (s) 
-# (set 2^n seconds, this value will be multiplied by 0.1 inside DSM)
-# This paramter is choosen to compute the frquency step for DSM
-TLEN                     = 16384.d0
-
-# SOURCE DEPTH (KM), LAT, LON (DEGREES)
-SRC_DEPTH                = 1500.d0
-SRC_LAT                  = 0.d0
-SRC_LON                  = 0.d0
-
-# SOURCE MOMENT TENSOR 
-# Mrr, Mtt, Mpp, Mrt, Mrp, Mtp
-MRR                     = 0.d0
-MTT                     = 0.d0
-MPP                     = 0.d0
-MRT                     = 1.d0
-MRP                     = 1.d0
-MTP                     = 1.d0
-
-
-# SAMPLING FOR OUTPUT SEISMOGRAMS (Hz)
-# SHOULD BE A MULTIPLE OF TEN (10Hz, 20Hz, 30Hz, 40 Hz,...)
-# TAKE INTO ACCUNT THAT MUST BE THE TIME STEP FOR SPECFEM3D
-SAMPLING                = 10. 
-
-# TEMPORAL WINDOW FOR DSM TRACTIONS AND SEISMOGRAMS 
-# SHOULD BEGIN BEFORE THE FIRST ARRIVAL AT THE CHUNK BOTTOM 
-# START TIME
-TSTART                  = 00.
-# END TIME
-TEND                    = 1600. 
-
-
-# BAND PASS FILTER FREQENCY  (Hz)
-FLOW                    = 0.003
-FHIGH                   = 0.09
-
-
-# TUNNING PARAMETER FOR PRECISION CALCULATION IN PART 2 (>1.)
-# THE HIGHER IS, MORE ACCURATE IS, BUT MORE EXPENSIVE
-ACCURACY_LEVEL         = 1.d0
-
-#
-# ----------------------------- CHUNK --------------------------------------
-#
-# CHUNK EXTENSION (degrees) 
-ANGULAR_WIDTH_XI_RAD    = 6.
-ANGULAR_WIDTH_ETA_RAD   = 3.
-
-# CHUNK CENTER (degrees)
-LON_CENTER              = 60.
-LAT_CENTER              = 0.
-AZI_CHUNK               = 0.
-
-# DEPTH CHUNK (km)
-DEPTH_CHUNK             = 240.
-
-# SEM DISCRETISATION
-NEL_LON                 = 30
-NEL_LAT                 = 15
-NEL_DEPTH               = 15
-
-
-#------------------- MPI  PARALLELISATION -----
-#
-MPI_CPUS                  = 40
-SUB_COMM                  = 1
-



More information about the CIG-COMMITS mailing list