[cig-commits] [commit] QA: Fix compile with ADIOS enabled. (076c717)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Mon Jan 20 07:11:44 PST 2014
Repository : ssh://geoshell/specfem3d
On branch : QA
Link : https://github.com/geodynamics/specfem3d/compare/4359ed56c14ef8f87387f46c8b705a1d395a40ba...8e7fca259d3e520c105549cfacfb92b6c83f8971
>---------------------------------------------------------------
commit 076c717bb3785e6ae3680e8bed29e2b52dbf85db
Author: Elliott Sales de Andrade <esalesde at physics.utoronto.ca>
Date: Sat Jan 18 01:42:58 2014 -0500
Fix compile with ADIOS enabled.
Three issues:
* Some string constants were split without the join operator (//) between
them.
* The error "Procedure 'read_model_vp_rho_adios' at (1) with assumed-shape
dummy argument 'rho_read' must have an explicit interface".
* Some incorrect sizing of an array, followed by accessing unallocated
indices, could cause a crash.
>---------------------------------------------------------------
076c717bb3785e6ae3680e8bed29e2b52dbf85db
src/generate_databases/Makefile.in | 4 +++-
.../generate_databases_adios_stubs.f90 | 28 +++++++++++++++++++---
src/generate_databases/get_model.f90 | 2 ++
src/generate_databases/model_ipati_adios.F90 | 4 ++++
src/specfem3D/read_mesh_databases_adios.F90 | 4 ++--
src/specfem3D/save_forward_arrays_adios.F90 | 2 +-
6 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/src/generate_databases/Makefile.in b/src/generate_databases/Makefile.in
index 3d495a8..7118469 100644
--- a/src/generate_databases/Makefile.in
+++ b/src/generate_databases/Makefile.in
@@ -221,7 +221,6 @@ $O/fault_generate_databases.o: $O/generate_databases_par.o
$O/finalize_databases.o: $O/generate_databases_par.o
$O/get_absorbing_boundary.o: $O/generate_databases_par.o
$O/get_coupling_surfaces.o: $O/generate_databases_par.o
-$O/get_model.o: $O/generate_databases_par.o
$O/get_MPI.o: $O/generate_databases_par.o
$O/memory_eval.o: $O/generate_databases_par.o
$O/model_1d_cascadia.o: $O/generate_databases_par.o
@@ -249,6 +248,9 @@ $O/generate_databases.o: $O/generate_databases_par.o $(ADIOS_PREOBJECTS)
$O/save_arrays_solver_adios.adios.o: $O/generate_databases_par.o $(ADIOS_PREOBJECTS)
$O/save_moho_adios.adios.o: $O/generate_databases_par.o $(ADIOS_PREOBJECTS)
+ at COND_ADIOS_TRUE@$O/get_model.o: $O/generate_databases_par.o $O/model_ipati_adios.adios.o
+ at COND_ADIOS_FALSE@$O/get_model.o: $O/generate_databases_par.o $O/generate_databases_adios_stubs.noadios.o
+
$O/generate_databases_adios_stubs.noadios.o: $(ADIOS_PRESTUBS)
$O/adios_helpers.shared_adios.o: \
diff --git a/src/generate_databases/generate_databases_adios_stubs.f90 b/src/generate_databases/generate_databases_adios_stubs.f90
index dea77dc..5d23ef5 100644
--- a/src/generate_databases/generate_databases_adios_stubs.f90
+++ b/src/generate_databases/generate_databases_adios_stubs.f90
@@ -22,24 +22,46 @@ end subroutine
! Subroutines from model_ipati_adios.F90 |
!----------------------------------------'
-subroutine model_ipati_adios()
+module model_ipati_adios_mod
+contains
+
+subroutine model_ipati_adios(myrank,nspec,LOCAL_PATH)
use adios_manager_mod
+ implicit none
+
+ integer, intent(in) :: myrank,nspec
+ character(len=256), intent(in) :: LOCAL_PATH
+
call no_adios_err()
end subroutine model_ipati_adios
-subroutine model_ipati_water_adios()
+subroutine model_ipati_water_adios(myrank,nspec,LOCAL_PATH)
use adios_manager_mod
+ implicit none
+
+ integer, intent(in) :: myrank,nspec
+ character(len=256), intent(in) :: LOCAL_PATH
+
call no_adios_err()
end subroutine model_ipati_water_adios
-subroutine read_model_vp_rho_adios()
+subroutine read_model_vp_rho_adios(myrank, nspec, LOCAL_PATH, &
+ rho_read, vp_read)
use adios_manager_mod
+ implicit none
+
+ integer, intent(in) :: myrank,nspec
+ character(len=256), intent(in) :: LOCAL_PATH
+ real, dimension(:,:,:,:), intent(inout) :: vp_read,rho_read
+
call no_adios_err()
end subroutine read_model_vp_rho_adios
+end module model_ipati_adios_mod
+
!-------------------------------------------------.
! Subroutines from read_partition_files_adios.F90 |
!-------------------------------------------------'
diff --git a/src/generate_databases/get_model.f90 b/src/generate_databases/get_model.f90
index dbace63..1bfac06 100644
--- a/src/generate_databases/get_model.f90
+++ b/src/generate_databases/get_model.f90
@@ -480,6 +480,8 @@
use create_regions_mesh_ext_par
+ use model_ipati_adios_mod
+
implicit none
! number of spectral elements in each block
diff --git a/src/generate_databases/model_ipati_adios.F90 b/src/generate_databases/model_ipati_adios.F90
index 95fa162..01030d0 100644
--- a/src/generate_databases/model_ipati_adios.F90
+++ b/src/generate_databases/model_ipati_adios.F90
@@ -25,6 +25,8 @@
!=====================================================================
+module model_ipati_adios_mod
+contains
!-----------------------------------------------------------------------------
!
! IPATI
@@ -211,3 +213,5 @@ subroutine read_model_vp_rho_adios (myrank, nspec, LOCAL_PATH, &
call adios_read_close(handle,ier)
call adios_read_finalize_method(ADIOS_READ_METHOD_BP, ier)
end subroutine read_model_vp_rho_adios
+
+end module model_ipati_adios_mod
diff --git a/src/specfem3D/read_mesh_databases_adios.F90 b/src/specfem3D/read_mesh_databases_adios.F90
index 4cbeef5..85d1051 100644
--- a/src/specfem3D/read_mesh_databases_adios.F90
+++ b/src/specfem3D/read_mesh_databases_adios.F90
@@ -926,8 +926,8 @@ subroutine read_mesh_databases_adios()
endif
if( POROELASTIC_SIMULATION ) then
- if( num_phase_ispec_poroelastic < 0 ) stop 'error poroelastic simulation:'&
- 'num_phase_ispec_poroelastic is < zero'
+ if( num_phase_ispec_poroelastic < 0 ) &
+ stop 'error poroelastic simulation:num_phase_ispec_poroelastic is < zero'
allocate( phase_ispec_inner_poroelastic(num_phase_ispec_poroelastic,2), &
stat=ier)
if( ier /= 0 ) stop 'error allocating array phase_ispec_inner_poroelastic'
diff --git a/src/specfem3D/save_forward_arrays_adios.F90 b/src/specfem3D/save_forward_arrays_adios.F90
index 69290e0..6c4d16c 100644
--- a/src/specfem3D/save_forward_arrays_adios.F90
+++ b/src/specfem3D/save_forward_arrays_adios.F90
@@ -66,7 +66,7 @@ subroutine save_forward_arrays_adios()
!--- Variables to allreduce - wmax stands for world_max
integer :: nglob_wmax, nspec_wmax, NSPEC_ATTENUATION_wmax, &
NSPEC_STRAIN_wmax, NSPEC_ATTENUATION_kappa_wmax, N_SLS_wmax
- integer, parameter :: num_vars = 2
+ integer, parameter :: num_vars = 5
integer, dimension(num_vars) :: max_global_values
integer :: ier
More information about the CIG-COMMITS
mailing list