[cig-commits] [commit] devel: Add a module to hide unused variables. (d28c9f5)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Mon May 26 05:40:33 PDT 2014


Repository : https://github.com/geodynamics/specfem3d

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d/compare/2696d80a7675a7c5a89fec3acdc11ca82439a18f...1a2f0a3f482f155db8320c64b4eae070bba090a2

>---------------------------------------------------------------

commit d28c9f5c2b1a47f44c42fdd0326df0c4792af84d
Author: Elliott Sales de Andrade <esalesde at physics.utoronto.ca>
Date:   Sat May 24 01:40:11 2014 -0400

    Add a module to hide unused variables.
    
    It's fortunate the Fortran compilers don't seem to check for dead code.


>---------------------------------------------------------------

d28c9f5c2b1a47f44c42fdd0326df0c4792af84d
 src/auxiliaries/combine_vol_data_adios_stubs.f90   | 60 ++++++++++++++++++++++
 src/auxiliaries/rules.mk                           |  4 +-
 .../generate_databases_adios_stubs.f90             | 59 ++++++++++-----------
 src/generate_databases/rules.mk                    |  3 +-
 src/meshfem3D/meshfem3D_adios_stubs.f90            | 24 +++++++++
 src/meshfem3D/rules.mk                             |  3 +-
 src/shared/rules.mk                                |  4 ++
 .../unused_mod.f90}                                | 20 +++++---
 src/specfem3D/rules.mk                             |  3 +-
 src/specfem3D/specfem3D_adios_stubs.f90            | 31 +++++++++++
 10 files changed, 168 insertions(+), 43 deletions(-)

diff --git a/src/auxiliaries/combine_vol_data_adios_stubs.f90 b/src/auxiliaries/combine_vol_data_adios_stubs.f90
index 5050a93..f216ad4 100644
--- a/src/auxiliaries/combine_vol_data_adios_stubs.f90
+++ b/src/auxiliaries/combine_vol_data_adios_stubs.f90
@@ -38,6 +38,7 @@ end subroutine print_usage_adios
 subroutine read_args_adios(arg, MAX_NUM_NODES, node_list, num_node,   &
                            var_name, value_file_name, mesh_file_name, &
                            outdir, ires)
+  use unused_mod
   ! Arguments
   character(len=*) :: arg(:)
   integer :: MAX_NUM_NODES
