Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updates tests; fixes LTS arrays for surface points and shakemaps; adds blender visualization scripts #1665

Merged
merged 9 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@
read(27) zstore
close(27)

do ispec_surf=1,nspec_surf
do ispec_surf = 1,nspec_surf

Check warning on line 280 in src/auxiliaries/combine_surf_data.f90

View check run for this annotation

Codecov / codecov/patch

src/auxiliaries/combine_surf_data.f90#L280

Added line #L280 was not covered by tests
ispec = ibelm_surf(ispec_surf)
k = 1
do j = 1, NGLLY, iny
Expand Down Expand Up @@ -345,7 +345,7 @@

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 @@
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