[cig-commits] r20855 - in seismo/3D/SPECFEM3D/trunk: examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files examples/Mount_StHelens/in_data_files examples/homogeneous_halfspace/in_data_files examples/homogeneous_poroelastic/in_data_files examples/layered_halfspace/in_data_files examples/meshfem3D_examples/many_interfaces examples/meshfem3D_examples/simple_model/in_data_files examples/meshfem3D_examples/socal1D/in_data_files examples/tomographic_model/in_data_files examples/waterlayered_halfspace/in_data_files in_data_files src/cuda src/generate_databases src/shared src/specfem3D
joseph.charles at geodynamics.org
joseph.charles at geodynamics.org
Fri Oct 19 07:07:16 PDT 2012
Author: joseph.charles
Date: 2012-10-19 07:07:15 -0700 (Fri, 19 Oct 2012)
New Revision: 20855
Modified:
seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file
seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/src/cuda/prepare_constants_cuda.h
seismo/3D/SPECFEM3D/trunk/src/cuda/prepare_mesh_constants_cuda.cu
seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90
seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90
seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in
seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90
seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90
seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90
seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90
Log:
renames the USE_RICKER_IPATI flag in USE_RICKER_TIME_FUNCTION and moves it from constants.h.in to the Par_file
Modified: seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -77,6 +77,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -77,6 +77,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -77,6 +77,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -79,6 +79,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -1,4 +1,4 @@
-# simulation input parameters
+*# simulation input parameters
#
# forward or adjoint simulation
# 1 = forward, 2 = adjoint, 3 = both simultaneously
@@ -79,6 +79,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -78,6 +78,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -78,6 +78,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -78,6 +78,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -78,6 +78,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -78,6 +78,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -78,6 +78,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file 2012-10-19 14:07:15 UTC (rev 20855)
@@ -79,6 +79,10 @@
# The direction vector is made unitary internally in the code and thus only its direction matters here;
# its norm is ignored and the norm of the force used is the factor force source times the source time function.
+# set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
+# or a quasi-Heaviside (when using FORCESOLUTION files)
+USE_RICKER_TIME_FUNCTION = .false.
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/src/cuda/prepare_constants_cuda.h
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/cuda/prepare_constants_cuda.h 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/cuda/prepare_constants_cuda.h 2012-10-19 14:07:15 UTC (rev 20855)
@@ -146,7 +146,7 @@
exit(1);
}
-#if USE_OLDER_CUDA4_GPU
+#ifdef USE_OLDER_CUDA4_GPU
err = cudaGetSymbolAddress((void**)&(mp->d_hprimewgll_xx),"d_hprimewgll_xx");
#else
err = cudaGetSymbolAddress((void**)&(mp->d_hprimewgll_xx),d_hprimewgll_xx);
@@ -225,7 +225,7 @@
exit(1);
}
//mp->d_wgllwgll_xz = d_wgllwgll_xz;
-#if USE_OLDER_CUDA4_GPU
+#ifdef USE_OLDER_CUDA4_GPU
err = cudaGetSymbolAddress((void**)&(mp->d_wgllwgll_xz),"d_wgllwgll_xz");
#else
err = cudaGetSymbolAddress((void**)&(mp->d_wgllwgll_xz),d_wgllwgll_xz);
@@ -246,7 +246,7 @@
exit(1);
}
//mp->d_wgllwgll_yz = d_wgllwgll_yz;
-#if USE_OLDER_CUDA4_GPU
+#ifdef USE_OLDER_CUDA4_GPU
err = cudaGetSymbolAddress((void**)&(mp->d_wgllwgll_yz),"d_wgllwgll_yz");
#else
err = cudaGetSymbolAddress((void**)&(mp->d_wgllwgll_yz),d_wgllwgll_yz);
@@ -267,7 +267,7 @@
exit(1);
}
//mp->d_wgll_cube = d_wgll_cube;
-#if USE_OLDER_CUDA4_GPU
+#ifdef USE_OLDER_CUDA4_GPU
err = cudaGetSymbolAddress((void**)&(mp->d_wgll_cube),"d_wgll_cube");
#else
err = cudaGetSymbolAddress((void**)&(mp->d_wgll_cube),d_wgll_cube);
Modified: seismo/3D/SPECFEM3D/trunk/src/cuda/prepare_mesh_constants_cuda.cu
===================================================================
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -263,7 +263,7 @@
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
- IMODEL)
+ USE_RICKER_TIME_FUNCTION,IMODEL)
! check that the code is running with the requested nb of processes
if(sizeprocs /= NPROC) then
@@ -413,6 +413,19 @@
write(IMAIN,*)
endif
+ write(IMAIN,*)
+ if(USE_RICKER_TIME_FUNCTION) then
+ write(IMAIN,*) 'using a Ricker source time function'
+ else
+ if(USE_FORCE_POINT_SOURCE) then
+ write(IMAIN,*) 'using a quasi-Heaviside source time function'
+ write(IMAIN,*)
+ else
+ write(IMAIN,*) 'using a Gaussian source time function'
+ write(IMAIN,*)
+ endif
+ endif
+
endif
! makes sure processes are synchronized
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -62,8 +62,10 @@
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
OCEANS,TOPOGRAPHY,SAVE_FORWARD,USE_FORCE_POINT_SOURCE
- logical :: ANISOTROPY,ABSORBING_CONDITIONS,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
+ logical :: ANISOTROPY,ABSORBING_CONDITIONS,SAVE_MESH_FILES
+ logical :: USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
+
logical :: ABSORB_INSTEAD_OF_FREE_SURFACE
logical :: MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT, &
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -99,7 +99,7 @@
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical :: ABSORBING_CONDITIONS,SAVE_FORWARD,ABSORB_INSTEAD_OF_FREE_SURFACE
- logical :: ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
+ logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
character(len=256) LOCAL_PATH
integer :: IMODEL
@@ -183,7 +183,7 @@
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
- IMODEL)
+ USE_RICKER_TIME_FUNCTION,IMODEL)
print *, 'Slice list: '
print *, node_list(1:num_node)
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in 2012-10-19 14:07:15 UTC (rev 20855)
@@ -194,10 +194,6 @@
! no lagrange interpolation on seismograms (we take the value on one NGLL point)
logical, parameter :: FASTER_RECEIVERS_POINTS_ONLY = .false.
-! set to use a Ricker source time function instead of a gaussian (when using CMTSOLUTION files)
-! or a quasi-Heaviside (when using FORCESOLUTION files)
- logical, parameter :: USE_RICKER_IPATI = .false.
-
! use this t0 as earliest starting time rather than the automatically calculated one
! (must be positive and bigger than the automatically one to be effective;
! simulation will start at t = - t0)
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -94,7 +94,7 @@
logical ATTENUATION,USE_OLSEN_ATTENUATION, &
OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical ABSORBING_CONDITIONS,SAVE_FORWARD,ABSORB_INSTEAD_OF_FREE_SURFACE
- logical ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
+ logical ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
character(len=256) OUTPUT_FILES,LOCAL_PATH
integer NPROC
integer ier
@@ -137,7 +137,7 @@
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
- IMODEL)
+ USE_RICKER_TIME_FUNCTION,IMODEL)
! get the base pathname for output files
call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', OUTPUT_FILES_PATH(1:len_trim(OUTPUT_FILES_PATH)))
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -32,7 +32,8 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION,NTSTEP_BETWEEN_OUTPUT_INFO, &
SIMULATION_TYPE,SAVE_FORWARD,NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
- USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE,IMODEL)
+ USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
+ USE_RICKER_TIME_FUNCTION,IMODEL)
implicit none
@@ -48,7 +49,7 @@
logical ATTENUATION,USE_OLSEN_ATTENUATION,OCEANS,TOPOGRAPHY,ABSORBING_CONDITIONS,SAVE_FORWARD
logical MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT,USE_HIGHRES_FOR_MOVIES
logical ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION,SUPPRESS_UTM_PROJECTION
- logical USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE
+ logical USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE,USE_RICKER_TIME_FUNCTION
character(len=256) LOCAL_PATH,CMTSOLUTION,FORCESOLUTION
@@ -143,6 +144,8 @@
if(err_occurred() /= 0) return
call read_value_logical(USE_FORCE_POINT_SOURCE, 'solver.USE_FORCE_POINT_SOURCE')
if(err_occurred() /= 0) return
+ call read_value_logical(USE_RICKER_TIME_FUNCTION, 'solver.USE_RICKER_TIME_FUNCTION')
+ if(err_occurred() /= 0) return
call read_value_logical(PRINT_SOURCE_TIME_FUNCTION, 'solver.PRINT_SOURCE_TIME_FUNCTION')
if(err_occurred() /= 0) return
@@ -302,7 +305,8 @@
! check
if( IMODEL == IMODEL_IPATI .or. IMODEL == IMODEL_IPATI_WATER ) then
- if( USE_RICKER_IPATI .eqv. .false. ) stop 'please set USE_RICKER_IPATI to .true. in shared/constants.h and recompile'
+ if( USE_RICKER_TIME_FUNCTION .eqv. .false. ) &
+ stop 'please set USE_RICKER_TIME_FUNCTION to .true. in Par_file and recompile solver'
endif
end subroutine read_parameter_file
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -107,7 +107,7 @@
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical :: ABSORBING_CONDITIONS,SAVE_FORWARD,ABSORB_INSTEAD_OF_FREE_SURFACE
- logical :: ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
+ logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
character(len=256) LOCAL_PATH
integer :: IMODEL
@@ -221,7 +221,7 @@
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
- IMODEL)
+ USE_RICKER_TIME_FUNCTION,IMODEL)
! checks if number of MPI process as specified
if (sizeprocs /= NPROC) then
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -114,7 +114,7 @@
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical :: ABSORBING_CONDITIONS,SAVE_FORWARD,ABSORB_INSTEAD_OF_FREE_SURFACE
- logical :: ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
+ logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
character(len=256) LOCAL_PATH
! ============ program starts here =====================
@@ -160,7 +160,7 @@
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
- IMODEL)
+ USE_RICKER_TIME_FUNCTION,IMODEL)
! checks if number of MPI process as specified
if (sizeprocs /= NPROC) then
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -42,7 +42,7 @@
xigll,yigll,zigll,xi_receiver,eta_receiver,gamma_receiver,&
station_name,network_name,adj_source_file,nrec_local,number_receiver_global, &
pm1_source_encoding,nsources_local,USE_FORCE_POINT_SOURCE, &
- factor_force_source
+ USE_RICKER_TIME_FUNCTION,factor_force_source
implicit none
include "constants.h"
@@ -123,7 +123,7 @@
do isource = 1,NSOURCES
! precomputes source time function factor
if(USE_FORCE_POINT_SOURCE) then
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = factor_force_source(isource) * comp_source_time_function_rickr( &
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -131,7 +131,7 @@
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
endif
else
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = comp_source_time_function_rickr( &
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -178,7 +178,7 @@
! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
!endif
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_used = factor_force_source(isource) * &
comp_source_time_function_rickr(dble(it-1)*DT-t0-tshift_src(isource),f0)
else
@@ -199,7 +199,7 @@
else
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf = comp_source_time_function_rickr( &
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -208,7 +208,7 @@
dble(it-1)*DT-t0-tshift_src(isource),hdur_gaussian(isource))
endif
- ! quasi-heaviside
+ ! quasi-Heaviside
!stf = comp_source_time_function(dble(it-1)*DT-t0-tshift_src(isource),hdur_gaussian(isource))
! source encoding
@@ -423,7 +423,7 @@
do isource = 1,NSOURCES
! precomputes source time function factors
if(USE_FORCE_POINT_SOURCE) then
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = factor_force_source(isource) * comp_source_time_function_rickr( &
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -431,7 +431,7 @@
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
endif
else
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = comp_source_time_function_rickr( &
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -476,10 +476,7 @@
! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
!endif
- ! gaussian source time function
- !stf_used = comp_source_time_function(dble(it-1)*DT-t0-tshift_src(isource),hdur_gaussian(isource))
-
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_used = factor_force_source(isource) * comp_source_time_function_rickr( &
dble(NSTEP-it)*DT-t0-tshift_src(isource),f0)
else
@@ -500,7 +497,7 @@
else
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf = comp_source_time_function_rickr( &
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -509,7 +506,7 @@
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur_gaussian(isource))
endif
- ! quasi-heaviside
+ ! quasi-Heaviside
!stf = comp_source_time_function(dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur_gaussian(isource))
! source encoding
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -46,7 +46,7 @@
mask_noise,noise_surface_movie, &
nrec_local,number_receiver_global, &
nsources_local,USE_FORCE_POINT_SOURCE, &
- factor_force_source
+ USE_RICKER_TIME_FUNCTION,factor_force_source
implicit none
@@ -125,7 +125,7 @@
do isource = 1,NSOURCES
! precomputes source time function factor
if(USE_FORCE_POINT_SOURCE) then
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = factor_force_source(isource) * comp_source_time_function_rickr( &
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -133,7 +133,7 @@
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
endif
else
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = comp_source_time_function_rickr( &
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -179,7 +179,7 @@
! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
!endif
- if( USE_RICKER_IPATI) then
+ if( USE_RICKER_TIME_FUNCTION) then
stf = comp_source_time_function_rickr(dble(it-1)*DT-t0-tshift_src(isource),f0)
else
stf = comp_source_time_function(dble(it-1)*DT-t0-tshift_src(isource),f0)
@@ -204,7 +204,7 @@
else
- if( USE_RICKER_IPATI) then
+ if( USE_RICKER_TIME_FUNCTION) then
stf = comp_source_time_function_rickr(dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
stf = comp_source_time_function(dble(it-1)*DT-t0-tshift_src(isource),hdur_gaussian(isource))
@@ -420,7 +420,7 @@
do isource = 1,NSOURCES
! precomputes source time function factors
if(USE_FORCE_POINT_SOURCE) then
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = factor_force_source(isource) * comp_source_time_function_rickr( &
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -428,7 +428,7 @@
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
endif
else
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf_pre_compute(isource) = comp_source_time_function_rickr( &
dble(NSTEP-it)*DT-t0-tshift_src(isource),hdur(isource))
else
@@ -473,7 +473,7 @@
! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
!endif
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf = comp_source_time_function_rickr(dble(NSTEP-it)*DT-t0-tshift_src(isource),f0)
else
stf = comp_source_time_function(dble(NSTEP-it)*DT-t0-tshift_src(isource),f0)
@@ -500,7 +500,7 @@
! see note above: time step corresponds now to NSTEP-it
! (also compare to it-1 for forward simulation)
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf = comp_source_time_function_rickr( &
dble(it-1)*DT-t0-tshift_src(isource),hdur(isource))
else
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -42,7 +42,7 @@
use specfem_par,only: PRINT_SOURCE_TIME_FUNCTION,stf_used_total, &
xigll,yigll,zigll,xi_receiver,eta_receiver,gamma_receiver,&
station_name,network_name,adj_source_file, &
- USE_FORCE_POINT_SOURCE
+ USE_RICKER_TIME_FUNCTION,USE_FORCE_POINT_SOURCE
implicit none
@@ -153,10 +153,7 @@
! print *,'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
endif
- ! gaussian source time function
- !stf_used = comp_source_time_function_gauss(dble(it-1)*DT-t0-tshift_src(isource),f0)
-
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf = comp_source_time_function_rickr(dble(it-1)*DT-t0-tshift_src(isource),f0)
else
stf = comp_source_time_function(dble(it-1)*DT-t0-tshift_src(isource),f0)
@@ -418,7 +415,7 @@
! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
!endif
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
stf = comp_source_time_function_rickr(dble(NSTEP-it)*DT-t0-tshift_src(isource),f0)
else
stf = comp_source_time_function(dble(NSTEP-it)*DT-t0-tshift_src(isource),f0)
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -48,7 +48,7 @@
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,ABSORB_INSTEAD_OF_FREE_SURFACE, &
- IMODEL)
+ USE_RICKER_TIME_FUNCTION,IMODEL)
! GPU_MODE is in par_file
call read_gpu_mode(GPU_MODE,GRAVITY)
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -35,7 +35,7 @@
islice_selected_source,ispec_selected_source, &
xi_source,eta_source,gamma_source, &
UTM_PROJECTION_ZONE,SUPPRESS_UTM_PROJECTION, &
- PRINT_SOURCE_TIME_FUNCTION, &
+ USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION, &
nu_source,iglob_is_surface_external_mesh,ispec_is_surface_external_mesh, &
ispec_is_acoustic,ispec_is_elastic,ispec_is_poroelastic, &
num_free_surface_faces,free_surface_ispec,free_surface_ijk, &
@@ -49,7 +49,8 @@
integer NPROC,UTM_PROJECTION_ZONE
integer NSPEC_AB,NGLOB_AB,NSOURCES
- logical PRINT_SOURCE_TIME_FUNCTION,SUPPRESS_UTM_PROJECTION,USE_FORCE_POINT_SOURCE
+ logical USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
+ logical SUPPRESS_UTM_PROJECTION,USE_FORCE_POINT_SOURCE
double precision DT
@@ -755,7 +756,7 @@
write(IMAIN,*) ' using a source of dominant frequency ',f0
write(IMAIN,*) ' lambda_S at dominant frequency = ',3000./sqrt(3.)/f0
write(IMAIN,*) ' lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
- if( USE_RICKER_IPATI ) then
+ if( USE_RICKER_TIME_FUNCTION ) then
t0_ricker = 1.2d0/f0
write(IMAIN,*) ' t0_ricker = ',t0_ricker
endif
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -127,7 +127,7 @@
islice_selected_source,ispec_selected_source, &
xi_source,eta_source,gamma_source, &
UTM_PROJECTION_ZONE,SUPPRESS_UTM_PROJECTION, &
- PRINT_SOURCE_TIME_FUNCTION, &
+ USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION, &
nu_source,iglob_is_surface_external_mesh,ispec_is_surface_external_mesh,&
ispec_is_acoustic,ispec_is_elastic,ispec_is_poroelastic, &
num_free_surface_faces,free_surface_ispec,free_surface_ijk, &
@@ -172,7 +172,7 @@
call max_all_all_dp(t0_acoustic,t0)
! point force sources will start depending on the frequency given by hdur
- if( USE_FORCE_POINT_SOURCE .or. USE_RICKER_IPATI ) then
+ if( USE_FORCE_POINT_SOURCE .or. USE_RICKER_TIME_FUNCTION ) then
! note: point force sources will give the dominant frequency in hdur,
! thus the main period is 1/hdur.
! also, these sources use a Ricker source time function instead of a gaussian.
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90 2012-10-19 00:19:03 UTC (rev 20854)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90 2012-10-19 14:07:15 UTC (rev 20855)
@@ -173,8 +173,10 @@
ABSORB_INSTEAD_OF_FREE_SURFACE
logical :: GRAVITY
- logical :: SAVE_FORWARD,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
+ logical :: SAVE_FORWARD,SAVE_MESH_FILES
+ logical :: USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
+
logical :: SUPPRESS_UTM_PROJECTION
integer :: NTSTEP_BETWEEN_OUTPUT_INFO
More information about the CIG-COMMITS
mailing list