Skip to content

Commit

Permalink
Merge pull request #1665 from danielpeter/devel
Browse files Browse the repository at this point in the history
updates tests; fixes LTS arrays for surface points and shakemaps; adds blender visualization scripts
  • Loading branch information
danielpeter authored Dec 20, 2023
2 parents 0321f61 + c836576 commit 89d1601
Show file tree
Hide file tree
Showing 22 changed files with 4,073 additions and 95 deletions.
65 changes: 53 additions & 12 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,31 +179,67 @@ jobs:
sudo echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
echo ""
echo "packages intel oneapi:"
sudo apt-get install -y intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel
# info
#sudo -E apt-cache pkgnames intel | grep intel-oneapi
#echo ""
echo "installing packages intel oneapi:"
sudo apt-get install -y intel-oneapi-compiler-fortran-2023.2.2 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.2 intel-oneapi-mpi intel-oneapi-mpi-devel
echo ""
- name: compiler infos
run: |
echo ""
source /opt/intel/oneapi/setvars.sh
echo ""
echo "compiler versions:"
echo "icx --version"
which icx
icx --version
echo ""
echo "icc --version"
which icc
icc --version
echo ""
echo "ifx --version"
which ifx
ifx --version
echo ""
echo "ifort --version"
which ifort
ifort --version
echo ""
echo "mpiifort --version"
which mpiifort
mpiifort --version
echo ""
echo "mpif90 --version"
which mpif90
mpif90 --version
echo ""
# infos
which ifort
which icc
which mpiifort
echo "mpirun:"
which mpirun
echo ""
# intel setup for running tests
echo ""
echo "replacing mpif90 with mpiifort link:"
sudo ln -sf $(which mpiifort) $(which mpif90)
mpif90 --version
echo ""
# debug
#export I_MPI_DEBUG=5,pid,host
#export I_MPI_LIBRARY_KIND=debug
# remove -ftrapuv which leads to issues for running tests
sed -i "s/-ftrapuv//g" flags.guess
# environment setting
export TERM=xterm
# export info
echo "exports:"
export
echo ""
which ifort
which icc
which mpiifort
echo ""
printenv >> $GITHUB_ENV
echo "CXX=icpc" >> $GITHUB_ENV
Expand All @@ -212,7 +248,8 @@ jobs:
echo ""
- name: configure serial debug
run: ./configure --enable-debug --without-mpi FC=ifort CC=icc
run: |
./configure --enable-debug --without-mpi FC=ifort CC=icc
- name: make serial debug
run: |
Expand All @@ -221,15 +258,17 @@ jobs:
make clean
- name: configure serial
run: ./configure --without-mpi FC=ifort CC=icc
run: |
./configure --without-mpi FC=ifort CC=icc
- name: make serial
run: |
make -j2 all
make clean
- name: configure parallel debug
run: ./configure --enable-debug --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include"
run: |
./configure --enable-debug --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include"
- name: make parallel debug
run: |
Expand All @@ -238,16 +277,18 @@ jobs:
make clean
- name: configure parallel
run: ./configure --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include"
run: |
./configure --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include"
- name: make parallel
run: |
make -j2 all
make clean
# check: fails due to intel MPI issue with mpif90 using gfortran as default on virtual nodes
#- name: make tests
# run: make tests
# note: fails with -ftrapuv flag due to MPI issue on virtual nodes
- name: make tests
run: |
make tests
linuxTest_0:
name: Test run example 0 - make tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@

###### This is boundary_definition.py of GEOCUBIT
#..... which extracts the bounding faces and defines them into blocks
reload(boundary_definition)
import importlib
importlib.reload(boundary_definition)

boundary_definition.entities=['face']
boundary_definition.define_bc(boundary_definition.entities,parallel=True)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,18 @@

###### This is boundary_definition.py of GEOCUBIT
#..... which extracts the bounding faces and defines them into blocks
#reload(boundary_definition)
#import importlib
#importlib.(boundary_definition)
#boundary_definition.entities=['face']
#boundary_definition.define_bc(boundary_definition.entities,parallel=True)


#### Export to SESAME format using cubit2specfem3d.py of GEOCUBIT
os.system('mkdir -p MESH')

reload(cubit2specfem3d)
import importlib
importlib.reload(cubit2specfem3d)

cubit2specfem3d.export2SPECFEM3D('MESH')

# all files needed by SCOTCH are now in directory MESH
Expand Down
Binary file modified doc/USER_MANUAL/manual_SPECFEM3D_Cartesian.pdf
Binary file not shown.
3 changes: 1 addition & 2 deletions flags.guess
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,11 @@ case $my_FC in
#
# warnings about external function calls can be suppressed by "-warn all,noexternal" for version > 2018
# optimization report: "-vec-report0" is old and will be replaced by "-qopt-report0 -qopt-report-phase=vec" for v >=15.0
DEF_FFLAGS="-xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -std08 -diag-disable 6477 -implicitnone -gen-interfaces -warn all" # -mcmodel=medium -shared-intel
DEF_FFLAGS="-xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -std08 -diag-disable 6477 -implicitnone -gen-interfaces -warn all,noexternal" # -mcmodel=medium -shared-intel
OPT_FFLAGS="-O3 -check nobounds"
DEBUG_FFLAGS="-check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv"
# option "-openmp" is soon deprecated and replaced by "-qopenmp" for versions > 17.x
OMP_FFLAGS="-qopenmp"
#
;;
gfortran|*/gfortran|f95|*/f95)
#
Expand Down
6 changes: 3 additions & 3 deletions src/auxiliaries/combine_surf_data.f90
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ program combine_surf_data
read(27) zstore
close(27)

do ispec_surf=1,nspec_surf
do ispec_surf = 1,nspec_surf
ispec = ibelm_surf(ispec_surf)
k = 1
do j = 1, NGLLY, iny
Expand Down Expand Up @@ -345,7 +345,7 @@ program combine_surf_data

np = npoint * (it-1)

! surface file
! surface file
local_ibool_surf_file = trim(prname) // 'ibelm_' //trim(surfname)// '.bin'
open(unit = 28,file = trim(local_ibool_surf_file),status='old', iostat = ier, form='unformatted')
read(28) nspec_surf
Expand All @@ -354,7 +354,7 @@ program combine_surf_data
read(28) ibelm_surf
close(28)

! ibool file
! ibool file
local_ibool_file = trim(prname) // 'ibool' // '.bin'
open(unit = 28,file = trim(local_ibool_file),status='old', iostat = ier, form='unformatted')
read(28) ibool
Expand Down
2 changes: 1 addition & 1 deletion src/generate_databases/create_regions_mesh.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1857,7 +1857,7 @@ subroutine crm_setup_mesh_surface()
nfaces_surface = NSPEC2D_TOP
endif

! number of surface faces for all partitions together
! number of surface faces for all partitions together
call sum_all_i(nfaces_surface,nfaces_surface_glob_ext_mesh)

deallocate(ibool_interfaces_ext_mesh_dummy)
Expand Down
Loading

0 comments on commit 89d1601

Please sign in to comment.