[cig-commits] r19306 - in seismo/3D/SPECFEM3D_GLOBE/trunk: . doc/USER_MANUAL setup src/auxiliaries src/specfem3D
danielpeter at geodynamics.org
danielpeter at geodynamics.org
Tue Dec 20 10:37:21 PST 2011
Author: danielpeter
Date: 2011-12-20 10:37:21 -0800 (Tue, 20 Dec 2011)
New Revision: 19306
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/configure
seismo/3D/SPECFEM3D_GLOBE/trunk/configure.ac
seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf
seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in
seismo/3D/SPECFEM3D_GLOBE/trunk/src/auxiliaries/check_buffers_faces_chunks.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_vector.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90
Log:
updates version to 5.1.2
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/configure
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/configure 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/configure 2011-12-20 18:37:21 UTC (rev 19306)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Specfem3D Globe 5.1.1.
+# Generated by GNU Autoconf 2.67 for Specfem3D Globe 5.1.2.
#
# Report bugs to <jtromp AT princeton.edu>.
#
@@ -552,8 +552,8 @@
# Identity of this package.
PACKAGE_NAME='Specfem3D Globe'
PACKAGE_TARNAME='Specfem3DGlobe'
-PACKAGE_VERSION='5.1.1'
-PACKAGE_STRING='Specfem3D Globe 5.1.1'
+PACKAGE_VERSION='5.1.2'
+PACKAGE_STRING='Specfem3D Globe 5.1.2'
PACKAGE_BUGREPORT='jtromp AT princeton.edu'
PACKAGE_URL=''
@@ -1223,7 +1223,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Specfem3D Globe 5.1.1 to adapt to many kinds of systems.
+\`configure' configures Specfem3D Globe 5.1.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1284,7 +1284,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Specfem3D Globe 5.1.1:";;
+ short | recursive ) echo "Configuration of Specfem3D Globe 5.1.2:";;
esac
cat <<\_ACEOF
@@ -1382,7 +1382,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Specfem3D Globe configure 5.1.1
+Specfem3D Globe configure 5.1.2
generated by GNU Autoconf 2.67
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1722,7 +1722,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Specfem3D Globe $as_me 5.1.1, which was
+It was created by Specfem3D Globe $as_me 5.1.2, which was
generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
@@ -5551,7 +5551,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Specfem3D Globe $as_me 5.1.1, which was
+This file was extended by Specfem3D Globe $as_me 5.1.2, which was
generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5613,7 +5613,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Specfem3D Globe config.status 5.1.1
+Specfem3D Globe config.status 5.1.2
configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\"
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/configure.ac
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/configure.ac 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/configure.ac 2011-12-20 18:37:21 UTC (rev 19306)
@@ -10,7 +10,7 @@
AC_PREREQ(2.61)
-AC_INIT([Specfem3D Globe], [5.1.1], [jtromp AT princeton.edu], [Specfem3DGlobe])
+AC_INIT([Specfem3D Globe], [5.1.2], [jtromp AT princeton.edu], [Specfem3DGlobe])
AC_CONFIG_SRCDIR([src/specfem3D/specfem3D.F90])
AC_CONFIG_HEADER([setup/config.h])
AC_CONFIG_MACRO_DIR([m4])
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf
===================================================================
(Binary files differ)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex 2011-12-20 18:37:21 UTC (rev 19306)
@@ -236,9 +236,9 @@
In the directory in which you want to install the package, type
\begin{lyxcode}
-tar~-zxvf~SPECFEM3D\_GLOBE\_V5.1.1.tar.gz
+tar~-zxvf~SPECFEM3D\_GLOBE\_V5.1.2.tar.gz
\end{lyxcode}
-The directory \texttt{SPECFEM3D\_GLOBE\_V5.1.1} will then contain
+The directory \texttt{SPECFEM3D\_GLOBE\_V5.1.2} will then contain
the source code.\\
We recommend that you add {\texttt{ulimit -S -s unlimited}} to your {\texttt{.bash\_profile}} file and/or {\texttt{limit stacksize unlimited }} to your {\texttt{.cshrc}} file to suppress any potential limit to the size of the Unix stack.\\
@@ -357,7 +357,7 @@
Finally, before compiling, make sure that the subdirectories \texttt{obj},
\texttt{bak} and \texttt{OUTPUT\_FILES} exist within the directory
-with the source code (\texttt{SPECFEM3D\_GLOBE\_V5.1.1}). The \texttt{go\_mesher}
+with the source code (\texttt{SPECFEM3D\_GLOBE\_V5.1.2}). The \texttt{go\_mesher}
script discussed below automatically takes care of creating the \texttt{OUTPUT\_FILES}
directory.
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in 2011-12-20 18:37:21 UTC (rev 19306)
@@ -54,7 +54,7 @@
!*********************************************************************************************************
! added these parameters for the future GPU version of the solver with mesh coloring
-! sort outer elements first and then inner elements
+! sort outer elements first and then inner elements
! in order to use non blocking MPI to overlap communications
logical, parameter :: SORT_MESH_INNER_OUTER = .true.
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/auxiliaries/check_buffers_faces_chunks.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/auxiliaries/check_buffers_faces_chunks.f90 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/auxiliaries/check_buffers_faces_chunks.f90 2011-12-20 18:37:21 UTC (rev 19306)
@@ -236,17 +236,17 @@
! check all the points based upon their coordinates
do ipoin2D = 1,npoin2D_sender
- read(34,*) iboolsend,xsend,ysend,zsend
- read(35,*) iboolreceive,xreceive,yreceive,zreceive
+ read(34,*) iboolsend,xsend,ysend,zsend
+ read(35,*) iboolreceive,xreceive,yreceive,zreceive
- diff = dmax1(dabs(xsend-xreceive),dabs(ysend-yreceive),dabs(zsend-zreceive))
- if(diff > 0.0000001d0) then
- print *,'different : ',ipoin2D,iboolsend,iboolreceive,diff
- print *,'xsend,xreceive = ',xsend,xreceive
- print *,'ysend,yreceive = ',ysend,yreceive
- print *,'zsend,zreceive = ',zsend,zreceive
- stop 'error: different'
- endif
+ diff = dmax1(dabs(xsend-xreceive),dabs(ysend-yreceive),dabs(zsend-zreceive))
+ if(diff > 0.0000001d0) then
+ print *,'different : ',ipoin2D,iboolsend,iboolreceive,diff
+ print *,'xsend,xreceive = ',xsend,xreceive
+ print *,'ysend,yreceive = ',ysend,yreceive
+ print *,'zsend,zreceive = ',zsend,zreceive
+ stop 'error: different'
+ endif
enddo
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_vector.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_vector.f90 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_vector.f90 2011-12-20 18:37:21 UTC (rev 19306)
@@ -461,14 +461,15 @@
icount_faces = 0
do imsg = 1,NUMMSGS_FACES
- if(myrank==iprocfrom_faces(imsg) .or. myrank==iprocto_faces(imsg)) icount_faces = icount_faces + 1
- if(myrank==iprocto_faces(imsg)) then
- sender = iprocfrom_faces(imsg)
+ if(myrank==iprocfrom_faces(imsg) .or. myrank==iprocto_faces(imsg)) icount_faces = icount_faces + 1
+ if(myrank==iprocto_faces(imsg)) then
+ sender = iprocfrom_faces(imsg)
+
! size of buffers is the sum of two sizes because we handle two regions in the same MPI call
- npoin2D_chunks_all = npoin2D_faces_crust_mantle(icount_faces) + npoin2D_faces_inner_core(icount_faces)
+ npoin2D_chunks_all = npoin2D_faces_crust_mantle(icount_faces) + npoin2D_faces_inner_core(icount_faces)
- call MPI_IRECV(buffer_received_faces_vector(1,1,icount_faces),NDIM*npoin2D_chunks_all,CUSTOM_MPI_TYPE,sender, &
+ call MPI_IRECV(buffer_received_faces_vector(1,1,icount_faces),NDIM*npoin2D_chunks_all,CUSTOM_MPI_TYPE,sender, &
itag,MPI_COMM_WORLD,request_receive_array(icount_faces),ier)
! do ipoin2D = 1,npoin2D_faces_crust_mantle(icount_faces)
@@ -495,7 +496,7 @@
! buffer_received_faces_vector(3,ioffset + ipoin2D,icount_faces)
! enddo
- endif
+ endif
enddo
!---- put slices in send mode
@@ -503,6 +504,7 @@
icount_faces = 0
do imsg = 1,NUMMSGS_FACES
if(myrank==iprocfrom_faces(imsg) .or. myrank==iprocto_faces(imsg)) icount_faces = icount_faces + 1
+
if(myrank==iprocfrom_faces(imsg)) then
receiver = iprocto_faces(imsg)
@@ -510,18 +512,24 @@
npoin2D_chunks_all = npoin2D_faces_crust_mantle(icount_faces) + npoin2D_faces_inner_core(icount_faces)
do ipoin2D = 1,npoin2D_faces_crust_mantle(icount_faces)
- buffer_send_faces_vector(1,ipoin2D,icount_faces) = accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces))
- buffer_send_faces_vector(2,ipoin2D,icount_faces) = accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces))
- buffer_send_faces_vector(3,ipoin2D,icount_faces) = accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces))
+ buffer_send_faces_vector(1,ipoin2D,icount_faces) = &
+ accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces))
+ buffer_send_faces_vector(2,ipoin2D,icount_faces) = &
+ accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces))
+ buffer_send_faces_vector(3,ipoin2D,icount_faces) = &
+ accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces))
enddo
! the buffer for the inner core starts right after the buffer for the crust and mantle
ioffset = npoin2D_faces_crust_mantle(icount_faces)
do ipoin2D = 1,npoin2D_faces_inner_core(icount_faces)
- buffer_send_faces_vector(1,ioffset + ipoin2D,icount_faces) = accel_inner_core(1,iboolfaces_inner_core(ipoin2D,icount_faces))
- buffer_send_faces_vector(2,ioffset + ipoin2D,icount_faces) = accel_inner_core(2,iboolfaces_inner_core(ipoin2D,icount_faces))
- buffer_send_faces_vector(3,ioffset + ipoin2D,icount_faces) = accel_inner_core(3,iboolfaces_inner_core(ipoin2D,icount_faces))
+ buffer_send_faces_vector(1,ioffset + ipoin2D,icount_faces) = &
+ accel_inner_core(1,iboolfaces_inner_core(ipoin2D,icount_faces))
+ buffer_send_faces_vector(2,ioffset + ipoin2D,icount_faces) = &
+ accel_inner_core(2,iboolfaces_inner_core(ipoin2D,icount_faces))
+ buffer_send_faces_vector(3,ioffset + ipoin2D,icount_faces) = &
+ accel_inner_core(3,iboolfaces_inner_core(ipoin2D,icount_faces))
enddo
call MPI_ISEND(buffer_send_faces_vector(1,1,icount_faces),NDIM*npoin2D_chunks_all,CUSTOM_MPI_TYPE,receiver,itag, &
@@ -561,11 +569,14 @@
do ipoin2D = 1,npoin2D_faces_crust_mantle(icount_faces)
accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = &
- accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces)) + buffer_received_faces_vector(1,ipoin2D,icount_faces)
+ accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces)) &
+ + buffer_received_faces_vector(1,ipoin2D,icount_faces)
accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = &
- accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces)) + buffer_received_faces_vector(2,ipoin2D,icount_faces)
+ accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces)) &
+ + buffer_received_faces_vector(2,ipoin2D,icount_faces)
accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = &
- accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces)) + buffer_received_faces_vector(3,ipoin2D,icount_faces)
+ accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces)) &
+ + buffer_received_faces_vector(3,ipoin2D,icount_faces)
enddo
! the buffer for the inner core starts right after the buffer for the crust and mantle
@@ -638,18 +649,24 @@
npoin2D_chunks_all = npoin2D_faces_crust_mantle(icount_faces) + npoin2D_faces_inner_core(icount_faces)
do ipoin2D = 1,npoin2D_faces_crust_mantle(icount_faces)
- buffer_send_faces_vector(1,ipoin2D,icount_faces) = accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces))
- buffer_send_faces_vector(2,ipoin2D,icount_faces) = accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces))
- buffer_send_faces_vector(3,ipoin2D,icount_faces) = accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces))
+ buffer_send_faces_vector(1,ipoin2D,icount_faces) = &
+ accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces))
+ buffer_send_faces_vector(2,ipoin2D,icount_faces) = &
+ accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces))
+ buffer_send_faces_vector(3,ipoin2D,icount_faces) = &
+ accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces))
enddo
! the buffer for the inner core starts right after the buffer for the crust and mantle
ioffset = npoin2D_faces_crust_mantle(icount_faces)
do ipoin2D = 1,npoin2D_faces_inner_core(icount_faces)
- buffer_send_faces_vector(1,ioffset + ipoin2D,icount_faces) = accel_inner_core(1,iboolfaces_inner_core(ipoin2D,icount_faces))
- buffer_send_faces_vector(2,ioffset + ipoin2D,icount_faces) = accel_inner_core(2,iboolfaces_inner_core(ipoin2D,icount_faces))
- buffer_send_faces_vector(3,ioffset + ipoin2D,icount_faces) = accel_inner_core(3,iboolfaces_inner_core(ipoin2D,icount_faces))
+ buffer_send_faces_vector(1,ioffset + ipoin2D,icount_faces) = &
+ accel_inner_core(1,iboolfaces_inner_core(ipoin2D,icount_faces))
+ buffer_send_faces_vector(2,ioffset + ipoin2D,icount_faces) = &
+ accel_inner_core(2,iboolfaces_inner_core(ipoin2D,icount_faces))
+ buffer_send_faces_vector(3,ioffset + ipoin2D,icount_faces) = &
+ accel_inner_core(3,iboolfaces_inner_core(ipoin2D,icount_faces))
enddo
call MPI_ISEND(buffer_send_faces_vector(1,1,icount_faces),NDIM*npoin2D_chunks_all,CUSTOM_MPI_TYPE,receiver,itag, &
@@ -687,9 +704,12 @@
if(myrank==iprocfrom_faces(imsg) .or. myrank==iprocto_faces(imsg)) icount_faces = icount_faces + 1
if(myrank==iprocfrom_faces(imsg)) then
do ipoin2D = 1,npoin2D_faces_crust_mantle(icount_faces)
- accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = buffer_received_faces_vector(1,ipoin2D,icount_faces)
- accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = buffer_received_faces_vector(2,ipoin2D,icount_faces)
- accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = buffer_received_faces_vector(3,ipoin2D,icount_faces)
+ accel_crust_mantle(1,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = &
+ buffer_received_faces_vector(1,ipoin2D,icount_faces)
+ accel_crust_mantle(2,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = &
+ buffer_received_faces_vector(2,ipoin2D,icount_faces)
+ accel_crust_mantle(3,iboolfaces_crust_mantle(ipoin2D,icount_faces)) = &
+ buffer_received_faces_vector(3,ipoin2D,icount_faces)
enddo
! the buffer for the inner core starts right after the buffer for the crust and mantle
@@ -811,15 +831,21 @@
receiver = iproc_master_corners(imsg)
do ipoin1D = 1,NGLOB1D_RADIAL_crust_mantle
- buffer_send_chunkcorn_vector(1,ipoin1D) = accel_crust_mantle(1,iboolcorner_crust_mantle(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(2,ipoin1D) = accel_crust_mantle(2,iboolcorner_crust_mantle(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(3,ipoin1D) = accel_crust_mantle(3,iboolcorner_crust_mantle(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(1,ipoin1D) = &
+ accel_crust_mantle(1,iboolcorner_crust_mantle(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(2,ipoin1D) = &
+ accel_crust_mantle(2,iboolcorner_crust_mantle(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(3,ipoin1D) = &
+ accel_crust_mantle(3,iboolcorner_crust_mantle(ipoin1D,icount_corners))
enddo
do ipoin1D = 1,NGLOB1D_RADIAL_inner_core
- buffer_send_chunkcorn_vector(1,ioffset + ipoin1D) = accel_inner_core(1,iboolcorner_inner_core(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(2,ioffset + ipoin1D) = accel_inner_core(2,iboolcorner_inner_core(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(3,ioffset + ipoin1D) = accel_inner_core(3,iboolcorner_inner_core(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(1,ioffset + ipoin1D) = &
+ accel_inner_core(1,iboolcorner_inner_core(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(2,ioffset + ipoin1D) = &
+ accel_inner_core(2,iboolcorner_inner_core(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(3,ioffset + ipoin1D) = &
+ accel_inner_core(3,iboolcorner_inner_core(ipoin1D,icount_corners))
enddo
call MPI_SEND(buffer_send_chunkcorn_vector,NDIM*NGLOB1D_RADIAL_all,CUSTOM_MPI_TYPE,receiver,itag,MPI_COMM_WORLD,ier)
@@ -841,15 +867,21 @@
CUSTOM_MPI_TYPE,sender,itag,MPI_COMM_WORLD,msg_status,ier)
do ipoin1D = 1,NGLOB1D_RADIAL_crust_mantle
- accel_crust_mantle(1,iboolcorner_crust_mantle(ipoin1D,icount_corners)) = buffer_recv_chunkcorn_vector(1,ipoin1D)
- accel_crust_mantle(2,iboolcorner_crust_mantle(ipoin1D,icount_corners)) = buffer_recv_chunkcorn_vector(2,ipoin1D)
- accel_crust_mantle(3,iboolcorner_crust_mantle(ipoin1D,icount_corners)) = buffer_recv_chunkcorn_vector(3,ipoin1D)
+ accel_crust_mantle(1,iboolcorner_crust_mantle(ipoin1D,icount_corners)) = &
+ buffer_recv_chunkcorn_vector(1,ipoin1D)
+ accel_crust_mantle(2,iboolcorner_crust_mantle(ipoin1D,icount_corners)) = &
+ buffer_recv_chunkcorn_vector(2,ipoin1D)
+ accel_crust_mantle(3,iboolcorner_crust_mantle(ipoin1D,icount_corners)) = &
+ buffer_recv_chunkcorn_vector(3,ipoin1D)
enddo
do ipoin1D = 1,NGLOB1D_RADIAL_inner_core
- accel_inner_core(1,iboolcorner_inner_core(ipoin1D,icount_corners)) = buffer_recv_chunkcorn_vector(1,ioffset + ipoin1D)
- accel_inner_core(2,iboolcorner_inner_core(ipoin1D,icount_corners)) = buffer_recv_chunkcorn_vector(2,ioffset + ipoin1D)
- accel_inner_core(3,iboolcorner_inner_core(ipoin1D,icount_corners)) = buffer_recv_chunkcorn_vector(3,ioffset + ipoin1D)
+ accel_inner_core(1,iboolcorner_inner_core(ipoin1D,icount_corners)) = &
+ buffer_recv_chunkcorn_vector(1,ioffset + ipoin1D)
+ accel_inner_core(2,iboolcorner_inner_core(ipoin1D,icount_corners)) = &
+ buffer_recv_chunkcorn_vector(2,ioffset + ipoin1D)
+ accel_inner_core(3,iboolcorner_inner_core(ipoin1D,icount_corners)) = &
+ buffer_recv_chunkcorn_vector(3,ioffset + ipoin1D)
enddo
endif
@@ -858,15 +890,21 @@
if(myrank==iproc_master_corners(imsg)) then
do ipoin1D = 1,NGLOB1D_RADIAL_crust_mantle
- buffer_send_chunkcorn_vector(1,ipoin1D) = accel_crust_mantle(1,iboolcorner_crust_mantle(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(2,ipoin1D) = accel_crust_mantle(2,iboolcorner_crust_mantle(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(3,ipoin1D) = accel_crust_mantle(3,iboolcorner_crust_mantle(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(1,ipoin1D) = &
+ accel_crust_mantle(1,iboolcorner_crust_mantle(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(2,ipoin1D) = &
+ accel_crust_mantle(2,iboolcorner_crust_mantle(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(3,ipoin1D) = &
+ accel_crust_mantle(3,iboolcorner_crust_mantle(ipoin1D,icount_corners))
enddo
do ipoin1D = 1,NGLOB1D_RADIAL_inner_core
- buffer_send_chunkcorn_vector(1,ioffset + ipoin1D) = accel_inner_core(1,iboolcorner_inner_core(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(2,ioffset + ipoin1D) = accel_inner_core(2,iboolcorner_inner_core(ipoin1D,icount_corners))
- buffer_send_chunkcorn_vector(3,ioffset + ipoin1D) = accel_inner_core(3,iboolcorner_inner_core(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(1,ioffset + ipoin1D) = &
+ accel_inner_core(1,iboolcorner_inner_core(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(2,ioffset + ipoin1D) = &
+ accel_inner_core(2,iboolcorner_inner_core(ipoin1D,icount_corners))
+ buffer_send_chunkcorn_vector(3,ioffset + ipoin1D) = &
+ accel_inner_core(3,iboolcorner_inner_core(ipoin1D,icount_corners))
enddo
! send to worker #1
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90 2011-12-20 18:37:21 UTC (rev 19306)
@@ -459,6 +459,11 @@
! total number of messages corresponding to these common faces
NUMMSGS_FACES = NPROC_ONE_DIRECTION*NUM_FACES*NUM_MSG_TYPES
+ ! debug checks with compiled value
+ !if( NUMMSGS_FACES /= NUMMSGS_FACES_VAL ) then
+ ! print*,'check: NUMMSGS_FACES',NUMMSGS_FACES,NUMMSGS_FACES_VAL
+ ! stop 'error NUMMSGS_FACES_VAL, please recompile solver'
+ !endif
! read 2-D addressing for summation between slices with MPI
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90 2011-12-20 18:04:26 UTC (rev 19305)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90 2011-12-20 18:37:21 UTC (rev 19306)
@@ -335,19 +335,21 @@
KCMPNM = chn(1:3) ! 3A8
KNETWK = network_name(irec) ! A6
- ! KHOLE slot represents SEED location IDs. Based on the IRIS convention, S1 and S3 are assigned to 1D and 3D seismograms, respectively.
- ! If a model is a combination of 1D and 3D models (e.g., 3D mantle with 1D crust), it will be considered as 3D.
- ! Currently, the decision is made based on model names given in Par_file assuming that all 1D model names start with "1D".
- ! Ebru, December 1, 2011
+ ! KHOLE slot represents SEED location IDs.
+ ! Based on the IRIS convention, S1 and S3 are assigned to 1D and 3D seismograms, respectively.
+ ! If a model is a combination of 1D and 3D models (e.g., 3D mantle with 1D crust), it will be considered as 3D.
+ ! Currently, the decision is made based on model names given in Par_file assuming that
+ ! all 1D model names start with "1D".
+ ! Ebru, December 1, 2011
KHOLE = 'S3'
if(trim(MODEL(1:2)) == "1D") KHOLE = 'S1'
! indicates SEM synthetics
! by Ebru
- KUSER0 = 'SY' ! Network code assigned by IRIS for synthetic seismograms
- KUSER1 = 'SEM5.1.1'
- KUSER2 = 'Tiger' ! aka. awesome (princeton) tiger version :)
+ KUSER0 = 'SY' ! Network code assigned by IRIS for synthetic seismograms
+ KUSER1 = 'SEM5.1.2'
+ KUSER2 = 'Tiger' ! year of the tiger version :)
!KUSER0 = 'PDE_LAT_' ! A8
!KUSER1 = 'PDE_LON_' ! A8
More information about the CIG-COMMITS
mailing list