[cig-commits] r20780 - in seismo/3D/SPECFEM3D/trunk/src: generate_databases shared specfem3D
joseph.charles at geodynamics.org
joseph.charles at geodynamics.org
Wed Sep 26 12:06:04 PDT 2012
Author: joseph.charles
Date: 2012-09-26 12:06:04 -0700 (Wed, 26 Sep 2012)
New Revision: 20780
Modified:
seismo/3D/SPECFEM3D/trunk/src/generate_databases/Makefile.in
seismo/3D/SPECFEM3D/trunk/src/generate_databases/finalize_databases.f90
seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90
Log:
fixes the NAMELIST problem for gfortran
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/Makefile.in
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/Makefile.in 2012-09-26 18:50:11 UTC (rev 20779)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/Makefile.in 2012-09-26 19:06:04 UTC (rev 20780)
@@ -166,7 +166,7 @@
# rules for the pure Fortran version
@COND_PYRE_FALSE at xgenerate_databases: $(XGENERATE_DATABASES_OBJECTS) $(COND_MPI_OBJECTS)
- at COND_PYRE_FALSE@ ${FCLINK} -o ${E}/xgenerate_databases $(XGENERATE_DATABASES_OBJECTS) $(COND_MPI_OBJECTS) $(MPILIBS)
+ at COND_PYRE_FALSE@ ${FCLINK} -o ${E}/xgenerate_databases -Xlinker --start-group $(XGENERATE_DATABASES_OBJECTS) --end-group $(COND_MPI_OBJECTS) $(MPILIBS)
@COND_PYRE_FALSE@
@COND_PYRE_FALSE@# solver also depends on values from mesher
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/finalize_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/finalize_databases.f90 2012-09-26 18:50:11 UTC (rev 20779)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/finalize_databases.f90 2012-09-26 19:06:04 UTC (rev 20780)
@@ -100,6 +100,7 @@
! copy number of elements and points in an include file for the solver
if( myrank == 0 ) then
+
call save_header_file(NSPEC_AB,NGLOB_AB,NPROC, &
ATTENUATION,ANISOTROPY,NSTEP,DT,ABSORB_INSTEAD_OF_FREE_SURFACE, &
SIMULATION_TYPE,max_memory_size,nfaces_surface_glob_ext_mesh)
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90 2012-09-26 18:50:11 UTC (rev 20779)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90 2012-09-26 19:06:04 UTC (rev 20780)
@@ -37,22 +37,22 @@
integer NSPEC_AB,NGLOB_AB,NPROC,NSTEP,SIMULATION_TYPE
logical ATTENUATION,ANISOTROPY
- logical ABSORB_INSTEAD_OF_FREE_SURFACE, ABSORB_INSTEAD_OF_FREE_SURFACE_VAL
+ logical ABSORB_INSTEAD_OF_FREE_SURFACE, ABSORB_FREE_SURFACE_VAL
- double precision DT
+ double precision DT, memory_size
- double precision :: memory_size
-
character(len=256) HEADER_FILE
- integer :: nfaces_surface_glob_ext_mesh
+ integer nfaces_surface_glob_ext_mesh
+
+ NAMELIST/MESHER/ABSORB_FREE_SURFACE_VAL
- if(ABSORB_INSTEAD_OF_FREE_SURFACE) then
- ABSORB_INSTEAD_OF_FREE_SURFACE_VAL = .true.
+ if (ABSORB_INSTEAD_OF_FREE_SURFACE) then
+ ABSORB_FREE_SURFACE_VAL = .true.
else
- ABSORB_INSTEAD_OF_FREE_SURFACE_VAL = .false.
- endif
-
+ ABSORB_FREE_SURFACE_VAL = .false.
+ endif
+
! copy number of elements and points in an include file for the solver
call get_value_string(HEADER_FILE, 'solver.HEADER_FILE', &
OUTPUT_FILES_PATH(1:len_trim(OUTPUT_FILES_PATH))//'/values_from_mesher.h')
@@ -125,6 +125,7 @@
write(IOUT,*) '! (if significantly less, you waste a significant amount of memory)'
write(IOUT,*) '!'
write(IOUT,*) '! check parameter to ensure the code has been compiled with the right values:'
+ write(IOUT,NML=MESHER)
write(IOUT,*)
close(IOUT)
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90 2012-09-26 18:50:11 UTC (rev 20779)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90 2012-09-26 19:06:04 UTC (rev 20780)
@@ -224,11 +224,11 @@
integer :: sizeprocs
integer :: ier
- character(len=256) HEADER_FILE
- logical :: ABSORB_INSTEAD_OF_FREE_SURFACE_VAL
-
- NAMELIST/MESHER/ABSORB_INSTEAD_OF_FREE_SURFACE_VAL
+ character(len=256) :: HEADER_FILE
+ logical :: ABSORB_FREE_SURFACE_VAL
+ NAMELIST/MESHER/ABSORB_FREE_SURFACE_VAL
+
! sizeprocs returns number of processes started
! (should be equal to NPROC)
call world_size(sizeprocs)
@@ -286,8 +286,8 @@
read(IOUT,NML=MESHER)
close(IOUT)
- if (ABSORB_INSTEAD_OF_FREE_SURFACE .NEQV. ABSORB_INSTEAD_OF_FREE_SURFACE_VAL) then
- write(IMAIN,*) 'ABSORB_INSTEAD_OF_FREE_SURFACE:',ABSORB_INSTEAD_OF_FREE_SURFACE,ABSORB_INSTEAD_OF_FREE_SURFACE_VAL
+ if (ABSORB_INSTEAD_OF_FREE_SURFACE .NEQV. ABSORB_FREE_SURFACE_VAL) then
+ write(IMAIN,*) 'ABSORB_INSTEAD_OF_FREE_SURFACE:',ABSORB_INSTEAD_OF_FREE_SURFACE,ABSORB_FREE_SURFACE_VAL
call exit_MPI(myrank,'error in compiled parameters ABSORB_INSTEAD_OF_FREE_SURFACE, please recompile solver')
endif
endif
More information about the CIG-COMMITS
mailing list