[cig-commits] r15629 - seismo/3D/SPECFEM3D_SESAME/trunk
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sat Aug 29 08:49:47 PDT 2009
Author: dkomati1
Date: 2009-08-29 08:49:46 -0700 (Sat, 29 Aug 2009)
New Revision: 15629
Modified:
seismo/3D/SPECFEM3D_SESAME/trunk/README_SPECFEM3D
seismo/3D/SPECFEM3D_SESAME/trunk/generate_databases.f90
seismo/3D/SPECFEM3D_SESAME/trunk/specfem3D.f90
Log:
more precise BibTeX information as comments in headers
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/README_SPECFEM3D
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/README_SPECFEM3D 2009-08-29 15:16:16 UTC (rev 15628)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/README_SPECFEM3D 2009-08-29 15:49:46 UTC (rev 15629)
@@ -45,53 +45,129 @@
+++++++++ NOTES ON USING THE SPECFEM3D PACKAGE +++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-If you use this code for your own research, please send an email
-to Jeroen Tromp <jtromp AT caltech.edu> for information, and cite
+! If you use this code for your own research, please cite at least one article
+! written by the developers of the package, for instance:
+!
+! @ARTICLE{TrKoLi08,
+! author = {Jeroen Tromp and Dimitri Komatitsch and Qinya Liu},
+! title = {Spectral-Element and Adjoint Methods in Seismology},
+! journal = {Communications in Computational Physics},
+! year = {2008},
+! volume = {3},
+! pages = {1-32},
+! number = {1}}
+!
+! or
+!
+! @ARTICLE{LiPoKoTr04,
+! author = {Qinya Liu and Jascha Polet and Dimitri Komatitsch and Jeroen Tromp},
+! title = {Spectral-element moment tensor inversions for earthquakes in {S}outhern {C}alifornia},
+! journal={Bull. Seismol. Soc. Am.},
+! year = {2004},
+! volume = {94},
+! pages = {1748-1761},
+! number = {5},
+! doi = {10.1785/012004038}}
+!
+! @INCOLLECTION{ChKoViCaVaFe07,
+! author = {Emmanuel Chaljub and Dimitri Komatitsch and Jean-Pierre Vilotte and
+! Yann Capdeville and Bernard Valette and Gaetano Festa},
+! title = {Spectral Element Analysis in Seismology},
+! booktitle = {Advances in Wave Propagation in Heterogeneous Media},
+! publisher = {Elsevier - Academic Press},
+! year = {2007},
+! editor = {Ru-Shan Wu and Val\'erie Maupin},
+! volume = {48},
+! series = {Advances in Geophysics},
+! pages = {365-419}}
+!
+! @ARTICLE{KoVi98,
+! author={D. Komatitsch and J. P. Vilotte},
+! title={The spectral-element method: an efficient tool to simulate the seismic response of 2{D} and 3{D} geological structures},
+! journal={Bull. Seismol. Soc. Am.},
+! year=1998,
+! volume=88,
+! number=2,
+! pages={368-392}}
+!
+! @ARTICLE{KoTr99,
+! author={D. Komatitsch and J. Tromp},
+! year=1999,
+! title={Introduction to the spectral-element method for 3-{D} seismic wave propagation},
+! journal={Geophys. J. Int.},
+! volume=139,
+! number=3,
+! pages={806-822},
+! doi={10.1046/j.1365-246x.1999.00967.x}}
+!
+! @ARTICLE{KoLiTrSuStSh04,
+! author={Dimitri Komatitsch and Qinya Liu and Jeroen Tromp and Peter S\"{u}ss
+! and Christiane Stidham and John H. Shaw},
+! year=2004,
+! title={Simulations of Ground Motion in the {L}os {A}ngeles {B}asin
+! based upon the Spectral-Element Method},
+! journal={Bull. Seism. Soc. Am.},
+! volume=94,
+! number=1,
+! pages={187-206}}
+!
+! and/or another article from http://web.univ-pau.fr/~dkomati1/publications.html
+!
+!
+! If you use the kernel capabilities of the code, please cite at least one article
+! written by the developers of the package, for instance:
+!
+! @ARTICLE{TrKoLi08,
+! author = {Jeroen Tromp and Dimitri Komatitsch and Qinya Liu},
+! title = {Spectral-Element and Adjoint Methods in Seismology},
+! journal = {Communications in Computational Physics},
+! year = {2008},
+! volume = {3},
+! pages = {1-32},
+! number = {1}}
+!
+! or
+!
+! @ARTICLE{LiTr06,
+! author={Qinya Liu and Jeroen Tromp},
+! title={Finite-frequency kernels based on adjoint methods},
+! journal={Bull. Seismol. Soc. Am.},
+! year=2006,
+! volume=96,
+! number=6,
+! pages={2383-2397},
+! doi={10.1785/0120060041}}
+!
+!
+! Reference frame - convention:
+! ----------------------------
+!
+! The code uses the following convention for the reference frame:
+!
+! - X axis is East
+! - Y axis is North
+! - Z axis is up
+!
+! Note that this convention is different from both the Aki-Richards convention
+! and the Harvard CMT convention.
+!
+! Let us recall that the Aki-Richards convention is:
+!
+! - X axis is North
+! - Y axis is East
+! - Z axis is down
+!
+! and that the Harvard CMT convention is:
+!
+! - X axis is South
+! - Y axis is East
+! - Z axis is up
+!
+! To report bugs or suggest improvements to the code, please send an email
+! to Jeroen Tromp <jtromp AT princeton.edu> and/or use our online
+! bug tracking system at http://www.geodynamics.org/roundup .
+!
- at article{KoLiTrSuStSh04,
-author={Dimitri Komatitsch and Qinya Liu and Jeroen Tromp and Peter S\"{u}ss
- and Christiane Stidham and John H. Shaw},
-year=2004,
-title={Simulations of Ground Motion in the {L}os {A}ngeles {B}asin
- based upon the Spectral-Element Method},
-journal={Bull. Seism. Soc. Am.},
-volume=94,
-pages={187-206}}
-
- at article{KoTr99,
- author={D. Komatitsch and J. Tromp},
- year=1999,
- title={Introduction to the spectral-element method for 3-{D} seismic wave propagation},
- journal={Geophys. J. Int.},
- volume=139,
- pages={806-822}}
-
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-REFERENCE FRAME - CONVENTION:
-
-The code uses the following convention for the reference frame:
-
- - X axis is East
- - Y axis is North
- - Z axis is up
-
-Note that this convention is different from both the Aki-Richards convention
-and the Harvard CMT convention.
-
-Let us recall that the Aki-Richards convention is:
-
- - X axis is North
- - Y axis is East
- - Z axis is down
-
-and that the Harvard CMT convention is:
-
- - X axis is South
- - Y axis is East
- - Z axis is up
-
-
PARAMETERS TO CHANGE ON DIFFERENT MACHINES:
- Use the appropriate compiler flags in the Makefile.
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/generate_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/generate_databases.f90 2009-08-29 15:16:16 UTC (rev 15628)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/generate_databases.f90 2009-08-29 15:49:46 UTC (rev 15629)
@@ -34,13 +34,67 @@
!=============================================================================!
! !
-! generate_databases produces a spectral element grid for a local or regional model. !
+! generate_databases produces a spectral element grid !
+! for a local or regional model. !
! The mesher uses the UTM projection !
! !
!=============================================================================!
!
-! If you use this code for your own research, please cite some of these articles:
+! If you use this code for your own research, please cite at least one article
+! written by the developers of the package, for instance:
!
+! @ARTICLE{TrKoLi08,
+! author = {Jeroen Tromp and Dimitri Komatitsch and Qinya Liu},
+! title = {Spectral-Element and Adjoint Methods in Seismology},
+! journal = {Communications in Computational Physics},
+! year = {2008},
+! volume = {3},
+! pages = {1-32},
+! number = {1}}
+!
+! or
+!
+! @ARTICLE{LiPoKoTr04,
+! author = {Qinya Liu and Jascha Polet and Dimitri Komatitsch and Jeroen Tromp},
+! title = {Spectral-element moment tensor inversions for earthquakes in {S}outhern {C}alifornia},
+! journal={Bull. Seismol. Soc. Am.},
+! year = {2004},
+! volume = {94},
+! pages = {1748-1761},
+! number = {5},
+! doi = {10.1785/012004038}}
+!
+! @INCOLLECTION{ChKoViCaVaFe07,
+! author = {Emmanuel Chaljub and Dimitri Komatitsch and Jean-Pierre Vilotte and
+! Yann Capdeville and Bernard Valette and Gaetano Festa},
+! title = {Spectral Element Analysis in Seismology},
+! booktitle = {Advances in Wave Propagation in Heterogeneous Media},
+! publisher = {Elsevier - Academic Press},
+! year = {2007},
+! editor = {Ru-Shan Wu and Val\'erie Maupin},
+! volume = {48},
+! series = {Advances in Geophysics},
+! pages = {365-419}}
+!
+! @ARTICLE{KoVi98,
+! author={D. Komatitsch and J. P. Vilotte},
+! title={The spectral-element method: an efficient tool to simulate the seismic response of 2{D} and 3{D} geological structures},
+! journal={Bull. Seismol. Soc. Am.},
+! year=1998,
+! volume=88,
+! number=2,
+! pages={368-392}}
+!
+! @ARTICLE{KoTr99,
+! author={D. Komatitsch and J. Tromp},
+! year=1999,
+! title={Introduction to the spectral-element method for 3-{D} seismic wave propagation},
+! journal={Geophys. J. Int.},
+! volume=139,
+! number=3,
+! pages={806-822},
+! doi={10.1046/j.1365-246x.1999.00967.x}}
+!
! @ARTICLE{KoLiTrSuStSh04,
! author={Dimitri Komatitsch and Qinya Liu and Jeroen Tromp and Peter S\"{u}ss
! and Christiane Stidham and John H. Shaw},
@@ -52,27 +106,23 @@
! number=1,
! pages={187-206}}
!
-! @ARTICLE{KoTr99,
-! author={D. Komatitsch and J. Tromp},
-! year=1999,
-! title={Introduction to the spectral-element method for 3-{D} seismic wave propagation},
-! journal={Geophys. J. Int.},
-! volume=139,
-! number=3,
-! pages={806-822},
-! doi={10.1046/j.1365-246x.1999.00967.x}}
+! and/or another article from http://web.univ-pau.fr/~dkomati1/publications.html
!
-! @ARTICLE{KoVi98,
-! author={D. Komatitsch and J. P. Vilotte},
-! title={The spectral-element method: an efficient tool to simulate the seismic response of 2{D} and 3{D} geological structures},
-! journal={Bull. Seismol. Soc. Am.},
-! year=1998,
-! volume=88,
-! number=2,
-! pages={368-392}}
!
-! If you use the kernel capabilities of the code, please cite
+! If you use the kernel capabilities of the code, please cite at least one article
+! written by the developers of the package, for instance:
!
+! @ARTICLE{TrKoLi08,
+! author = {Jeroen Tromp and Dimitri Komatitsch and Qinya Liu},
+! title = {Spectral-Element and Adjoint Methods in Seismology},
+! journal = {Communications in Computational Physics},
+! year = {2008},
+! volume = {3},
+! pages = {1-32},
+! number = {1}}
+!
+! or
+!
! @ARTICLE{LiTr06,
! author={Qinya Liu and Jeroen Tromp},
! title={Finite-frequency kernels based on adjoint methods},
@@ -83,6 +133,7 @@
! pages={2383-2397},
! doi={10.1785/0120060041}}
!
+!
! Reference frame - convention:
! ----------------------------
!
@@ -108,23 +159,33 @@
! - Z axis is up
!
! To report bugs or suggest improvements to the code, please send an email
-! to Jeroen Tromp <jtromp AT caltech.edu> and/or use our online
+! to Jeroen Tromp <jtromp AT princeton.edu> and/or use our online
! bug tracking system at http://www.geodynamics.org/roundup .
!
! Evolution of the code:
! ---------------------
!
+! MPI v. 2.0 "SESAME" (Spectral ElementS on Any MEsh), Fall 2009:
+! Dimitri Komatitsch, Nicolas Le Goff, Roland Martin and Pieyre Le Loher, University of Pau, France,
+! Jeroen Tromp and the Princeton group of developers, Princeton University, USA,
+! and Emanuele Casarotti, INGV Roma, Italy:
+! support for CUBIT meshes decomposed by SCOTCH, METIS or ZOLTAN;
+! much faster solver using Michel Deville's inlined matrix products.
+!
! MPI v. 1.4 Dimitri Komatitsch, University of Pau, Qinya Liu and others, Caltech, September 2006:
! better adjoint and kernel calculations, faster and better I/Os
! on very large systems, many small improvements and bug fixes
+!
! MPI v. 1.3 Dimitri Komatitsch, University of Pau, and Qinya Liu, Caltech, July 2005:
! serial version, regular mesh, adjoint and kernel calculations, ParaView support
+!
! MPI v. 1.2 Min Chen and Dimitri Komatitsch, Caltech, July 2004:
! full anisotropy, volume movie
+!
! MPI v. 1.1 Dimitri Komatitsch, Caltech, October 2002: Zhu's Moho map, scaling
! of Vs with depth, Hauksson's regional model, attenuation, oceans, movies
-! MPI v. 1.0 Dimitri Komatitsch, Caltech, May 2002: first MPI version
-! based on global code
+!
+! MPI v. 1.0 Dimitri Komatitsch, Caltech, May 2002: first MPI version based on global code
! number of spectral elements in each block
integer nspec,npointot
@@ -218,7 +279,7 @@
! pll
double precision, dimension(:,:), allocatable :: materials_ext_mesh
- integer, dimension(:), allocatable :: ibelm_xmin,ibelm_xmax, ibelm_ymin, ibelm_ymax, ibelm_bottom, ibelm_top
+ integer, dimension(:), allocatable :: ibelm_xmin,ibelm_xmax, ibelm_ymin, ibelm_ymax, ibelm_bottom, ibelm_top
integer :: ispec2D, boundary_number
integer :: nspec2D_xmin, nspec2D_xmax, nspec2D_ymin, nspec2D_ymax, nspec2D_bottom_ext, nspec2D_top_ext
character (len=30), dimension(:,:), allocatable :: undef_mat_prop
@@ -396,7 +457,7 @@
endif
! read databases about external mesh simulation
-
+
call create_name_database(prname,myrank,LOCAL_PATH)
open(unit=IIN,file=prname(1:len_trim(prname))//'Database',status='old',action='read',form='formatted')
read(IIN,*) nnodes_ext_mesh
@@ -404,19 +465,19 @@
do inode = 1, nnodes_ext_mesh
read(IIN,*) dummy_node, nodes_coords_ext_mesh(1,inode), nodes_coords_ext_mesh(2,inode), nodes_coords_ext_mesh(3,inode)
enddo
-
-! defines global number of nodes in model
+
+! defines global number of nodes in model
NGLOB_AB = nnodes_ext_mesh
-! read materials' physical properties
- read(IIN,*) nmat_ext_mesh, nundefMat_ext_mesh
+! read materials' physical properties
+ read(IIN,*) nmat_ext_mesh, nundefMat_ext_mesh
allocate(materials_ext_mesh(5,nmat_ext_mesh))
allocate(undef_mat_prop(5,nundefMat_ext_mesh))
do imat = 1, nmat_ext_mesh
read(IIN,*) materials_ext_mesh(1,imat), materials_ext_mesh(2,imat), materials_ext_mesh(3,imat), &
materials_ext_mesh(4,imat), materials_ext_mesh(5,imat)
end do
-
+
do imat = 1, nundefMat_ext_mesh
read(IIN,*) undef_mat_prop(1,imat),undef_mat_prop(2,imat),undef_mat_prop(3,imat),undef_mat_prop(4,imat), &
undef_mat_prop(5,imat)
@@ -431,7 +492,7 @@
elmnts_ext_mesh(5,ispec), elmnts_ext_mesh(6,ispec), elmnts_ext_mesh(7,ispec), elmnts_ext_mesh(8,ispec)
enddo
NSPEC_AB = nelmnts_ext_mesh
-
+
! read boundaries
read(IIN,*) boundary_number ,nspec2D_xmin
if(boundary_number /= 1) stop "Error : invalid database file"
@@ -448,28 +509,28 @@
NSPEC2DMAX_XMIN_XMAX = max(nspec2D_xmin,nspec2D_xmax)
NSPEC2DMAX_YMIN_YMAX = max(nspec2D_ymin,nspec2D_ymax)
NSPEC2D_BOTTOM = nspec2D_bottom_ext
- NSPEC2D_TOP = nspec2D_top_ext
-
+ NSPEC2D_TOP = nspec2D_top_ext
+
allocate(ibelm_xmin(nspec2D_xmin))
do ispec2D = 1,nspec2D_xmin
read(IIN,*) ibelm_xmin(ispec2D)
end do
-
+
allocate(ibelm_xmax(nspec2D_xmax))
do ispec2D = 1,nspec2D_xmax
read(IIN,*) ibelm_xmax(ispec2D)
end do
-
+
allocate(ibelm_ymin(nspec2D_ymin))
do ispec2D = 1,nspec2D_ymin
read(IIN,*) ibelm_ymin(ispec2D)
end do
-
+
allocate(ibelm_ymax(nspec2D_ymax))
do ispec2D = 1,nspec2D_ymax
read(IIN,*) ibelm_ymax(ispec2D)
end do
-
+
allocate(ibelm_bottom(nspec2D_bottom_ext))
do ispec2D = 1,nspec2D_bottom_ext
read(IIN,*) ibelm_bottom(ispec2D)
@@ -479,7 +540,7 @@
do ispec2D = 1,nspec2D_top_ext
read(IIN,*) ibelm_top(ispec2D)
end do
-
+
read(IIN,*) ninterface_ext_mesh, max_interface_size_ext_mesh
allocate(my_neighbours_ext_mesh(ninterface_ext_mesh))
allocate(my_nelmnts_neighbours_ext_mesh(ninterface_ext_mesh))
@@ -494,7 +555,7 @@
my_interfaces_ext_mesh(5,ie,num_interface), my_interfaces_ext_mesh(6,ie,num_interface)
enddo
enddo
-
+
close(IIN)
@@ -528,8 +589,8 @@
nspec2D_xmin, nspec2D_xmax, nspec2D_ymin, nspec2D_ymax, NSPEC2D_BOTTOM, NSPEC2D_TOP,&
NSPEC2DMAX_XMIN_XMAX, NSPEC2DMAX_YMIN_YMAX, &
ibelm_xmin, ibelm_xmax, ibelm_ymin, ibelm_ymax, ibelm_bottom, ibelm_top)
-
+
! print min and max of topography included
if(TOPOGRAPHY) then
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/specfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/specfem3D.f90 2009-08-29 15:16:16 UTC (rev 15628)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/specfem3D.f90 2009-08-29 15:49:46 UTC (rev 15629)
@@ -44,8 +44,61 @@
! !
!=============================================================================!
!
-! If you use this code for your own research, please cite some of these articles:
+! If you use this code for your own research, please cite at least one article
+! written by the developers of the package, for instance:
!
+! @ARTICLE{TrKoLi08,
+! author = {Jeroen Tromp and Dimitri Komatitsch and Qinya Liu},
+! title = {Spectral-Element and Adjoint Methods in Seismology},
+! journal = {Communications in Computational Physics},
+! year = {2008},
+! volume = {3},
+! pages = {1-32},
+! number = {1}}
+!
+! or
+!
+! @ARTICLE{LiPoKoTr04,
+! author = {Qinya Liu and Jascha Polet and Dimitri Komatitsch and Jeroen Tromp},
+! title = {Spectral-element moment tensor inversions for earthquakes in {S}outhern {C}alifornia},
+! journal={Bull. Seismol. Soc. Am.},
+! year = {2004},
+! volume = {94},
+! pages = {1748-1761},
+! number = {5},
+! doi = {10.1785/012004038}}
+!
+! @INCOLLECTION{ChKoViCaVaFe07,
+! author = {Emmanuel Chaljub and Dimitri Komatitsch and Jean-Pierre Vilotte and
+! Yann Capdeville and Bernard Valette and Gaetano Festa},
+! title = {Spectral Element Analysis in Seismology},
+! booktitle = {Advances in Wave Propagation in Heterogeneous Media},
+! publisher = {Elsevier - Academic Press},
+! year = {2007},
+! editor = {Ru-Shan Wu and Val\'erie Maupin},
+! volume = {48},
+! series = {Advances in Geophysics},
+! pages = {365-419}}
+!
+! @ARTICLE{KoVi98,
+! author={D. Komatitsch and J. P. Vilotte},
+! title={The spectral-element method: an efficient tool to simulate the seismic response of 2{D} and 3{D} geological structures},
+! journal={Bull. Seismol. Soc. Am.},
+! year=1998,
+! volume=88,
+! number=2,
+! pages={368-392}}
+!
+! @ARTICLE{KoTr99,
+! author={D. Komatitsch and J. Tromp},
+! year=1999,
+! title={Introduction to the spectral-element method for 3-{D} seismic wave propagation},
+! journal={Geophys. J. Int.},
+! volume=139,
+! number=3,
+! pages={806-822},
+! doi={10.1046/j.1365-246x.1999.00967.x}}
+!
! @ARTICLE{KoLiTrSuStSh04,
! author={Dimitri Komatitsch and Qinya Liu and Jeroen Tromp and Peter S\"{u}ss
! and Christiane Stidham and John H. Shaw},
@@ -57,27 +110,23 @@
! number=1,
! pages={187-206}}
!
-! @ARTICLE{KoTr99,
-! author={D. Komatitsch and J. Tromp},
-! year=1999,
-! title={Introduction to the spectral-element method for 3-{D} seismic wave propagation},
-! journal={Geophys. J. Int.},
-! volume=139,
-! number=3,
-! pages={806-822},
-! doi={10.1046/j.1365-246x.1999.00967.x}}
+! and/or another article from http://web.univ-pau.fr/~dkomati1/publications.html
!
-! @ARTICLE{KoVi98,
-! author={D. Komatitsch and J. P. Vilotte},
-! title={The spectral-element method: an efficient tool to simulate the seismic response of 2{D} and 3{D} geological structures},
-! journal={Bull. Seismol. Soc. Am.},
-! year=1998,
-! volume=88,
-! number=2,
-! pages={368-392}}
!
-! If you use the kernel capabilities of the code, please cite
+! If you use the kernel capabilities of the code, please cite at least one article
+! written by the developers of the package, for instance:
!
+! @ARTICLE{TrKoLi08,
+! author = {Jeroen Tromp and Dimitri Komatitsch and Qinya Liu},
+! title = {Spectral-Element and Adjoint Methods in Seismology},
+! journal = {Communications in Computational Physics},
+! year = {2008},
+! volume = {3},
+! pages = {1-32},
+! number = {1}}
+!
+! or
+!
! @ARTICLE{LiTr06,
! author={Qinya Liu and Jeroen Tromp},
! title={Finite-frequency kernels based on adjoint methods},
@@ -88,6 +137,7 @@
! pages={2383-2397},
! doi={10.1785/0120060041}}
!
+!
! Reference frame - convention:
! ----------------------------
!
@@ -113,23 +163,33 @@
! - Z axis is up
!
! To report bugs or suggest improvements to the code, please send an email
-! to Jeroen Tromp <jtromp AT caltech.edu> and/or use our online
+! to Jeroen Tromp <jtromp AT princeton.edu> and/or use our online
! bug tracking system at http://www.geodynamics.org/roundup .
!
! Evolution of the code:
! ---------------------
!
+! MPI v. 2.0 "SESAME" (Spectral ElementS on Any MEsh), Fall 2009:
+! Dimitri Komatitsch, Nicolas Le Goff, Roland Martin and Pieyre Le Loher, University of Pau, France,
+! Jeroen Tromp and the Princeton group of developers, Princeton University, USA,
+! and Emanuele Casarotti, INGV Roma, Italy:
+! support for CUBIT meshes decomposed by SCOTCH, METIS or ZOLTAN;
+! much faster solver using Michel Deville's inlined matrix products.
+!
! MPI v. 1.4 Dimitri Komatitsch, University of Pau, Qinya Liu and others, Caltech, September 2006:
! better adjoint and kernel calculations, faster and better I/Os
! on very large systems, many small improvements and bug fixes
+!
! MPI v. 1.3 Dimitri Komatitsch, University of Pau, and Qinya Liu, Caltech, July 2005:
! serial version, regular mesh, adjoint and kernel calculations, ParaView support
+!
! MPI v. 1.2 Min Chen and Dimitri Komatitsch, Caltech, July 2004:
! full anisotropy, volume movie
+!
! MPI v. 1.1 Dimitri Komatitsch, Caltech, October 2002: Zhu's Moho map, scaling
! of Vs with depth, Hauksson's regional model, attenuation, oceans, movies
-! MPI v. 1.0 Dimitri Komatitsch, Caltech, May 2002: first MPI version
-! based on global code
+!
+! MPI v. 1.0 Dimitri Komatitsch, Caltech, May 2002: first MPI version based on global code
! memory variables and standard linear solids for attenuation
double precision, dimension(N_SLS) :: tau_mu_dble,tau_sigma_dble,beta_dble
@@ -243,7 +303,7 @@
! real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_ADJOINT) :: b_displ, b_veloc, b_accel
! real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_ADJOINT) :: rho_kl, mu_kl, kappa_kl, &
! rhop_kl, beta_kl, alpha_kl
-! real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: absorb_xmin, absorb_xmax, &
+! real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: absorb_xmin, absorb_xmax, &
! absorb_ymin, absorb_ymax, absorb_zmin ! for absorbing b.c.
! integer reclen_xmin, reclen_xmax, reclen_ymin, reclen_ymax, reclen_zmin
@@ -498,7 +558,7 @@
! info about external mesh simulation
! nlegoff -- should be put in compute_parameters and read_parameter_file for clarity
NPROC = sizeprocs
-! chris: DT_ext_mesh & NSTE_ext_mesh were in constants.h, I suppressed it, now it is Par_file & read in
+! chris: DT_ext_mesh & NSTE_ext_mesh were in constants.h, I suppressed it, now it is Par_file & read in
! read_parameters_file.f90
! DT = DT_ext_mesh
! NSTEP = NSTEP_ext_mesh
@@ -614,12 +674,12 @@
read(27) gammay
read(27) gammaz
read(27) jacobian
-
+
!pll
read(27) rho_vp
read(27) rho_vs
read(27) iflag_attenuation_store
- read(27) NSPEC2DMAX_XMIN_XMAX_ext
+ read(27) NSPEC2DMAX_XMIN_XMAX_ext
read(27) NSPEC2DMAX_YMIN_YMAX_ext
allocate(nimin(2,NSPEC2DMAX_YMIN_YMAX_ext),nimax(2,NSPEC2DMAX_YMIN_YMAX_ext),nkmin_eta(2,NSPEC2DMAX_YMIN_YMAX_ext))
allocate(njmin(2,NSPEC2DMAX_XMIN_XMAX_ext),njmax(2,NSPEC2DMAX_XMIN_XMAX_ext),nkmin_xi(2,NSPEC2DMAX_XMIN_XMAX_ext))
@@ -627,7 +687,7 @@
read(27) nimax
read(27) njmin
read(27) njmax
- read(27) nkmin_xi
+ read(27) nkmin_xi
read(27) nkmin_eta
!end pll
@@ -645,7 +705,7 @@
read(27) nspec2D_ymin
read(27) nspec2D_ymax
read(27) NSPEC2D_BOTTOM
- read(27) NSPEC2D_TOP
+ read(27) NSPEC2D_TOP
allocate(ibelm_xmin(nspec2D_xmin))
allocate(ibelm_xmax(nspec2D_xmax))
allocate(ibelm_ymin(nspec2D_ymin))
@@ -1509,7 +1569,7 @@
! rescale shear modulus according to attenuation model
-!pll
+!pll
! do ispec = 1,NSPEC_AB
! if(not_fully_in_bedrock(ispec)) then
! do k=1,NGLLZ
@@ -1587,7 +1647,7 @@
enddo
enddo
enddo
-
+
endif
! allocate seismogram array
@@ -1739,7 +1799,7 @@
! clear memory variables if attenuation
if(ATTENUATION) then
-
+
! initialize memory variables for attenuation
epsilondev_xx(:,:,:,:) = 0._CUSTOM_REAL
epsilondev_yy(:,:,:,:) = 0._CUSTOM_REAL
@@ -1847,7 +1907,7 @@
do i=1,3
Usolidnorm = maxval(abs(displ(i,:)))
Usolidnorm_index = maxloc(abs(displ(i,:)))
- if(Usolidnorm > 1.e+15 ) then
+ if(Usolidnorm > 1.e+15 ) then
print*,' stability issue:',myrank
print*,' norm: ',Usolidnorm,displ(i,Usolidnorm_index(1)),i
print*,' index: ',Usolidnorm_index(1)
@@ -1856,7 +1916,7 @@
call exit_MPI(myrank,'forward simulation became unstable and blew up')
endif
enddo
-
+
! compute the maximum of the norm of the displacement
! in all the slices using an MPI reduction
! and output timestamp file to check that simulation is running fine
@@ -1946,14 +2006,14 @@
hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT,wgllwgll_xy,wgllwgll_xz,wgllwgll_yz, &
kappastore,mustore,jacobian,ibool,ispec_is_inner_ext_mesh,.false., &
NSOURCES,myrank,it,islice_selected_source,ispec_selected_source,xi_source,eta_source,gamma_source,nu_source, &
- hdur,hdur_gaussian,t_cmt,dt,stf,t0,sourcearrays, &
+ hdur,hdur_gaussian,t_cmt,dt,stf,t0,sourcearrays, &
one_minus_sum_beta,factor_common,alphaval,betaval,gammaval,R_xx,R_yy,R_xy,R_xz,R_yz, &
epsilondev_xx,epsilondev_yy,epsilondev_xy,epsilondev_xz,epsilondev_yz,iflag_attenuation_store,ABSORBING_CONDITIONS, &
nspec2D_xmin,nspec2D_xmax,nspec2D_ymin,nspec2D_ymax,NSPEC2D_BOTTOM,NSPEC2DMAX_XMIN_XMAX_ext,NSPEC2DMAX_YMIN_YMAX_ext, &
ibelm_xmin,ibelm_xmax,ibelm_ymin,ibelm_ymax,ibelm_bottom, &
nimin,nimax,njmin,njmax,nkmin_xi,nkmin_eta, &
veloc,rho_vp,rho_vs,jacobian2D_xmin,jacobian2D_xmax,jacobian2D_ymin,jacobian2D_ymax,jacobian2D_bottom, &
- normal_xmin,normal_xmax,normal_ymin,normal_ymax,normal_bottom)
+ normal_xmin,normal_xmax,normal_ymin,normal_ymax,normal_bottom)
else
call compute_forces_no_Deville(NSPEC_AB,NGLOB_AB,displ,accel,xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz, &
hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz,wgllwgll_xy,wgllwgll_xz,wgllwgll_yz, &
@@ -1972,7 +2032,7 @@
hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT,wgllwgll_xy,wgllwgll_xz,wgllwgll_yz, &
kappastore,mustore,jacobian,ibool,ispec_is_inner_ext_mesh,.true., &
NSOURCES,myrank,it,islice_selected_source,ispec_selected_source,xi_source,eta_source,gamma_source,nu_source, &
- hdur,hdur_gaussian,t_cmt,dt,stf,t0,sourcearrays, &
+ hdur,hdur_gaussian,t_cmt,dt,stf,t0,sourcearrays, &
one_minus_sum_beta,factor_common,alphaval,betaval,gammaval,R_xx,R_yy,R_xy,R_xz,R_yz, &
epsilondev_xx,epsilondev_yy,epsilondev_xy,epsilondev_xz,epsilondev_yz,iflag_attenuation_store,ABSORBING_CONDITIONS, &
nspec2D_xmin,nspec2D_xmax,nspec2D_ymin,nspec2D_ymax,NSPEC2D_BOTTOM,NSPEC2DMAX_XMIN_XMAX_ext,NSPEC2DMAX_YMIN_YMAX_ext, &
More information about the CIG-COMMITS
mailing list