SPECFEM / specfem3d

SPECFEM3D_Cartesian simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured or not).
GNU General Public License v3.0
398 stars 225 forks source link

For adjoint simulation, NSOURCES hardcoded constraint <=1000 in initialize_simulations.f90 #279

Closed amir-allam closed 9 years ago

amir-allam commented 9 years ago

For adjoint simulations (SIMULATION_TYPE=3), a CMTSOLUTION file with more than 1000 sources will cause the following error: for adjoint simulations, NSOURCES <= 1000 Error detected, aborting MPI... proc 66

This comes from line 399 in initialize_simulation.f90: if (SIMULATION_TYPE /= 1 .and. NSOURCES > 1000) call exit_mpi(myrank, 'for adjoint simulations, NSOURCES <= 1000')

I don't see why this constraint exists. Shouldn't it be either a parameter, or just equal to the maximum of either sources or receivers? There are many reasons a user might want to create a kernel with more than 1000 sources.

danielpeter commented 9 years ago

closed by cb7bfc51f679e2435b93e9ea71851c0ca59e7e6e

for an explanation, see the email below on the seismo-dev list:

hi Carl,

the limit is somewhat arbitrary and i think goes back to the implementation from Qinya. for pure adjoint simulations (SIMULATION_TYPE == 2), the code outputs displacement (S00001.NT.BXX.semd,..) and strains (S00001.NT.SEE.semd,..) as well as source derivative kernels (src_frechet.00001,..) all for each point source. the naming convention for those files used something like (.., i5.5,..), which would have limit the number of sources to 99999.

for now, i submitted a commit which uses the same convention as in the global code. in the global code, we use a hard limit of 999,999, because file names use (..,i6.6,..). if that is still too low, please let me know and i increase it further.

best wishes, daniel

carltape commented 9 years ago

Thank you, Daniel! Great to have such an explicit error message and to have consistency with the global code.

Carl

On Tue, Nov 4, 2014 at 5:14 AM, daniel peter notifications@github.com wrote:

closed by cb7bfc5 https://github.com/geodynamics/specfem3d/commit/cb7bfc51f679e2435b93e9ea71851c0ca59e7e6e

for an explanation, see the email below on the seismo-dev list:

hi Carl,

the limit is somewhat arbitrary and i think goes back to the implementation from Qinya. for pure adjoint simulations (SIMULATION_TYPE == 2), the code outputs displacement (S00001.NT.BXX.semd,..) and strains (S00001.NT.SEE.semd,..) as well as source derivative kernels (src_frechet.00001,..) all for each point source. the naming convention for those files used something like (.., i5.5,..), which would have limit the number of sources to 99999.

for now, i submitted a commit which uses the same convention as in the global code. in the global code, we use a hard limit of 999,999, because file names use (..,i6.6,..). if that is still too low, please let me know and i increase it further.

best wishes, daniel

— Reply to this email directly or view it on GitHub https://github.com/geodynamics/specfem3d/issues/279#issuecomment-61644661 .

komatits commented 9 years ago

email below added as a comment in both source codes (since it is a useful explanation).

Dimitri.

On 11/04/2014 03:14 PM, daniel peter wrote:

closed by cb7bfc5 https://github.com/geodynamics/specfem3d/commit/cb7bfc51f679e2435b93e9ea71851c0ca59e7e6e

for an explanation, see the email below on the seismo-dev list:

hi Carl,

the limit is somewhat arbitrary and i think goes back to the implementation from Qinya. for pure adjoint simulations (SIMULATION_TYPE == 2), the code outputs displacement (S00001.NT.BXX.semd,..) and strains (S00001.NT.SEE.semd,..) as well as source derivative kernels (src_frechet.00001,..) all for each point source. the naming convention for those files used something like (.., i5.5,..), which would have limit the number of sources to 99999.

for now, i submitted a commit which uses the same convention as in the global code. in the global code, we use a hard limit of 999,999, because file names use (..,i6.6,..). if that is still too low, please let me know and i increase it further.

best wishes, daniel

— Reply to this email directly or view it on GitHub https://github.com/geodynamics/specfem3d/issues/279#issuecomment-61644661.Web Bug from https://github.com/notifications/beacon/AFjDKT6fyleDNlEoxBXxkkzFgP7WJRbWks5nKNa7gaJpZM4C0HiC.gif

{"@context":"http://schema.org","@type":"EmailMessage","description":"View this Issue on GitHub","action":{"@type":"ViewAction","url":"https://github.com/geodynamics/specfem3d/issues/279#issuecomment-61644661","name":"View Issue"}}

Dimitri Komatitsch CNRS Research Director (DR CNRS), Laboratory of Mechanics and Acoustics, UPR 7051, Marseille, France http://komatitsch.free.fr