[cig-commits] [commit] devel,master: updates SPECFEM3D configuration with scotch, manual and examples; further code clean up (0e80bb3)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Jun 18 16:48:01 PDT 2014


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

On branches: devel,master
Link       : https://github.com/geodynamics/specfem3d/compare/6026e367984905ab133865f62fa6293b343759b9...47f703851338234f96397e7da9fbff63d8178b8a

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

commit 0e80bb3f770521f3699f74cdf9186abb6f4fc389
Author: Daniel Peter <peterda at ethz.ch>
Date:   Mon Nov 29 02:51:17 2010 +0000

    updates SPECFEM3D configuration with scotch, manual and examples; further code clean up


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

0e80bb3f770521f3699f74cdf9186abb6f4fc389
 meshfem3D_examples/simple_model/map_LA.png     | Bin 0 -> 441216 bytes
 meshfem3D_examples/simple_model/map_LAinv.png  | Bin 0 -> 440796 bytes
 noise_tomography/bin/adj_traveltime_filter.f90 |   8 ++--
 noise_tomography/image_beta_kernels.jpg        | Bin 0 -> 49554 bytes
 noise_tomography/pre-processing.sh             |  60 ++++++++++++++++++-------
 5 files changed, 48 insertions(+), 20 deletions(-)

diff --git a/meshfem3D_examples/simple_model/map_LA.png b/meshfem3D_examples/simple_model/map_LA.png
new file mode 100644
index 0000000..f04a83c
Binary files /dev/null and b/meshfem3D_examples/simple_model/map_LA.png differ
diff --git a/meshfem3D_examples/simple_model/map_LAinv.png b/meshfem3D_examples/simple_model/map_LAinv.png
new file mode 100644
index 0000000..bd8e987
Binary files /dev/null and b/meshfem3D_examples/simple_model/map_LAinv.png differ
diff --git a/noise_tomography/bin/adj_traveltime_filter.f90 b/noise_tomography/bin/adj_traveltime_filter.f90
index 09d04b9..849f617 100644
--- a/noise_tomography/bin/adj_traveltime_filter.f90
+++ b/noise_tomography/bin/adj_traveltime_filter.f90
@@ -21,7 +21,7 @@ double precision :: data_temp(nstep),syn_temp(nstep),data_direct(nstep),syn_dire
 double precision :: trace_data_max(nrec), trace_syn_max(nrec), t(nstep),data_max,syn_max
 integer :: flag(nrec), irec, itime, length_window, i_start_window, i_end_window
 character(len=256) :: station_name,file_data,file_syn,file_data_direct,file_syn_direct
-character(len=256) :: file_adj,file_adj_density, file_misfit, file_adj_BHX,file_adj_BHZ, file_adj_zeros
+character(len=256) :: file_adj,file_adj_density, file_misfit, file_adj_BXX,file_adj_BXZ, file_adj_zeros
 double precision :: c(nstep), data_trace(nstep), syn_trace(nstep)
 integer :: I(nstep)
 double precision :: Norm_data_crit,Norm_syn_crit,AMP,Norm_data,Norm_syn,Norm,Norm_adj_temp
@@ -53,7 +53,7 @@ adj=0.0d0
 misfit_traveltime = 0.0d0
 !!!! loading data and synthetics !!!!
 do irec = 1,nrec
-   file_data         = '../in_out_files/SEM/X2.DB.BHZ.semd'
+   file_data         = '../in_out_files/SEM/X2.DB.BXZ.semd'
    open(unit=1001,file=trim(file_data),status='old',action='read')
    do itime = 1,nstep
            read(1001,*) t(itime),data_origin(nstep-itime+1,irec)  ! the reversed seismogram involves $C^\alpha\beta(t)=C^\beta\alpha(-t)$
@@ -150,8 +150,8 @@ do irec = 1,nrec
    end do  !do ifreq=1,nfreq
 
    !!!! output !!!!
-   file_adj_BHZ      = '../in_out_files/SEM/adj_sources_contribution1'
-   open(unit=1002,file=trim(file_adj_BHZ),status='unknown')
+   file_adj_BXZ      = '../in_out_files/SEM/adj_sources_contribution1'
+   open(unit=1002,file=trim(file_adj_BXZ),status='unknown')
    do itime = 1,nstep
       write(1002,*) t(itime), adj(nstep-itime+1,irec)
    end do
diff --git a/noise_tomography/image_beta_kernels.jpg b/noise_tomography/image_beta_kernels.jpg
new file mode 100644
index 0000000..9cb99d8
Binary files /dev/null and b/noise_tomography/image_beta_kernels.jpg differ
diff --git a/noise_tomography/pre-processing.sh b/noise_tomography/pre-processing.sh
index 451f0ad..b563f35 100755
--- a/noise_tomography/pre-processing.sh
+++ b/noise_tomography/pre-processing.sh
@@ -5,20 +5,31 @@
 
 # now we are in this directory:   (prefix)SPECFEM3D/examples/noise_tomography
 # save this path as "script_dir", later we will copy default files from this folder
-script_dir=$PWD
+script_dir=`pwd`
+
+echo `date`
+echo "running directory: $script_dir"
+echo
+
+echo
+echo "(will take about 3 h 30 min)"
+echo
+
 
 # return to the main SPECFEM3D directory
 cd ../../
 
 # compile the package
-make
-make combine_vol_data
+make > tmp.log
+make combine_vol_data >> tmp.log
+
+cd $script_dir
 
 # specify directories for executables, input files and output files
 # those values are default for SPECFEM3D