@@ -46,82 +47,141 @@ subroutine read_args_adios(arg, MAX_NUM_NODES, node_list, num_node,   &
   character(len=*) :: var_name, value_file_name, mesh_file_name, &
                                    outdir
 
+  unused_i4 = len_trim(arg(1))
+  unused_i4 = MAX_NUM_NODES
+  unused_i4 = node_list(1)
+  unused_i4 = num_node
+  unused_i4 = ires
+  unused_i4 = len_trim(var_name)
+  unused_i4 = len_trim(value_file_name)
+  unused_i4 = len_trim(mesh_file_name)
+  unused_i4 = len_trim(outdir)
+
   call no_adios_err()
 end subroutine read_args_adios
 
 !=============================================================================
 subroutine init_adios(value_file_name, mesh_file_name, &
                       value_handle, mesh_handle)
+  use unused_mod
   ! Parameters
   character(len=*) :: value_file_name, mesh_file_name
   integer(kind=8) :: value_handle, mesh_handle
 
+  unused_i4 = len_trim(value_file_name)
+  unused_i4 = len_trim(mesh_file_name)
+  unused_i8 = value_handle
+  unused_i8 = mesh_handle
+
   call no_adios_err()
 end subroutine init_adios
 
 !=============================================================================
 subroutine clean_adios(value_handle, mesh_handle)
+  use unused_mod
   ! Parameters
   integer(kind=8) :: value_handle, mesh_handle
 
+  unused_i8 = value_handle
+  unused_i8 = mesh_handle
+
   call no_adios_err()
 end subroutine clean_adios
 
 !=============================================================================
 subroutine read_scalars_adios_mesh(mesh_handle, iproc, NGLOB_AB, NSPEC_AB, &
                                    ibool_offset, x_global_offset)
+  use unused_mod
   ! Parameters
   integer(kind=8) :: mesh_handle
   integer :: iproc
   integer :: NGLOB_AB, NSPEC_AB, ibool_offset, x_global_offset
 
+  unused_i8 = mesh_handle
+  unused_i4 = iproc
+  unused_i4 = NGLOB_AB
+  unused_i4 = NSPEC_AB
+  unused_i4 = ibool_offset
+  unused_i4 = x_global_offset
+
   call no_adios_err()
 end subroutine read_scalars_adios_mesh
 
 !=============================================================================
 subroutine read_ibool_adios_mesh(mesh_handle, ibool_offset, &
                                  NGLLX, NGLLY, NGLLZ, NSPEC_AB, ibool)
+  use unused_mod
   ! Parameters
   integer(kind=8) :: mesh_handle
   integer :: ibool_offset, NGLLX, NGLLY, NGLLZ, NSPEC_AB
   integer, dimension(:,:,:,:) :: ibool
 
+  unused_i8 = mesh_handle
+  unused_i4 = ibool_offset
+  unused_i4 = NGLLX
+  unused_i4 = NGLLY
+  unused_i4 = NGLLZ
+  unused_i4 = NSPEC_AB
+  unused_i4 = ibool(1,1,1,1)
+
   call no_adios_err()
 end subroutine read_ibool_adios_mesh
 
 !=============================================================================
 subroutine read_coordinates_adios_mesh(mesh_handle, x_global_offset,  &
                                        NGLOB_AB, xstore, ystore, zstore)
+  use unused_mod
   use constants
   ! Parameters
   integer(kind=8) :: mesh_handle
   integer :: x_global_offset, NGLOB_AB
   real(kind=CUSTOM_REAL),dimension(:) :: xstore, ystore, zstore
 
+  unused_i8 = mesh_handle
+  unused_i4 = x_global_offset
+  unused_i4 = NGLOB_AB
+  unused_cr = xstore(1)
+  unused_cr = ystore(1)
+  unused_cr = zstore(1)
+
   call no_adios_err()
 end subroutine read_coordinates_adios_mesh
 
 !=============================================================================
 subroutine read_double_values_adios(value_handle, var_name, ibool_offset, &
                                     NSPEC_AB, dat)
+  use unused_mod
   ! Parameters
   integer(kind=8) :: value_handle
   character(len=*) :: var_name
   integer :: ibool_offset, NSPEC_AB
   double precision, dimension(:,:,:,:) :: dat
 
+  unused_i8 = value_handle
+  unused_i4 = len_trim(var_name)
+  unused_i4 = ibool_offset
+  unused_i4 = NSPEC_AB
+  unused_dp = dat(1,1,1,1)
+
   call no_adios_err()
 end subroutine read_double_values_adios
 
 !=============================================================================
 subroutine read_float_values_adios(value_handle, var_name, ibool_offset, &
                                     NSPEC_AB, dat)
+  use unused_mod
   ! Parameters
   integer(kind=8) :: value_handle
   character(len=*) :: var_name
   integer :: ibool_offset, NSPEC_AB
   real, dimension(:,:,:,:) :: dat
 
+  unused_i8 = value_handle
+  unused_i4 = len_trim(var_name)
+  unused_i4 = ibool_offset
+  unused_i4 = NSPEC_AB
+  unused_dp = dat(1,1,1,1)
+
   call no_adios_err()
 end subroutine read_float_values_adios
 
diff --git a/src/auxiliaries/rules.mk b/src/auxiliaries/rules.mk
index f24d808..4e70412 100644
--- a/src/auxiliaries/rules.mk
+++ b/src/auxiliaries/rules.mk
@@ -93,6 +93,7 @@ model_upd_auxiliaries_SHARED_OBJECTS = \
 	$O/param_reader.cc.o \
 	$O/read_parameter_file.shared.o \
 	$O/read_value_parameters.shared.o \
+	$O/unused_mod.shared_module.o \
 	$O/write_VTK_data.shared.o \
 	$(EMPTY_MACRO)
 
@@ -194,6 +195,7 @@ combine_vol_data_auxiliaries_SHARED_OBJECTS = \
 	$O/read_parameter_file.shared.o \
 	$O/read_value_parameters.shared.o \
 	$O/param_reader.cc.o \
+	$O/unused_mod.shared_module.o \
 	$O/write_c_binary.cc.o \
 	$(EMPTY_MACRO)
 
@@ -291,7 +293,7 @@ $E/xsum_kernels: $(sum_kernels_auxiliaries_OBJECTS) $(sum_kernels_auxiliaries_SH
 ### Module dependencies
 ###
 
-$O/combine_vol_data_adios_stubs.aux_noadios.o: $O/adios_manager_stubs.shared_noadios.o
+$O/combine_vol_data_adios_stubs.aux_noadios.o: $O/unused_mod.shared_module.o $O/adios_manager_stubs.shared_noadios.o
 ifeq ($(ADIOS),yes)
 $O/combine_vol_data.aux.o: $O/combine_vol_data_impl.aux.o $O/combine_vol_data_adios_impl.aux_adios.o
 $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 f6810c0..0548e4d 100644
--- a/src/generate_databases/generate_databases_adios_stubs.f90
+++ b/src/generate_databases/generate_databases_adios_stubs.f90
@@ -41,6 +41,7 @@
 subroutine model_gll_adios(myrank,nspec,LOCAL_PATH)
 
   use constants, only: MAX_STRING_LEN
+  use unused_mod
   use adios_manager_mod
 
   implicit none
@@ -48,13 +49,9 @@ subroutine model_gll_adios(myrank,nspec,LOCAL_PATH)
   integer, intent(in) :: myrank,nspec
   character(len=MAX_STRING_LEN) :: LOCAL_PATH
 
-  ! dummy to avoid compiler warning about unused variables
-  integer :: dummy
-  character(len=MAX_STRING_LEN) :: dummy_line
-
-  dummy = myrank
-  dummy = nspec
-  dummy_line = LOCAL_PATH
+  unused_i4 = myrank
+  unused_i4 = nspec
+  unused_i4 = len_trim(LOCAL_PATH)
 
   call no_adios_err()
 end subroutine
@@ -68,6 +65,7 @@ contains
 
 subroutine model_ipati_adios(myrank,nspec,LOCAL_PATH)
   use constants, only: MAX_STRING_LEN
+  use unused_mod
   use adios_manager_mod
 
   implicit none
@@ -75,19 +73,16 @@ subroutine model_ipati_adios(myrank,nspec,LOCAL_PATH)
   integer, intent(in) :: myrank,nspec
   character(len=MAX_STRING_LEN), intent(in) :: LOCAL_PATH
 
-  ! dummy to avoid compiler warning about unused variables
-  integer :: dummy
-  character(len=MAX_STRING_LEN) :: dummy_line
-
-  dummy = myrank
-  dummy = nspec
-  dummy_line = LOCAL_PATH
+  unused_i4 = myrank
+  unused_i4 = nspec
+  unused_i4 = len_trim(LOCAL_PATH)
 
   call no_adios_err()
 end subroutine model_ipati_adios
 
 subroutine model_ipati_water_adios(myrank,nspec,LOCAL_PATH)
   use constants, only: MAX_STRING_LEN
+  use unused_mod
   use adios_manager_mod
 
   implicit none
@@ -95,13 +90,9 @@ subroutine model_ipati_water_adios(myrank,nspec,LOCAL_PATH)
   integer, intent(in) :: myrank,nspec
   character(len=MAX_STRING_LEN), intent(in) :: LOCAL_PATH
 
-  ! dummy to avoid compiler warning about unused variables
-  integer :: dummy
-  character(len=MAX_STRING_LEN) :: dummy_line
-
-  dummy = myrank
-  dummy = nspec
-  dummy_line = LOCAL_PATH
+  unused_i4 = myrank
+  unused_i4 = nspec
+  unused_i4 = len_trim(LOCAL_PATH)
 
   call no_adios_err()
 end subroutine model_ipati_water_adios
@@ -109,6 +100,7 @@ end subroutine model_ipati_water_adios
 subroutine read_model_vp_rho_adios(myrank, nspec, LOCAL_PATH, &
                                    rho_read, vp_read)
   use constants, only: MAX_STRING_LEN
+  use unused_mod
   use adios_manager_mod
 
   implicit none
@@ -117,16 +109,11 @@ subroutine read_model_vp_rho_adios(myrank, nspec, LOCAL_PATH, &
   character(len=MAX_STRING_LEN), intent(in) :: LOCAL_PATH
   real, dimension(:,:,:,:), intent(inout) :: vp_read,rho_read
 
-  ! dummy to avoid compiler warning about unused variables
-  integer :: dummy
-  real :: dummy_r
-  character(len=MAX_STRING_LEN) :: dummy_line
-
-  dummy = myrank
-  dummy = nspec
-  dummy_line = LOCAL_PATH
-  dummy_r = vp_read(1,1,1,1)
-  dummy_r = rho_read(1,1,1,1)
+  unused_i4 = myrank
+  unused_i4 = nspec
+  unused_i4 = len_trim(LOCAL_PATH)
+  unused_r = vp_read(1,1,1,1)
+  unused_r = rho_read(1,1,1,1)
 
   call no_adios_err()
 end subroutine read_model_vp_rho_adios
@@ -156,6 +143,7 @@ subroutine save_arrays_solver_ext_mesh_adios(nspec, nglob,                   &
                                              ibool_interfaces_ext_mesh,      &
                                              SAVE_MESH_FILES,ANISOTROPY)
 
+  use unused_mod
   use adios_manager_mod
   use generate_databases_par, only: NGLLX,NGLLY,NGLLZ
 
@@ -172,6 +160,15 @@ subroutine save_arrays_solver_ext_mesh_adios(nspec, nglob,                   &
   logical :: SAVE_MESH_FILES
   logical :: ANISOTROPY
 
+  unused_i4 = nglob
+  unused_l  = APPROXIMATE_OCEAN_LOAD
+  unused_i4 = ibool(1,1,1,1)
+  unused_i4 = my_neighbours_ext_mesh(1)
+  unused_i4 = nibool_interfaces_ext_mesh(1)
+  unused_i4 = ibool_interfaces_ext_mesh(1,1)
+  unused_l  = SAVE_MESH_FILES
+  unused_l  = ANISOTROPY
+
   call no_adios_err()
 end subroutine
 
diff --git a/src/generate_databases/rules.mk b/src/generate_databases/rules.mk
index 5982a39..73b2df2 100644
--- a/src/generate_databases/rules.mk
+++ b/src/generate_databases/rules.mk
@@ -114,6 +114,7 @@ generate_databases_SHARED_OBJECTS = \
 	$O/recompute_jacobian.shared.o \
 	$O/save_header_file.shared.o \
 	$O/sort_array_coordinates.shared.o \
+	$O/unused_mod.shared_module.o \
 	$O/utm_geo.shared.o \
 	$O/write_VTK_data.shared.o \
 	$(EMPTY_MACRO)
@@ -220,7 +221,7 @@ else
 $O/get_model.gen.o: $O/generate_databases_par.gen.o $O/model_ipati_adios.gen_adios.o
 endif
 
-$O/generate_databases_adios_stubs.gen_noadios.o: $O/generate_databases_par.gen.o $(adios_generate_databases_PRESTUBS)
+$O/generate_databases_adios_stubs.gen_noadios.o: $O/generate_databases_par.gen.o $O/unused_mod.shared_module.o $(adios_generate_databases_PRESTUBS)
 
 $O/adios_helpers.shared_adios.o: \
 	$O/adios_helpers_definitions.shared_adios_module.o \
diff --git a/src/meshfem3D/meshfem3D_adios_stubs.f90 b/src/meshfem3D/meshfem3D_adios_stubs.f90
index f90b512..25b7fff 100644
--- a/src/meshfem3D/meshfem3D_adios_stubs.f90
+++ b/src/meshfem3D/meshfem3D_adios_stubs.f90
@@ -44,6 +44,7 @@ subroutine save_databases_adios(LOCAL_PATH, myrank, sizeprocs, &
    NMATERIALS,material_properties)
 
   use constants
+  use unused_mod
   use adios_manager_mod
 
   implicit none
@@ -68,5 +69,28 @@ subroutine save_databases_adios(LOCAL_PATH, myrank, sizeprocs, &
   integer :: NMATERIALS
   double precision, dimension(NMATERIALS,6) ::  material_properties
 
+  unused_i4 = len_trim(LOCAL_PATH)
+  unused_i4 = myrank
+  unused_i4 = sizeprocs
+  unused_i4 = iproc_xi
+  unused_i4 = iproc_eta
+  unused_i4 = addressing(0,0)
+  unused_l  = iMPIcut_xi(1,1)
+  unused_l  = iMPIcut_eta(1,1)
+  unused_i4 = ibool(1,1,1,1)
+  unused_dp = nodes_coords(1,1)
+  unused_i4 = true_material_num(1)
+  unused_i4 = nspec2D_xmin
+  unused_i4 = nspec2D_xmax
+  unused_i4 = nspec2D_ymin
+  unused_i4 = nspec2D_ymax
+  unused_i4 = ibelm_xmin(1)
+  unused_i4 = ibelm_xmax(1)
+  unused_i4 = ibelm_ymin(1)
+  unused_i4 = ibelm_ymax(1)
+  unused_i4 = ibelm_bottom(1)
+  unused_i4 = ibelm_top(1)
+  unused_dp = material_properties(1,1)
+
   call no_adios_err()
 end subroutine save_databases_adios
diff --git a/src/meshfem3D/rules.mk b/src/meshfem3D/rules.mk
index d37c02b..bb5fc83 100644
--- a/src/meshfem3D/rules.mk
+++ b/src/meshfem3D/rules.mk
@@ -76,6 +76,7 @@ meshfem3D_SHARED_OBJECTS = \
 	$O/read_value_parameters.shared.o \
 	$O/safe_alloc_mod.shared.o \
 	$O/sort_array_coordinates.shared.o \
+	$O/unused_mod.shared_module.o \
 	$O/utm_geo.shared.o \
 	$(EMPTY_MACRO)
 
@@ -138,7 +139,7 @@ $E/xmeshfem3D: $(XMESHFEM_OBJECTS)
 $O/meshfem3D.mesh.o: $O/create_regions_mesh.mesh.o $O/read_mesh_parameter_file.mesh.o
 
 ## adios
-$O/meshfem3D_adios_stubs.mesh_noadios.o: $O/constants_mod.shared_module.o $O/adios_manager_stubs.shared_noadios.o
+$O/meshfem3D_adios_stubs.mesh_noadios.o: $O/constants_mod.shared_module.o $O/unused_mod.shared_module.o $O/adios_manager_stubs.shared_noadios.o
 
 $O/save_databases_adios.mesh_adios.o: $O/safe_alloc_mod.shared.o $(adios_meshfem3D_PREOBJECTS)
 $O/create_regions_mesh.mesh.o: $(adios_meshfem3D_PREOBJECTS)
diff --git a/src/shared/rules.mk b/src/shared/rules.mk
index 7c872e6..ca805f6 100644
--- a/src/shared/rules.mk
+++ b/src/shared/rules.mk
@@ -67,6 +67,7 @@ shared_OBJECTS = \
 	$O/safe_alloc_mod.shared.o \
 	$O/save_header_file.shared.o \
 	$O/sort_array_coordinates.shared.o \
+	$O/unused_mod.shared_module.o \
 	$O/utm_geo.shared.o \
 	$O/write_c_binary.cc.o \
 	$O/write_VTK_data.shared.o \
@@ -76,6 +77,7 @@ shared_OBJECTS = \
 shared_MODULES = \
 	$(FC_MODDIR)/constants.$(FC_MODEXT) \
 	$(FC_MODDIR)/safe_alloc_mod.$(FC_MODEXT) \
+	$(FC_MODDIR)/unused_mod.$(FC_MODEXT) \
 	$(EMPTY_MACRO)
 
 
@@ -125,6 +127,8 @@ endif
 #### rule for each .o file below
 ####
 
+$O/unused_mod.shared_module.o: $O/constants_mod.shared_module.o
+
 ##
 ## shared
 ##
diff --git a/src/generate_databases/program_generate_databases.f90 b/src/shared/unused_mod.f90
similarity index 81%
copy from src/generate_databases/program_generate_databases.f90
copy to src/shared/unused_mod.f90
index 3eaaa4a..252605f 100644
--- a/src/generate_databases/program_generate_databases.f90
+++ b/src/shared/unused_mod.f90
@@ -25,15 +25,19 @@
 !
 !=====================================================================
 
-  program xgenerate_databases
+module unused_mod
 
-! mpi initialization
-  call init()
+  use constants, only: CUSTOM_REAL
 
-! run the main program
-  call generate_databases()
+  implicit none
 
-! mpi finish
-  call finalize()
+  private :: CUSTOM_REAL
 
-  end program xgenerate_databases
+  integer(kind=4) :: unused_i4
+  integer(kind=8) :: unused_i8
+  real :: unused_r
+  double precision :: unused_dp
+  real(kind=CUSTOM_REAL) :: unused_cr
+  logical :: unused_l
+
+end module unused_mod
diff --git a/src/specfem3D/rules.mk b/src/specfem3D/rules.mk
index 6c1e4d0..fad62a3 100644
--- a/src/specfem3D/rules.mk
+++ b/src/specfem3D/rules.mk
@@ -136,6 +136,7 @@ specfem3D_SHARED_OBJECTS = \
 	$O/recompute_jacobian.shared.o \
 	$O/save_header_file.shared.o \
 	$O/sort_array_coordinates.shared.o \
+	$O/unused_mod.shared_module.o \
 	$O/utm_geo.shared.o \
 	$O/write_VTK_data.shared.o \
 	$O/write_c_binary.cc.o \
@@ -364,7 +365,7 @@ $O/initialize_simulation.spec.o: $O/specfem3D_par.spec.o $(adios_specfem3D_PREOB
 $O/save_kernels_adios.spec_adios.o: $O/specfem3D_par.spec.o $(adios_specfem3D_PREOBJECTS)
 $O/save_forward_arrays_adios.spec_adios.o: $O/specfem3D_par.spec.o $O/pml_par.spec.o $(adios_specfem3D_PREOBJECTS)
 $O/finalize_simulation.spec.o: $O/specfem3D_par.spec.o $O/pml_par.spec.o $O/gravity_perturbation.spec.o $(adios_specfem3D_PREOBJECTS)
-$O/specfem3D_adios_stubs.spec_noadios.o: $O/specfem3D_par.spec.o $O/adios_manager_stubs.shared_noadios.o
+$O/specfem3D_adios_stubs.spec_noadios.o: $O/specfem3D_par.spec.o $O/unused_mod.shared_module.o $O/adios_manager_stubs.shared_noadios.o
 $O/adios_helpers.shared_adios.o: \
 	$O/adios_helpers_definitions.shared_adios_module.o \
 	$O/adios_helpers_writers.shared_adios_module.o
diff --git a/src/specfem3D/specfem3D_adios_stubs.f90 b/src/specfem3D/specfem3D_adios_stubs.f90
index a1f4310..2c400e1 100644
--- a/src/specfem3D/specfem3D_adios_stubs.f90
+++ b/src/specfem3D/specfem3D_adios_stubs.f90
@@ -39,11 +39,15 @@
 !------------------------------------------------'
 
 subroutine read_mesh_for_init(nspec, nglob)
+  use unused_mod
   use adios_manager_mod
 
   implicit none
   integer, intent(inout) :: nspec, nglob
 
+  unused_i4 = nspec
+  unused_i4 = nglob
+
   call no_adios_err()
 end subroutine read_mesh_for_init
 
@@ -64,36 +68,47 @@ end subroutine read_moho_mesh_adjoint_adios
 !-----------------------------------------'
 
 subroutine define_kernel_adios_variables(handle, SAVE_WEIGHTS)
+  use unused_mod
   use adios_manager_mod
 
   implicit none
   integer(kind=8), intent(inout) :: handle
   logical, intent(in) :: SAVE_WEIGHTS
 
+  unused_i8 = handle
+  unused_l  = SAVE_WEIGHTS
+
   call no_adios_err()
 end subroutine define_kernel_adios_variables
 
 subroutine perform_write_adios_kernels(handle)
+  use unused_mod
   use adios_manager_mod
 
   implicit none
   integer(kind=8), intent(in) :: handle
 
+  unused_i8 = handle
+
   call no_adios_err()
 end subroutine
 
 subroutine save_kernels_acoustic_adios(handle)
+  use unused_mod
   use adios_manager_mod
 
   implicit none
   integer(kind=8), intent(in) :: handle
 
+  unused_i8 = handle
+
   call no_adios_err()
 end subroutine
 
 subroutine save_kernels_elastic_adios(handle, alphav_kl, alphah_kl, &
                                       betav_kl, betah_kl, eta_kl,   &
                                       rhop_kl, alpha_kl, beta_kl)
+  use unused_mod
   use specfem_par
   use adios_manager_mod
 
@@ -103,24 +118,40 @@ subroutine save_kernels_elastic_adios(handle, alphav_kl, alphah_kl, &
     alphav_kl,alphah_kl,betav_kl,betah_kl, &
     eta_kl, rhop_kl, alpha_kl, beta_kl
 
+  unused_i8 = handle
+  unused_cr = alphav_kl(1,1,1,1)
+  unused_cr = alphah_kl(1,1,1,1)
+  unused_cr = betav_kl(1,1,1,1)
+  unused_cr = betah_kl(1,1,1,1)
+  unused_cr = eta_kl(1,1,1,1)
+  unused_cr = rhop_kl(1,1,1,1)
+  unused_cr = alpha_kl(1,1,1,1)
+  unused_cr = beta_kl(1,1,1,1)
+
   call no_adios_err()
 end subroutine
 
 subroutine save_kernels_poroelastic_adios(handle)
+  use unused_mod
   use adios_manager_mod
 
   implicit none
   integer(kind=8), intent(in) :: handle
 
+  unused_i8 = handle
+
   call no_adios_err()
 end subroutine save_kernels_poroelastic_adios
 
 subroutine save_kernels_hessian_adios(handle)
+  use unused_mod
   use adios_manager_mod
 
   implicit none
   integer(kind=8), intent(in) :: handle
 
+  unused_i8 = handle
+
   call no_adios_err()
 end subroutine save_kernels_hessian_adios
 



More information about the CIG-COMMITS mailing list