[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