[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