-bin="$PWD/bin"
-in_out_files="$PWD/in_out_files"
-in_data_files="$PWD/in_data_files"
+bin="$script_dir/bin"
+in_out_files="$script_dir/in_out_files"
+in_data_files="$script_dir/in_data_files"
 
 # specify which kernel we want to visualize
 # since the Rayleigh wave is dominantly dependent on shear wave speed, we choose shear wave speed kernels
@@ -27,8 +38,11 @@ kernel="beta_kernel"
 
 # create directories for noise simulations and adjoint simulations
 # they are also default in SPECFEM3D
+mkdir -p $in_out_files
 mkdir -p $in_out_files/SEM
 mkdir -p $in_out_files/NOISE_TOMOGRAPHY
+mkdir -p $in_out_files/DATABASES_MPI
+mkdir -p $in_out_files/OUTPUT_FILES
 
 # create directories for storing kernels (first contribution and second contribution)
 mkdir -p $in_out_files/NOISE_TOMOGRAPHY/1st
@@ -43,14 +57,17 @@ cp $script_dir/NOISE_TOMOGRAPHY/nu_master                $in_out_files/NOISE_TOM
 cp $script_dir/DATABASES_MPI/proc*                       $in_out_files/DATABASES_MPI/
 
 # copy simulation parameter files
-cp $script_dir/in_data_files/Par_file*                   $in_data_files/
-cp $script_dir/in_data_files/CMTSOLUTION                 $in_data_files/
-cp $script_dir/in_data_files/STATIONS*                   $in_data_files/
+#cp $script_dir/in_data_files/Par_file*                   $in_data_files/
+#cp $script_dir/in_data_files/CMTSOLUTION                 $in_data_files/
+#cp $script_dir/in_data_files/STATIONS*                   $in_data_files/
 
 # copy and compile subroutine for adjoint source calculation
-cp $script_dir/bin/adj_traveltime_filter.f90             $bin/
+#cp $script_dir/bin/adj_traveltime_filter.f90             $bin/
 cd $bin
-ifort adj_traveltime_filter.f90
+ifort adj_traveltime_filter.f90 > tmp.log
+ln -s ../../../bin/xgenerate_databases
+ln -s ../../../bin/xspecfem3D
+ln -s ../../../bin/xcombine_vol_data
 
 #****************************************************************************************************************************************************
 #////////////////////////////// SIMULATION IS STARTING //////////////////////////////////////////////////////////////////////////////////////////////
@@ -66,7 +83,9 @@ ifort adj_traveltime_filter.f90
 
 #################### first contribution ###########################################################################
 # in this part, we start noise simulations for 1st contribution of the noise sensitivity kernels
-
+echo `date`
+echo "1. contribution..."
+echo
 # the master receiver is receiver 1
 cp $in_out_files/NOISE_TOMOGRAPHY/irec_master_noise_contribution1  $in_out_files/NOISE_TOMOGRAPHY/irec_master_noise
 
@@ -85,8 +104,8 @@ mv $in_out_files/OUTPUT_FILES/X2.DB.BXZ.semd             $in_out_files/SEM/
 # this program produces two traces --- adj_sources_contribution1 & adj_sources_contribution2
 ./a.out
 # since it's 1st contribution, we inject adjoint source 1 at receiver 2
-# pay attention to "adj_sources_contribution1" & "X2.DB.BHZ.adj"
-# we will be using "adj_sources_contribution2" & "X1.DB.BHZ.adj" for the 2nd contribution in next part
+# pay attention to "adj_sources_contribution1" & "X2.DB.BXZ.adj"
+# we will be using "adj_sources_contribution2" & "X1.DB.BXZ.adj" for the 2nd contribution in next part
 rm $in_out_files/SEM/*.adj
 cp $in_out_files/SEM/adj_sources_contribution1           $in_out_files/SEM/X2.DB.BXZ.adj
 
@@ -109,9 +128,15 @@ mesh2vtu.pl -i $in_out_files/OUTPUT_FILES/$kernel.mesh -o $in_out_files/NOISE_TO
 # at the end of this part, we obtain the 1st contribution of the noise sensitivity kernel, stored as:
 # $in_out_files/NOISE_TOMOGRAPHY/1st_$kernel.vtu
 
+echo 
+
 #################### second contribution ###########################################################################
 # in this part, we start noise simulations for 2nd contribution of the noise sensitivity kernels
 
+echo `date`
+echo "2. contribution..."
+echo
+
 # the master receiver is receiver 2
 cp $in_out_files/NOISE_TOMOGRAPHY/irec_master_noise_contribution2  $in_out_files/NOISE_TOMOGRAPHY/irec_master_noise
 
@@ -125,8 +150,8 @@ mpirun -np 4 ./xspecfem3D
 
 # calculating adjoint source
 # since it's 2nd contribution, we inject adjoint source 2 at receiver 1
-# pay attention to "adj_sources_contribution2" & "X1.DB.BHZ.adj"
-# we have been using "adj_sources_contribution1" & "X2.DB.BHZ.adj" for the 1st contribution in previous part
+# pay attention to "adj_sources_contribution2" & "X1.DB.BXZ.adj"
+# we have been using "adj_sources_contribution1" & "X2.DB.BXZ.adj" for the 1st contribution in previous part
 rm $in_out_files/SEM/*.adj
 cp $in_out_files/SEM/adj_sources_contribution2           $in_out_files/SEM/X1.DB.BXZ.adj
 
@@ -148,4 +173,7 @@ mesh2vtu.pl -i $in_out_files/OUTPUT_FILES/$kernel.mesh -o $in_out_files/NOISE_TO
 # at the end of this part, we obtain the 2nd contribution of the noise sensitivity kernel, stored as:
 # $in_out_files/NOISE_TOMOGRAPHY/2nd_$kernel.vtu
 
+echo
+echo `date` 
+echo "done"
 



More information about the CIG-COMMITS mailing list