[cig-commits] r22163 - in seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS: DATA EXAMPLES/regional_Greece_small/DATA src/meshfem3D src/shared src/specfem3D
lefebvre at geodynamics.org
lefebvre at geodynamics.org
Wed May 29 11:20:44 PDT 2013
Author: lefebvre
Date: 2013-05-29 11:20:44 -0700 (Wed, 29 May 2013)
New Revision: 22163
Modified:
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/DATA/Par_file
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/EXAMPLES/regional_Greece_small/DATA/Par_file
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/Makefile.in
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/create_regions_mesh.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/initialize_mesher.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/meshfem3D_par.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/broadcast_compute_parameters.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/read_parameter_file.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/initialize_simulation.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/specfem3D_par.F90
Log:
Flag added for using ADIOS for AVs/DX data.
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/DATA/Par_file 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/DATA/Par_file 2013-05-29 18:20:44 UTC (rev 22163)
@@ -124,4 +124,4 @@
ADIOS_FOR_FORWARD_ARRAYS = .true.
ADIOS_FOR_MPI_ARRAYS = .true.
ADIOS_FOR_ARRAYS_SOLVER = .true.
-
+ADIOS_FOR_AVS_DX = .true.
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/EXAMPLES/regional_Greece_small/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/EXAMPLES/regional_Greece_small/DATA/Par_file 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/EXAMPLES/regional_Greece_small/DATA/Par_file 2013-05-29 18:20:44 UTC (rev 22163)
@@ -125,3 +125,4 @@
ADIOS_FOR_MPI_ARRAYS = .true.
ADIOS_FOR_ARRAYS_SOLVER = .true.
ADIOS_FOR_SOLVER_MESHFILES = .true.
+ADIOS_FOR_AVS_DX = .true.
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/Makefile.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/Makefile.in 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/Makefile.in 2013-05-29 18:20:44 UTC (rev 22163)
@@ -200,6 +200,8 @@
$O/get_absorb_adios.adios.o \
$O/adios_manager.shared_adios.o \
$O/adios_helpers.shared_adios.o \
+ $O/write_AVS_DX_global_data_adios.adios.o \
+ $O/create_regions_mesh_adios.adios.o \
$O/save_arrays_solver_adios.adios.o
ADIOS_STUBS = \
$O/adios_empty_stubs.noadios.o
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/create_regions_mesh.f90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/create_regions_mesh.f90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -1170,23 +1170,29 @@
!
-!-------------------------------------------------------------------------------------------------
+!-------------------------------------------------------------------------------
!
- subroutine crm_save_mesh_files(nspec,npointot,iregion_code)
+subroutine crm_save_mesh_files(nspec,npointot,iregion_code)
use meshfem3d_par,only: &
ibool,idoubling, &
xstore,ystore,zstore, &
myrank,NGLLX,NGLLY,NGLLZ, &
RICB,RCMB,RTOPDDOUBLEPRIME,R600,R670,R220,R771,R400,R120,R80,RMOHO, &
- RMIDDLE_CRUST,ROCEAN
+ RMIDDLE_CRUST,ROCEAN, &
+ ADIOS_FOR_AVS_DX
+
use meshfem3D_models_par,only: &
ELLIPTICITY,ISOTROPIC_3D_MANTLE, &
nspl,rspl,espl,espl2
use create_regions_mesh_par2
+
+ ! Modules for temporary AVS/DX data
+ use AVS_DX_global_mod
+
implicit none
! number of spectral elements in each block
@@ -1196,8 +1202,13 @@
! arrays used for AVS or DX files
integer, dimension(:), allocatable :: num_ibool_AVS_DX
logical, dimension(:), allocatable :: mask_ibool
- integer :: ier
+ ! structures used for ADIOS AVS/DX files
+ type(avs_dx_global_t) :: avs_dx_global_vars
+ character(len=150) :: reg_name, outputname, group_name
+ integer :: comm, sizeprocs, ier
+ integer(kind=8) :: adios_group, group_size_inc, adios_totalsize, adios_handle
+
! arrays num_ibool_AVS_DX and mask_ibool used to save memory
! allocate memory for arrays
allocate(num_ibool_AVS_DX(npointot), &
@@ -1205,8 +1216,13 @@
stat=ier)
if(ier /= 0) stop 'error in allocate 21'
- call write_AVS_DX_global_data(myrank,prname,nspec,ibool,idoubling,xstore,ystore,zstore, &
- num_ibool_AVS_DX,mask_ibool,npointot)
+ if (ADIOS_FOR_AVS_DX) then
+ call crm_save_mesh_files_adios(nspec,npointot,iregion_code, &
+ num_ibool_AVS_DX, mask_ibool)
+ else
+ call write_AVS_DX_global_data(myrank,prname,nspec,ibool,idoubling, &
+ xstore,ystore,zstore, num_ibool_AVS_DX,mask_ibool,npointot)
+ endif
call write_AVS_DX_global_faces_data(myrank,prname,nspec,iMPIcut_xi,iMPIcut_eta,ibool, &
idoubling,xstore,ystore,zstore,num_ibool_AVS_DX,mask_ibool,npointot, &
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/initialize_mesher.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/initialize_mesher.f90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/initialize_mesher.f90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -105,7 +105,7 @@
! ADIOS_ENABLED: parameter is optional, may not be in the Par_file
call read_adios_parameters(ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, &
ADIOS_FOR_MPI_ARRAYS, ADIOS_FOR_ARRAYS_SOLVER, &
- ADIOS_FOR_SOLVER_MESHFILES)
+ ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX)
endif
@@ -145,7 +145,7 @@
! broadcasts optional ADIOS_ENABLED
call broadcast_adios_parameters(myrank,ADIOS_ENABLED, &
ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, ADIOS_FOR_ARRAYS_SOLVER, &
- ADIOS_FOR_SOLVER_MESHFILES)
+ ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX)
! check that the code is running with the requested number of processes
if(sizeprocs /= NPROCTOT) call exit_MPI(myrank,'wrong number of MPI processes')
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/meshfem3D_par.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/meshfem3D_par.f90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/meshfem3D/meshfem3D_par.f90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -269,7 +269,8 @@
!-----------------------------------------------------------------
logical :: ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, &
- ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES
+ ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES, &
+ ADIOS_FOR_AVS_DX
end module meshfem3D_par
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/broadcast_compute_parameters.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/broadcast_compute_parameters.f90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/broadcast_compute_parameters.f90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -352,7 +352,8 @@
!1 forward arrays are stored with the help of ADIOS.
subroutine broadcast_adios_parameters(myrank,ADIOS_ENABLED, &
ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, &
- ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES)
+ ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES, &
+ ADIOS_FOR_AVS_DX)
implicit none
@@ -363,7 +364,7 @@
integer:: myrank
logical:: ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, &
- ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES
+ ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX
! local parameters
integer :: ier
call MPI_BCAST(ADIOS_ENABLED,1,MPI_LOGICAL,0,MPI_COMM_WORLD,ier)
@@ -380,5 +381,8 @@
call MPI_BCAST(ADIOS_FOR_SOLVER_MESHFILES,1,MPI_LOGICAL,0,MPI_COMM_WORLD,ier)
if( ier /= 0 ) call exit_MPI(myrank, &
'error broadcasting ADIOS_FOR_SOLVER_MESHFILES')
+ call MPI_BCAST(ADIOS_FOR_AVS_DX,1,MPI_LOGICAL,0,MPI_COMM_WORLD,ier)
+ if( ier /= 0 ) call exit_MPI(myrank, &
+ 'error broadcasting ADIOS_FOR_AVS_DX')
end subroutine broadcast_adios_parameters
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/read_parameter_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/read_parameter_file.f90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/shared/read_parameter_file.f90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -238,13 +238,13 @@
!
subroutine read_adios_parameters(ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, &
ADIOS_FOR_MPI_ARRAYS, ADIOS_FOR_ARRAYS_SOLVER, &
- ADIOS_FOR_SOLVER_MESHFILES)
+ ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX)
implicit none
include "constants.h"
logical :: ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, &
- ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES
+ ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX
! initializes flags
ADIOS_ENABLED = .false.
@@ -252,6 +252,7 @@
ADIOS_FOR_MPI_ARRAYS = .false.
ADIOS_FOR_ARRAYS_SOLVER = .false.
ADIOS_FOR_SOLVER_MESHFILES = .false.
+ ADIOS_FOR_AVS_DX = .false.
! opens file Par_file
call open_parameter_file()
call read_value_logical(ADIOS_ENABLED, 'solver.ADIOS_ENABLED')
@@ -264,6 +265,8 @@
'solver.ADIOS_FOR_ARRAYS_SOLVER')
call read_value_logical(ADIOS_FOR_SOLVER_MESHFILES, &
'solver.ADIOS_FOR_ARRAYS_SOLVER')
+ call read_value_logical(ADIOS_FOR_AVS_DX, &
+ 'solver.ADIOS_FOR_AVS_DX')
endif
call close_parameter_file()
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/initialize_simulation.f90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/initialize_simulation.f90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -110,7 +110,7 @@
! ADIOS_ENABLED: parameter is optional, may not be in the Par_file
call read_adios_parameters(ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, &
ADIOS_FOR_MPI_ARRAYS, ADIOS_FOR_ARRAYS_SOLVER, &
- ADIOS_FOR_SOLVER_MESHFILES)
+ ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX)
endif
! distributes parameters from master to all processes
@@ -153,7 +153,7 @@
! broadcasts optional ADIOS_ENABLED
call broadcast_adios_parameters(myrank,ADIOS_ENABLED, &
ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, ADIOS_FOR_ARRAYS_SOLVER, &
- ADIOS_FOR_SOLVER_MESHFILES)
+ ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX)
! get the base pathname for output files
call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', 'OUTPUT_FILES')
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/specfem3D_par.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/specfem3D_par.F90 2013-05-29 18:20:35 UTC (rev 22162)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SUNFLOWER_ADIOS/src/specfem3D/specfem3D_par.F90 2013-05-29 18:20:44 UTC (rev 22163)
@@ -308,7 +308,7 @@
!-----------------------------------------------------------------
logical :: ADIOS_ENABLED, ADIOS_FOR_FORWARD_ARRAYS, ADIOS_FOR_MPI_ARRAYS, &
- ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES
+ ADIOS_FOR_ARRAYS_SOLVER, ADIOS_FOR_SOLVER_MESHFILES, ADIOS_FOR_AVS_DX
!-----------------------------------------------------------------
! time scheme
More information about the CIG-COMMITS
mailing list