-
Notifications
You must be signed in to change notification settings - Fork 98
F_troubleshooting
Table of Contents
- Troubleshooting
configuration fails:
Examine the log file ’config.log’. It contains detailed informations. In many cases, the path’s to these specific compiler commands F90, CC and MPIF90 won’t be correct if ‘./configure‘ fails.
Please make sure that you have a working installation of a Fortran compiler, a C compiler and an MPI implementation. You should be able to compile this little program code:
program main
include 'mpif.h'
integer, parameter :: CUSTOM_MPI_TYPE = MPI_REAL
integer ier
call MPI_INIT(ier)
call MPI_BARRIER(MPI_COMM_WORLD,ier)
call MPI_FINALIZE(ier)
end
compilation fails:
In case a compilation error like the following occurs, stating
...
obj/meshfem3D.o: In function `MAIN__':
meshfem3D.f90:(.text+0x14): undefined reference to `_gfortran_set_std'
...
make sure you’re pointing to the right ’mpif90’ wrapper command.
Normally, this message will appear when you are mixing two different Fortran compilers. That is, using e.g. gfortran to compile non-MPI files and mpif90, wrapper provided for e.g. ifort, to compile MPI-files.
fix: e.g. specify
./configure FC=gfortran MPIF90=/usr/local/openmpi-gfortran/bin/mpif90
changing PPM model routines fails:
In case you want to modify the PPM-routines in file model_ppm.f90
, please consider the following points:
-
Please check in file
get_model_parameter.f90
that the entry for PPM models looks like:... else if(MODEL_ROOT == 'PPM') then ! overimposed based on isotropic-prem CASE_3D = .true. CRUSTAL = .true. MODEL_3D_MANTLE_PERTUBATIONS = .true. ONE_CRUST = .true. THREE_D_MODEL = THREE_D_MODEL_PPM TRANSVERSE_ISOTROPY = .true. ! to use transverse-isotropic prem ...
You can set
TRANSVERSE_ISOTROPY
to.false.
in case you want to use the isotropic PREM as 1D background model. -
Transverse isotropy would mean different values for horizontal and vertically polarized wave speeds, i.e. different for vph and vpv, vsh and vsv, and it includes an additional parameter eta. By default, we take these wave speeds from PREM and add your model perturbations to them. For the moment, your model perturbations are added as isotropic perturbations, using the same dvp for vph and vpv, and dvs for vsh and vsv, see in
meshfem3D_models.f90
:... case(THREE_D_MODEL_PPM ) ! point profile model call model_PPM(r_used,theta,phi,dvs,dvp,drho) vpv=vpv*(1.0d0+dvp) vph=vph*(1.0d0+dvp) vsv=vsv*(1.0d0+dvs) vsh=vsh*(1.0d0+dvs) rho=rho*(1.0d0+drho) ...
You could modify this to add different perturbations for vph and vpv, resp. vsh and vsv. This would basically mean that you add transverse isotropic perturbations. You can see how this is done with e.g. the model
s362ani
, following the flagTHREE_D_MODEL_S362ANI
on how to modify accordingly the filemeshfem3D_models.f90
.In case you want to add more specific model routines, follow the code sections starting with:
!--- ! ! ADD YOUR MODEL HERE ! !---
to see code sections sensitive to model updates.
This documentation has been automatically generated by pandoc based on the User manual (LaTeX version) in folder doc/USER_MANUAL/ (Dec 20, 2023)
Development wiki for SPECFEM3D_GLOBE
Development wiki
User manual
- 01_introduction
- 02_getting_started
- 03_running_the_mesher
- 04_running_the_solver
- 05_regional_simulations
- 06_adjoint_simulations
- 07_doing_tomography
- 08_noise_simulations
- 09_gravity_calculations
- 10_graphics
- 11_running_scheduler
- 12_changing_the_model
- 13_post_processing
- 14_informations_for_developers
- A_reference_frame
- B_non-dimensionalization_conventions
- C_benchmarks
- D_SAC_headers
- E_channel_codes
- F_troubleshooting
- G_license
- authors
- bug_reports
- copyright_and_version
- features
- manual_SPECFEM3D_GLOBE
- notes_and_acknowledgement
- sponsors