[cig-commits] [commit] devel: Adds argument to read_parameter_file for SEP models (7117d2e)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Thu Oct 2 14:07:14 PDT 2014
Repository : https://github.com/geodynamics/specfem3d
On branch : devel
Link : https://github.com/geodynamics/specfem3d/compare/858a86e5e8e4c076696d24c8c9942e93d3d663cb...7ef78c5b45b052afca446255945d0c62788f8e93
>---------------------------------------------------------------
commit 7117d2e0219ce70a8f4011a60e6656ae5adc0a15
Author: Matthieu Lefebvre <ml15 at princeton.edu>
Date: Tue Sep 23 11:44:03 2014 -0400
Adds argument to read_parameter_file for SEP models
>---------------------------------------------------------------
7117d2e0219ce70a8f4011a60e6656ae5adc0a15
.../create_movie_shakemap_AVS_DX_GMT.f90 | 5 +--
src/auxiliaries/smooth_vol_data.f90 | 5 +--
src/auxiliaries/sum_kernels.f90 | 5 +--
src/decompose_mesh/decompose_mesh.F90 | 2 +-
src/decompose_mesh/program_decompose_mesh.f90 | 5 +--
src/generate_databases/generate_databases.f90 | 5 ++-
src/generate_databases/generate_databases_par.f90 | 4 +--
src/generate_databases/get_model.f90 | 6 +++-
src/generate_databases/model_sep.f90 | 36 ++++++++++++++++++++++
src/meshfem3D/check_mesh_quality.f90 | 5 +--
src/meshfem3D/meshfem3D.f90 | 5 +--
src/shared/read_parameter_file.f90 | 20 ++++++------
src/specfem3D/initialize_simulation.f90 | 3 +-
src/specfem3D/specfem3D_par.f90 | 2 +-
14 files changed, 80 insertions(+), 28 deletions(-)
diff --git a/src/auxiliaries/create_movie_shakemap_AVS_DX_GMT.f90 b/src/auxiliaries/create_movie_shakemap_AVS_DX_GMT.f90
index b9e1ac6..abb304f 100644
--- a/src/auxiliaries/create_movie_shakemap_AVS_DX_GMT.f90
+++ b/src/auxiliaries/create_movie_shakemap_AVS_DX_GMT.f90
@@ -104,7 +104,7 @@
logical :: STACEY_ABSORBING_CONDITIONS,SAVE_FORWARD,STACEY_INSTEAD_OF_FREE_SURFACE
logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
logical :: PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE,FULL_ATTENUATION_SOLID,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
integer :: NPROC
integer :: ier
integer :: MOVIE_TYPE,IMODEL
@@ -136,7 +136,8 @@
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
! only one global array for movie data, but stored for all surfaces defined
! in file 'surface_from_mesher.h'
diff --git a/src/auxiliaries/smooth_vol_data.f90 b/src/auxiliaries/smooth_vol_data.f90
index 3fe750d..fd764c4 100644
--- a/src/auxiliaries/smooth_vol_data.f90
+++ b/src/auxiliaries/smooth_vol_data.f90
@@ -106,7 +106,7 @@ program smooth_vol_data
logical :: STACEY_ABSORBING_CONDITIONS,SAVE_FORWARD,STACEY_INSTEAD_OF_FREE_SURFACE
logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
logical :: PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE,FULL_ATTENUATION_SOLID,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
integer :: MOVIE_TYPE,IMODEL
! smoothing parameters
@@ -220,7 +220,8 @@ program smooth_vol_data
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
! checks if number of MPI process as specified
diff --git a/src/auxiliaries/sum_kernels.f90 b/src/auxiliaries/sum_kernels.f90
index e4ea5ec..2d01ff4 100644
--- a/src/auxiliaries/sum_kernels.f90
+++ b/src/auxiliaries/sum_kernels.f90
@@ -112,7 +112,7 @@ program sum_kernels
logical :: STACEY_ABSORBING_CONDITIONS,SAVE_FORWARD,STACEY_INSTEAD_OF_FREE_SURFACE
logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
logical :: PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE,FULL_ATTENUATION_SOLID,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
! ============ program starts here =====================
! initialize the MPI communicator and start the NPROCTOT MPI processes
@@ -158,7 +158,8 @@ program sum_kernels
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
! checks if number of MPI process as specified
if (sizeprocs /= NPROC) then
diff --git a/src/decompose_mesh/decompose_mesh.F90 b/src/decompose_mesh/decompose_mesh.F90
index 026cdc0..82dca2e 100644
--- a/src/decompose_mesh/decompose_mesh.F90
+++ b/src/decompose_mesh/decompose_mesh.F90
@@ -163,7 +163,7 @@ module decompose_mesh
logical :: STACEY_ABSORBING_CONDITIONS,SAVE_FORWARD,STACEY_INSTEAD_OF_FREE_SURFACE
logical :: ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
integer :: IMODEL
diff --git a/src/decompose_mesh/program_decompose_mesh.f90 b/src/decompose_mesh/program_decompose_mesh.f90
index d46de9b..3549bba 100644
--- a/src/decompose_mesh/program_decompose_mesh.f90
+++ b/src/decompose_mesh/program_decompose_mesh.f90
@@ -45,7 +45,7 @@ program pre_meshfem3D
STACEY_ABSORBING_CONDITIONS,SAVE_FORWARD,STACEY_INSTEAD_OF_FREE_SURFACE, &
ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION, &
LOCAL_PATH,TOMOGRAPHY_PATH,PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE, &
- f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM
+ f0_FOR_PML,IMODEL,SEP_MODEL_DIRECTORY,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM
implicit none
@@ -83,7 +83,8 @@ program pre_meshfem3D
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
! reads in (CUBIT) mesh files: mesh_file,nodes_coord_file, ...
call read_mesh_files()
diff --git a/src/generate_databases/generate_databases.f90 b/src/generate_databases/generate_databases.f90
index 181b161..66096a6 100644
--- a/src/generate_databases/generate_databases.f90
+++ b/src/generate_databases/generate_databases.f90
@@ -278,7 +278,8 @@
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
call read_adios_parameters(ADIOS_ENABLED, ADIOS_FOR_DATABASES, &
ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MESH, &
@@ -353,6 +354,8 @@
write(IMAIN,'(a)',advance='yes') ' ipati'
case( IMODEL_IPATI_WATER )
write(IMAIN,'(a)',advance='yes') ' ipati_water'
+ case( IMODEL_SEP)
+ write(IMAIN,'(a)',advance='yes') ' SEP'
end select
write(IMAIN,*)
diff --git a/src/generate_databases/generate_databases_par.f90 b/src/generate_databases/generate_databases_par.f90
index 91a7b7e..874d5a0 100644
--- a/src/generate_databases/generate_databases_par.f90
+++ b/src/generate_databases/generate_databases_par.f90
@@ -40,7 +40,7 @@
NPOWER,CPML_Rcoef, &
IMODEL_DEFAULT,IMODEL_GLL,IMODEL_1D_PREM,IMODEL_1D_CASCADIA,IMODEL_1D_SOCAL, &
IMODEL_SALTON_TROUGH,IMODEL_TOMO,IMODEL_USER_EXTERNAL,IMODEL_IPATI,IMODEL_IPATI_WATER, &
- IMODEL_1D_PREM_PB,IMODEL_GLL, &
+ IMODEL_1D_PREM_PB,IMODEL_SEP, &
IDOMAIN_ACOUSTIC,IDOMAIN_ELASTIC,IDOMAIN_POROELASTIC, &
OUTPUT_FILES_PATH,NX_TOPO_FILE,NY_TOPO_FILE, &
USE_MESH_COLORING_GPU,MAX_NUMBER_OF_COLORS, &
@@ -84,7 +84,7 @@
logical :: USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
logical :: MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT,USE_HIGHRES_FOR_MOVIES,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
logical :: ADIOS_ENABLED
logical :: ADIOS_FOR_DATABASES, ADIOS_FOR_MESH, ADIOS_FOR_FORWARD_ARRAYS, &
diff --git a/src/generate_databases/get_model.f90 b/src/generate_databases/get_model.f90
index 3066075..136dddc 100644
--- a/src/generate_databases/get_model.f90
+++ b/src/generate_databases/get_model.f90
@@ -507,7 +507,7 @@
! reads in material parameters from external binary files
use generate_databases_par,only: IMODEL, &
- IMODEL_GLL,IMODEL_IPATI,IMODEL_IPATI_WATER, &
+ IMODEL_GLL,IMODEL_IPATI,IMODEL_IPATI_WATER, IMODEL_SEP, &
ADIOS_FOR_MESH
use create_regions_mesh_ext_par
@@ -554,6 +554,10 @@
call model_ipati_water(myrank,nspec,LOCAL_PATH)
endif
+ case( IMODEL_SEP)
+ ! use values from SEP files
+ call model_sep()
+
end select
end subroutine get_model_binaries
diff --git a/src/generate_databases/model_sep.f90 b/src/generate_databases/model_sep.f90
index 9601d62..87b88b3 100644
--- a/src/generate_databases/model_sep.f90
+++ b/src/generate_databases/model_sep.f90
@@ -45,6 +45,42 @@ subroutine model_sep()
DX, DY, DZ, rho_vp)
call interpolate_sep_on_mesh(vs_sep, xmin, ymin, ni, nj, NZ, &
DX, DY, DZ, rho_vs)
+
+ ! Assign acoustic / elastic properties with respect to vs being 0 or not.
+ ! Note that an element should be entirely elastic or acoustic
+ do ispec = 1, NSPEC
+ num_acoustic_pts = 0
+ num_elastic_pts = 0
+ do k = 1, NGLLZ
+ do j = 1, NGLLY
+ do i = 1, NGLLX
+ if (rho_vs(i, j, k, ispec) == 0) then
+ num_acoustic_pts = num_acoustic_pts + 1
+ else
+ num_elastic_pts = num_elastic_pts + 1
+ endif
+ enddo ! k
+ enddo ! j
+ enddo ! i
+ if (num_acoustic_pts > num_elastic_pts) then
+ ispec_is_acoustic(ispec) = .true.
+ ! Z axis is up. Bottom points might include the elastic material
+ if (any(rho_vs(, :, 1, ispec) /= 0.0)) then
+ rho_vs(:, :, :, ispec) = 0.0
+ rho(:, :, :, ispec) = minval(rho(:, :, :. ispec))
+ rho_vp(:, :, :, ispec) = minval(rho(:, :, :. ispec))
+ endif
+ else
+ ispec_is_elastic(ispec) = .true.
+ ! Z axis is up. Top points might include the acoustic interface
+ if (any(rho_vs(, :, NGLLZ, ispec) == 0.0)) then
+ rho_vs(:, :, NGLLZ-1, ispec) = 0.0
+ rho(:, :, NGLLZ-1, ispec) = minval(rho(:, :, :. ispec))
+ rho_vp(:, :, NGLLZ-1, ispec) = minval(rho(:, :, :. ispec))
+ endif
+ endif
+ enddo ! ispec
+
! SPECFEM expects rho*velocity
rho_vp = rho_vp * rhostore
rho_vs = rho_vs * rhostore
diff --git a/src/meshfem3D/check_mesh_quality.f90 b/src/meshfem3D/check_mesh_quality.f90
index 972a587..af6b34f 100644
--- a/src/meshfem3D/check_mesh_quality.f90
+++ b/src/meshfem3D/check_mesh_quality.f90
@@ -102,7 +102,7 @@
logical STACEY_ABSORBING_CONDITIONS,SAVE_FORWARD,STACEY_INSTEAD_OF_FREE_SURFACE
logical ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
logical PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE,FULL_ATTENUATION_SOLID,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
integer NPROC
integer MOVIE_TYPE,IMODEL
@@ -127,7 +127,8 @@
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
if(NGNOD /= 8) stop 'error: check_mesh_quality only supports NGNOD == 8 for now'
diff --git a/src/meshfem3D/meshfem3D.f90 b/src/meshfem3D/meshfem3D.f90
index 56c08a7..863328b 100644
--- a/src/meshfem3D/meshfem3D.f90
+++ b/src/meshfem3D/meshfem3D.f90
@@ -345,7 +345,7 @@
logical ANISOTROPY,SAVE_MESH_FILES,USE_RICKER_TIME_FUNCTION,PRINT_SOURCE_TIME_FUNCTION
logical PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE,FULL_ATTENUATION_SOLID,COUPLE_WITH_DSM
integer MOVIE_TYPE,IMODEL
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,TRACTION_PATH, SEP_MODEL_DIRECTORY
logical :: ADIOS_ENABLED, ADIOS_FOR_DATABASES, ADIOS_FOR_MESH, &
ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_KERNELS
@@ -390,7 +390,8 @@
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
call read_adios_parameters(ADIOS_ENABLED, ADIOS_FOR_DATABASES, &
ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MESH, &
diff --git a/src/shared/read_parameter_file.f90 b/src/shared/read_parameter_file.f90
index 763da80..287e4dc 100644
--- a/src/shared/read_parameter_file.f90
+++ b/src/shared/read_parameter_file.f90
@@ -35,7 +35,8 @@
SIMULATION_TYPE,SAVE_FORWARD,NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
use constants
@@ -54,7 +55,8 @@
logical USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE,USE_RICKER_TIME_FUNCTION
logical PML_CONDITIONS,PML_INSTEAD_OF_FREE_SURFACE,FULL_ATTENUATION_SOLID,COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,CMTSOLUTION,FORCESOLUTION,TRACTION_PATH,path_to_add, SEP_MODEL_DIRECTORY
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,CMTSOLUTION,FORCESOLUTION, &
+ TRACTION_PATH,path_to_add, SEP_MODEL_DIRECTORY
! local variables
@@ -63,7 +65,7 @@
character(len=MAX_STRING_LEN) :: dummystring
character(len=MAX_STRING_LEN) :: MODEL
- logical :: sep_dir_exists
+ !logical :: sep_dir_exists
integer :: i,irange,ierr
! opens file Par_file
@@ -108,9 +110,9 @@
if (ierr /= 0) stop 'Error reading Par_file parameter NGNOD'
call read_value_string(MODEL, 'MODEL', ierr)
if (ierr /= 0) stop 'Error reading Par_file parameter MODEL'
- write(SEP_MODEL_DIRECTORY, 'a') ''
+ write(SEP_MODEL_DIRECTORY, '(a)') ''
call read_value_string(SEP_MODEL_DIRECTORY, 'SEP_MODEL_DIRECTORY', ierr)
- if (ierr /= 0) write (0, 'a') 'No SEP_MODEL_DIRECTORY defined in Par_file.'
+ if (ierr /= 0) write (0, '(a)') 'No SEP_MODEL_DIRECTORY defined in Par_file.'
!if (ierr /= 0) stop 'Error reading Par_file parameter SEP_MODEL_DIRECTORY'
call read_value_logical(APPROXIMATE_OCEAN_LOAD, 'APPROXIMATE_OCEAN_LOAD', ierr)
if (ierr /= 0) stop 'Error reading Par_file parameter APPROXIMATE_OCEAN_LOAD'
@@ -349,10 +351,10 @@
if (trim(SEP_MODEL_DIRECTORY) == '') then
stop 'Error: Using sep model requires defining a SEP_MODEL_DIRECTORY.'
endif
- inquire(directory=trim(SEP_MODEL_DIRECTORY), exists=sep_dir_exists)
- if (.not. sep_dir_exists) then
- stop 'Error: SEP_MODEL_DIRECTORY should exist.'
- endif
+ !inquire(directory=trim(SEP_MODEL_DIRECTORY), exists=sep_dir_exists)
+ !if (.not. sep_dir_exists) then
+ ! stop 'Error: SEP_MODEL_DIRECTORY should exist.'
+ !endif
case default
diff --git a/src/specfem3D/initialize_simulation.f90 b/src/specfem3D/initialize_simulation.f90
index 06bbe04..c70ac34 100644
--- a/src/specfem3D/initialize_simulation.f90
+++ b/src/specfem3D/initialize_simulation.f90
@@ -52,7 +52,8 @@
NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
USE_FORCE_POINT_SOURCE,STACEY_INSTEAD_OF_FREE_SURFACE, &
USE_RICKER_TIME_FUNCTION,OLSEN_ATTENUATION_RATIO,PML_CONDITIONS, &
- PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL,FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
+ PML_INSTEAD_OF_FREE_SURFACE,f0_FOR_PML,IMODEL, SEP_MODEL_DIRECTORY, &
+ FULL_ATTENUATION_SOLID,TRACTION_PATH,COUPLE_WITH_DSM)
call read_adios_parameters(ADIOS_ENABLED, ADIOS_FOR_DATABASES, &
ADIOS_FOR_MESH, ADIOS_FOR_FORWARD_ARRAYS, &
diff --git a/src/specfem3D/specfem3D_par.f90 b/src/specfem3D/specfem3D_par.f90
index 8fb67cd..2dfc739 100644
--- a/src/specfem3D/specfem3D_par.f90
+++ b/src/specfem3D/specfem3D_par.f90
@@ -195,7 +195,7 @@ module specfem_par
logical :: COUPLE_WITH_DSM
- character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,prname,dsmname,TRACTION_PATH
+ character(len=MAX_STRING_LEN) :: LOCAL_PATH,TOMOGRAPHY_PATH,prname,dsmname,TRACTION_PATH, SEP_MODEL_DIRECTORY
logical :: ADIOS_ENABLED
logical :: ADIOS_FOR_DATABASES, ADIOS_FOR_MESH, ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_KERNELS
More information about the CIG-COMMITS
mailing list