[cig-commits] r22488 - in seismo/3D/SPECFEM3D_GLOBE: branches/SPECFEM3D_GLOBE_SUNFLOWER branches/SPECFEM3D_GLOBE_SUNFLOWER/DATA trunk trunk/DATA trunk/setup trunk/src/meshfem3D trunk/src/specfem3D

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Tue Jul 2 09:35:43 PDT 2013


Author: dkomati1
Date: 2013-07-02 09:35:43 -0700 (Tue, 02 Jul 2013)
New Revision: 22488

Modified:
   seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/DATA/Par_file
   seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess
   seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file
   seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
   seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_absorb.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_s362ani.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90
Log:
fixed all compilation warnings that resulted from the changes I made in the last two days (merging some straightforward modifications and small bug fixes from the GPU version back into the trunk)


Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/DATA/Par_file	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/DATA/Par_file	2013-07-02 16:35:43 UTC (rev 22488)
@@ -50,7 +50,7 @@
 ATTENUATION_NEW                 = .false.
 
 # absorbing boundary conditions for a regional simulation
-ABSORBING_CONDITIONS            = .true.
+ABSORBING_CONDITIONS            = .false.
 
 # record length in minutes
 RECORD_LENGTH_IN_MINUTES        = 15.0d0

Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess	2013-07-02 16:35:43 UTC (rev 22488)
@@ -39,7 +39,7 @@
         #
         # GNU gfortran
         #
-        DEF_FFLAGS="-std=f2003 -fimplicit-none -frange-check -O2 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow " # -mcmodel=medium
+        DEF_FFLAGS="-std=gnu -fimplicit-none -frange-check -O2 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow " # -mcmodel=medium
         # useful for debugging... -ffpe-trap=overflow,zero -fbacktrace -fbounds-check
         ;;
     g95|*/g95)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file	2013-07-02 16:35:43 UTC (rev 22488)
@@ -49,7 +49,7 @@
 ATTENUATION                     = .true.
 
 # absorbing boundary conditions for a regional simulation
-ABSORBING_CONDITIONS            = .true.
+ABSORBING_CONDITIONS            = .false.
 
 # record length in minutes
 RECORD_LENGTH_IN_MINUTES        = 15.0d0

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess	2013-07-02 16:35:43 UTC (rev 22488)
@@ -39,7 +39,7 @@
         #
         # GNU gfortran
         #
-        DEF_FFLAGS="-std=f2003 -fimplicit-none -frange-check -O2 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow " # -mcmodel=medium
+        DEF_FFLAGS="-std=gnu -fimplicit-none -frange-check -O2 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow " # -mcmodel=medium
         # useful for debugging... -ffpe-trap=overflow,zero -fbacktrace -fbounds-check
         ;;
     g95|*/g95)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in	2013-07-02 16:35:43 UTC (rev 22488)
@@ -51,19 +51,7 @@
   integer, parameter :: ELEMENTS_NONBLOCKING_OC = 3000
 
 !*********************************************************************************************************
-! added these parameters for the future GPU version of the solver with mesh coloring
 
-! 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.
-
-! add mesh coloring for the GPU + MPI implementation
-  logical, parameter :: USE_MESH_COLORING_GPU = .false.
-  integer, parameter :: MAX_NUMBER_OF_COLORS = 1000
-  integer, parameter :: NGNOD_HEXAHEDRA = 8
-
-!*********************************************************************************************************
-
 ! if files on a local path on each node are also seen as global with same path
 ! set to .true. typically on a machine with a common (shared) file system, e.g. LUSTRE, GPFS or NFS-mounted /home
 ! set to .false. typically on a cluster of nodes with local disks used to store the mesh (not very common these days)
@@ -252,7 +240,14 @@
 ! the mesher) and use them for the computation of boundary kernel (in the solver)
   logical, parameter :: SAVE_BOUNDARY_MESH = .false.
 
-! mesh coloring:
+!*********************************************************************************************************
+! added these parameters for the GPU version of the solver with mesh coloring
+
+! 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.
+  integer, parameter :: NGNOD_HEXAHEDRA = 8
+
 ! add mesh coloring for the GPU + MPI implementation
   logical, parameter :: USE_MESH_COLORING_GPU = .false.
   integer, parameter :: MAX_NUMBER_OF_COLORS = 1000

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -1060,7 +1060,7 @@
                   ANISOTROPIC_INNER_CORE,OCEANS, &
                   tau_s,tau_e_store,Qmu_store,T_c_source,ATTENUATION, &
                   size(tau_e_store,2),size(tau_e_store,3),size(tau_e_store,4),size(tau_e_store,5),&
-                  NCHUNKS,ABSORBING_CONDITIONS,SAVE_MESH_FILES,ispec_is_tiso)
+                  NCHUNKS,ABSORBING_CONDITIONS,SAVE_MESH_FILES,ispec_is_tiso,myrank)
 #ifdef USE_SERIAL_CASCADE_FOR_IOs
     you_can_start_doing_IOs = .true.
     if (myrank < NPROC_XI*NPROC_ETA-1) call MPI_SEND(you_can_start_doing_IOs, 1, MPI_LOGICAL, myrank+1, itag, MPI_COMM_WORLD, ier)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_absorb.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_absorb.f90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_absorb.f90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -52,7 +52,6 @@
   ! counters to keep track of the number of elements on each of the
   ! five absorbing boundaries
   integer :: ispecb1,ispecb2,ispecb3,ispecb4,ispecb5
-  integer :: ier
 
   ! processor identification
   character(len=150) :: prname

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_s362ani.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_s362ani.f90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_s362ani.f90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -1857,6 +1857,7 @@
 !
   real(kind=4) WK1(LMAX+1),WK2(LMAX+1),WK3(LMAX+1)
   real(kind=4) XLAT,XLON
+  integer, parameter :: maxl=72
   real(kind=4),dimension((maxl+1)**2) :: Y !! Y should go at least from 1 to fac(LMAX)
 
   real(kind=4), parameter :: RADIAN = 57.2957795

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -44,7 +44,7 @@
                     TRANSVERSE_ISOTROPY,HETEROGEN_3D_MANTLE,ANISOTROPIC_3D_MANTLE, &
                     ANISOTROPIC_INNER_CORE,OCEANS, &
                     tau_s,tau_e_store,Qmu_store,T_c_source,ATTENUATION,vx,vy,vz,vnspec, &
-                    NCHUNKS,ABSORBING_CONDITIONS,SAVE_MESH_FILES,ispec_is_tiso)
+                    NCHUNKS,ABSORBING_CONDITIONS,SAVE_MESH_FILES,ispec_is_tiso,myrank)
 
   implicit none
 
@@ -55,7 +55,7 @@
   character(len=150) prname
   integer iregion_code,NCHUNKS
 
-  integer nspec,nglob_xy,nglob,nspec_stacey
+  integer nspec,nglob_xy,nglob,nspec_stacey,myrank
   integer npointot_oceans
 
 ! Stacey
@@ -138,7 +138,7 @@
   logical, dimension(nspec) :: ispec_is_tiso
 
   ! local parameters
-  integer i,j,k,ispec,iglob,nspec1, nglob1
+  integer i,j,k,ispec,iglob,nspec1, nglob1,ier
   real(kind=CUSTOM_REAL) scaleval1,scaleval2
 
 ! save nspec and nglob, to be used in combine_paraview_data

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -41,7 +41,6 @@
             c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
             c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
             ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-         ! -- idoubling_crust_mantle
             is_on_a_slice_edge_crust_mantle,rmass_ocean_load, &
             rmassx_crust_mantle,rmassy_crust_mantle,rmassz_crust_mantle, &
             vp_outer_core,xstore_outer_core,ystore_outer_core,zstore_outer_core, &
@@ -99,7 +98,6 @@
 
   integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: ibool_crust_mantle
 
-!  integer, dimension(NSPEC_CRUST_MANTLE) :: idoubling_crust_mantle
   logical, dimension(NSPEC_CRUST_MANTLE) :: ispec_is_tiso_crust_mantle
 
   ! mass matrices
@@ -155,13 +153,13 @@
   logical ABSORBING_CONDITIONS
   character(len=150) LOCAL_PATH
 
-  !local parameters
+  ! local parameters
   logical READ_KAPPA_MU,READ_TISO
   real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,1) :: dummy_array
   real(kind=CUSTOM_REAL), dimension(:), allocatable :: dummy_rmass
   integer, dimension(NSPEC_CRUST_MANTLE) :: dummy_i
 
-! this for non blocking MPI
+  ! this for non blocking MPI
   logical, dimension(NSPEC_CRUST_MANTLE) :: is_on_a_slice_edge_crust_mantle
   logical, dimension(NSPEC_OUTER_CORE) :: is_on_a_slice_edge_outer_core
   logical, dimension(NSPEC_INNER_CORE) :: is_on_a_slice_edge_inner_core
@@ -561,7 +559,6 @@
 
   end subroutine read_mesh_databases_addressing
 
-
 !
 !-------------------------------------------------------------------------------------------------
 !
@@ -669,7 +666,7 @@
   integer SIMULATION_TYPE
 
   ! local parameters
-  integer njunk1,njunk2,njunk3
+  integer njunk1,njunk2,njunk3,ier
   character(len=150) prname
 
   ! user output

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -798,379 +798,3 @@
 
   end subroutine save_kernels_hessian
 
-!
-!-------------------------------------------------------------------------------------------------
-!
-
-  subroutine rotate_kernels_dble(cij_kl,cij_kll,theta_in,phi_in)
-
-! Purpose : compute the kernels in r,theta,phi (cij_kll)
-! from the kernels in x,y,z (cij_kl) (x,y,z <-> r,theta,phi)
-! At r,theta,phi fixed
-! theta and phi are in radians
-
-! Coeff from Min's routine rotate_anisotropic_tensor
-! with the help of Collect[Expand[cij],{dij}] in Mathematica
-
-! Definition of the output array cij_kll :
-! cij_kll(1) = C11 ; cij_kll(2) = C12 ; cij_kll(3) = C13
-! cij_kll(4) = C14 ; cij_kll(5) = C15 ; cij_kll(6) = C16
-! cij_kll(7) = C22 ; cij_kll(8) = C23 ; cij_kll(9) = C24
-! cij_kll(10) = C25 ; cij_kll(11) = C26 ; cij_kll(12) = C33
-! cij_kll(13) = C34 ; cij_kll(14) = C35 ; cij_kll(15) = C36
-! cij_kll(16) = C44 ; cij_kll(17) = C45 ; cij_kll(18) = C46
-! cij_kll(19) = C55 ; cij_kll(20) = C56 ; cij_kll(21) = C66
-! where the Cij (Voigt's notation) are defined as function of
-! the components of the elastic tensor in spherical coordinates
-! by eq. (A.1) of Chen & Tromp, GJI 168 (2007)
-
-  implicit none
-  include  "constants.h"
-
-  real(kind=CUSTOM_REAL) :: theta_in,phi_in
-  real(kind=CUSTOM_REAL),dimension(21) :: cij_kll,cij_kl
-
-  double precision :: theta,phi
-  double precision :: costheta,sintheta,cosphi,sinphi
-  double precision :: costhetasq,sinthetasq,cosphisq,sinphisq
-  double precision :: costwotheta,sintwotheta,costwophi,sintwophi
-  double precision :: cosfourtheta,sinfourtheta,cosfourphi,sinfourphi
-  double precision :: costhetafour,sinthetafour,cosphifour,sinphifour
-  double precision :: sintwophisq,sintwothetasq
-  double precision :: costhreetheta,sinthreetheta,costhreephi,sinthreephi
-
-   if (CUSTOM_REAL == SIZE_REAL) then
-      theta = dble(theta_in)
-      phi = dble(phi_in)
-    else
-      theta = theta_in
-      phi = phi_in
-    endif
-
-  costheta = dcos(theta)
-  sintheta = dsin(theta)
-  cosphi = dcos(phi)
-  sinphi = dsin(phi)
-
-  costhetasq = costheta * costheta
-  sinthetasq = sintheta * sintheta
-  cosphisq = cosphi * cosphi
-  sinphisq = sinphi * sinphi
-
-  costhetafour = costhetasq * costhetasq
-  sinthetafour = sinthetasq * sinthetasq
-  cosphifour = cosphisq * cosphisq
-  sinphifour = sinphisq * sinphisq
-
-  costwotheta = dcos(2.d0*theta)
-  sintwotheta = dsin(2.d0*theta)
-  costwophi = dcos(2.d0*phi)
-  sintwophi = dsin(2.d0*phi)
-
-  costhreetheta=dcos(3.d0*theta)
-  sinthreetheta=dsin(3.d0*theta)
-  costhreephi=dcos(3.d0*phi)
-  sinthreephi=dsin(3.d0*phi)
-
-  cosfourtheta = dcos(4.d0*theta)
-  sinfourtheta = dsin(4.d0*theta)
-  cosfourphi = dcos(4.d0*phi)
-  sinfourphi = dsin(4.d0*phi)
-  sintwothetasq = sintwotheta * sintwotheta
-  sintwophisq = sintwophi * sintwophi
-
-
-  cij_kll(1) = 1.d0/16.d0* (cij_kl(16) - cij_kl(16)* costwophi + &
-     16.d0* cosphi*cosphisq* costhetafour* (cij_kl(1)* cosphi + cij_kl(6)* sinphi) + &
-     2.d0* (cij_kl(15) + cij_kl(17))* sintwophi* sintwothetasq - &
-     2.d0* (cij_kl(16)* cosfourtheta* sinphisq + &
-     2.d0* costhetafour* (-4* cij_kl(7)* sinphifour - &
-     (cij_kl(2) + cij_kl(21))* sintwophisq) + &
-     8.d0* cij_kl(5)* cosphi*cosphisq* costheta*costhetasq* sintheta - &
-     8.d0* cij_kl(8)* costhetasq* sinphisq* sinthetasq - &
-     8.d0* cij_kl(12)* sinthetafour + &
-     8.d0* cosphisq* costhetasq* sintheta* ((cij_kl(4) + &
-     cij_kl(20))* costheta* sinphi - &
-     (cij_kl(3) + cij_kl(19))*sintheta) + &
-     8.d0* cosphi* costheta* (-cij_kl(11)* costheta*costhetasq* &
-     sinphi*sinphisq + (cij_kl(10) + cij_kl(18))* costhetasq* sinphisq* sintheta + &
-     cij_kl(14)* sintheta*sinthetasq) + 2.d0* sinphi* (cij_kl(13) + &
-     cij_kl(9)* sinphisq)* sintwotheta + &
-     sinphi* (-cij_kl(13) + cij_kl(9)* sinphisq)* sinfourtheta))
-
-  cij_kll(2) = 1.d0/4.d0* (costhetasq* (cij_kl(1) + 3.d0* cij_kl(2) + cij_kl(7) - &
-      cij_kl(21) + (-cij_kl(1) + cij_kl(2) - cij_kl(7) + &
-      cij_kl(21))* cosfourphi + (-cij_kl(6) + cij_kl(11))* sinfourphi) + &
-      4.d0* (cij_kl(8)* cosphisq - cij_kl(15)* cosphi* sinphi + &
-      cij_kl(3)* sinphisq)* sinthetasq - &
-      2.d0* (cij_kl(10)* cosphisq*cosphi + &
-      (cij_kl(9) - cij_kl(20))* cosphisq* sinphi + &
-      (cij_kl(5) - cij_kl(18))* cosphi* sinphisq + &
-      cij_kl(4)* sinphisq*sinphi)* sintwotheta)
-
-  cij_kll(3) = 1.d0/8.d0* (sintwophi* (3.d0* cij_kl(15) - cij_kl(17) + &
-     4.d0* (cij_kl(2) + cij_kl(21))* costhetasq* sintwophi* sinthetasq) + &
-     4.d0* cij_kl(12)* sintwothetasq + 4.d0* cij_kl(1)* cosphifour* sintwothetasq + &
-     2.d0* cosphi*cosphisq* (8.d0* cij_kl(6)* costhetasq* sinphi* sinthetasq + &
-     cij_kl(5)* sinfourtheta) + 2.d0* cosphisq* (3.d0* cij_kl(3) -  cij_kl(19) + &
-     (cij_kl(3) + cij_kl(19))* cosfourtheta + &
-     (cij_kl(4) + cij_kl(20))* sinphi* sinfourtheta) + &
-     2.d0* sinphi* (sinphi* (3.d0* cij_kl(8) - &
-     cij_kl(16) + (cij_kl(8) + cij_kl(16))* cosfourtheta + &
-     2.d0* cij_kl(7)* sinphisq* sintwothetasq)+ &
-     (-cij_kl(13) + cij_kl(9)* sinphisq)* sinfourtheta)+ &
-     2.d0* cosphi* ((cij_kl(15) + cij_kl(17))* cosfourtheta* sinphi + &
-     8.d0* cij_kl(11)* costhetasq* sinphi*sinphisq* sinthetasq + &
-     (-cij_kl(14) + (cij_kl(10) + cij_kl(18))* sinphisq)*sinfourtheta))
-
-  cij_kll(4) = 1.d0/8.d0* (cosphi* costheta *(5.d0* cij_kl(4) - &
-     cij_kl(9) + 4.d0* cij_kl(13) - &
-     3.d0* cij_kl(20) + (cij_kl(4) + 3.d0* cij_kl(9) - &
-     4.d0* cij_kl(13) + cij_kl(20))* costwotheta) + &
-     1.d0/2.d0* (cij_kl(4) - cij_kl(9) + &
-     cij_kl(20))* costhreephi * (costheta + 3.d0* costhreetheta) - &
-     costheta* (-cij_kl(5) + 5.d0* cij_kl(10) + &
-     4.d0* cij_kl(14) - 3.d0* cij_kl(18) + &
-     (3.d0* cij_kl(5) + cij_kl(10) - &
-     4.d0* cij_kl(14) + cij_kl(18))* costwotheta)* sinphi - &
-     1.d0/2.d0* (cij_kl(5) - cij_kl(10) - cij_kl(18))* (costheta + &
-     3.d0* costhreetheta)* sinthreephi + &
-     4.d0* (cij_kl(6) - cij_kl(11))* cosfourphi* costhetasq* sintheta - &
-     4.d0* (cij_kl(1) + cij_kl(3) - cij_kl(7) - cij_kl(8) + cij_kl(16) - cij_kl(19) + &
-     (cij_kl(1) - cij_kl(3) - cij_kl(7) + cij_kl(8) + &
-     cij_kl(16) - cij_kl(19))* costwotheta)* sintwophi* sintheta - &
-     4.d0* (cij_kl(1) - cij_kl(2) + cij_kl(7) - &
-     cij_kl(21))* costhetasq* sinfourphi* sintheta + &
-     costwophi* ((cij_kl(6) + cij_kl(11) + 6.d0* cij_kl(15) - &
-     2.d0* cij_kl(17))* sintheta + &
-     (cij_kl(6) + cij_kl(11) - 2.d0* (cij_kl(15) + cij_kl(17)))* sinthreetheta))
-
-  cij_kll(5) = 1.d0/4.d0* (2.d0* (cij_kl(4) + &
-     cij_kl(20))* cosphisq* (costwotheta + cosfourtheta)* sinphi + &
-     2.d0* cij_kl(9)* (costwotheta + cosfourtheta)* sinphi*sinphisq + &
-     16.d0* cij_kl(1)* cosphifour* costheta*costhetasq* sintheta + &
-     4.d0* costheta*costhetasq* (-2.d0* cij_kl(8)* sinphisq + &
-     4.d0* cij_kl(7)* sinphifour + &
-     (cij_kl(2) + cij_kl(21))* sintwophisq)* sintheta + &
-     4.d0* cij_kl(13)* (1.d0 + 2.d0* costwotheta)* sinphi* sinthetasq + &
-     8.d0* costheta* (-2.d0* cij_kl(12) + cij_kl(8)* sinphisq)* sintheta*sinthetasq + &
-     2.d0* cosphi*cosphisq* (cij_kl(5)* (costwotheta + cosfourtheta) + &
-     8.d0* cij_kl(6)* costheta*costhetasq* sinphi* sintheta) + &
-     2.d0* cosphi* (cosfourtheta* (-cij_kl(14) + (cij_kl(10) + cij_kl(18))* sinphisq) + &
-     costwotheta* (cij_kl(14) + (cij_kl(10) + cij_kl(18))* sinphisq) + &
-     8.d0* cij_kl(11)* costheta*costhetasq* sinphi*sinphisq* sintheta) - &
-     (cij_kl(3) + cij_kl(16) + cij_kl(19) + &
-     (cij_kl(3) - cij_kl(16) + cij_kl(19))* costwophi + &
-     (cij_kl(15) + cij_kl(17))* sintwophi)* sinfourtheta)
-
-  cij_kll(6) = 1.d0/2.d0* costheta*costhetasq* ((cij_kl(6) + cij_kl(11))* costwophi + &
-      (cij_kl(6) - cij_kl(11))* cosfourphi + 2.d0* (-cij_kl(1) + cij_kl(7))* sintwophi + &
-      (-cij_kl(1) + cij_kl(2) - cij_kl(7) + cij_kl(21))* sinfourphi) + &
-      1.d0/4.d0* costhetasq* (-(cij_kl(4) + 3* cij_kl(9) + cij_kl(20))* cosphi - &
-      3.d0* (cij_kl(4) - cij_kl(9) + cij_kl(20))* costhreephi + &
-      (3.d0* cij_kl(5) + cij_kl(10) + cij_kl(18))* sinphi + &
-      3.d0* (cij_kl(5) - cij_kl(10) - cij_kl(18))* sinthreephi)* sintheta + &
-      costheta* ((cij_kl(15) + cij_kl(17))* costwophi + &
-      (-cij_kl(3) + cij_kl(8) + cij_kl(16) - cij_kl(19))* sintwophi)* sinthetasq + &
-      (-cij_kl(13)* cosphi + cij_kl(14)* sinphi)* sintheta*sinthetasq
-
-  cij_kll(7) = cij_kl(7)* cosphifour - cij_kl(11)* cosphi*cosphisq* sinphi + &
-      (cij_kl(2) + cij_kl(21))* cosphisq* sinphisq - &
-      cij_kl(6)* cosphi* sinphi*sinphisq + &
-      cij_kl(1)* sinphifour
-
-  cij_kll(8) = 1.d0/2.d0* (2.d0* costhetasq* sinphi* (-cij_kl(15)* cosphi + &
-      cij_kl(3)* sinphi) + 2.d0* cij_kl(2)* cosphifour* sinthetasq + &
-      (2.d0* cij_kl(2)* sinphifour + &
-      (cij_kl(1) + cij_kl(7) - cij_kl(21))* sintwophisq)* sinthetasq + &
-      cij_kl(4)* sinphi*sinphisq* sintwotheta + &
-      cosphi*cosphisq* (2.d0* (-cij_kl(6) + cij_kl(11))* sinphi* sinthetasq + &
-      cij_kl(10)* sintwotheta) + cosphi* sinphisq* (2.d0* (cij_kl(6) - &
-      cij_kl(11))* sinphi* sinthetasq + &
-      (cij_kl(5) - cij_kl(18))* sintwotheta) + &
-      cosphisq* (2.d0* cij_kl(8)* costhetasq + &
-      (cij_kl(9) - cij_kl(20))* sinphi* sintwotheta))
-
-  cij_kll(9) = cij_kl(11)* cosphifour* sintheta - sinphi*sinphisq* (cij_kl(5)* costheta + &
-      cij_kl(6)* sinphi* sintheta) +  cosphisq* sinphi* (-(cij_kl(10) + &
-      cij_kl(18))* costheta + &
-      3.d0* (cij_kl(6) - cij_kl(11))* sinphi* sintheta) + &
-      cosphi* sinphisq* ((cij_kl(4) + cij_kl(20))* costheta + &
-      2.d0* (-2.d0* cij_kl(1) + cij_kl(2) + cij_kl(21))* sinphi* sintheta) + &
-      cosphi*cosphisq* (cij_kl(9)* costheta - 2.d0* (cij_kl(2) - 2.d0* cij_kl(7) + &
-      cij_kl(21))* sinphi* sintheta)
-
-  cij_kll(10) = 1.d0/4.d0* (4.d0* costwotheta* (cij_kl(10)* cosphi*cosphisq + &
-      (cij_kl(9) - cij_kl(20))* cosphisq* sinphi + &
-      (cij_kl(5) - cij_kl(18))* cosphi* sinphisq + &
-      cij_kl(4)* sinphi*sinphisq) + (cij_kl(1) + 3.d0* cij_kl(2) - &
-      2.d0* cij_kl(3) + cij_kl(7) - &
-      2.d0* cij_kl(8) - cij_kl(21) + 2.d0* (cij_kl(3) - cij_kl(8))* costwophi + &
-      (-cij_kl(1) + cij_kl(2) - cij_kl(7) + cij_kl(21))* cosfourphi + &
-      2.d0* cij_kl(15)* sintwophi + &
-      (-cij_kl(6) + cij_kl(11))* sinfourphi)* sintwotheta)
-
-  cij_kll(11) = 1.d0/4.d0* (2.d0* costheta* ((cij_kl(6) + cij_kl(11))* costwophi + &
-      (-cij_kl(6) + cij_kl(11))* cosfourphi + &
-      2.d0* (-cij_kl(1) + cij_kl(7))* sintwophi + &
-      (cij_kl(1) - cij_kl(2) + cij_kl(7) - cij_kl(21))* sinfourphi) + &
-      (-(cij_kl(4) + 3.d0* cij_kl(9) + cij_kl(20))* cosphi + &
-      (cij_kl(4) - cij_kl(9) + cij_kl(20))* costhreephi + &
-      (3.d0* cij_kl(5) + cij_kl(10) + cij_kl(18))* sinphi + &
-      (-cij_kl(5) + cij_kl(10) + cij_kl(18))* sinthreephi)* sintheta)
-
-  cij_kll(12) = 1.d0/16.d0* (cij_kl(16) - 2.d0* cij_kl(16)* cosfourtheta* sinphisq + &
-      costwophi* (-cij_kl(16) + 8.d0* costheta* sinthetasq* ((cij_kl(3) - &
-      cij_kl(8) + cij_kl(19))* costheta + &
-      (cij_kl(5) - cij_kl(10) - cij_kl(18))* cosphi* sintheta)) + &
-      2.d0* (cij_kl(15) + cij_kl(17))* sintwophi* sintwothetasq + &
-      2.d0* (8.d0* cij_kl(12)* costhetafour + &
-      8.d0* cij_kl(14)* cosphi* costheta*costhetasq* sintheta + &
-      4.d0* cosphi* costheta* (cij_kl(5) + cij_kl(10) + cij_kl(18) + &
-      (cij_kl(4) + cij_kl(20))* sintwophi)* &
-      sintheta*sinthetasq + 8.d0* cij_kl(1)* cosphifour* sinthetafour + &
-      8.d0* cij_kl(6)* cosphi*cosphisq* sinphi* sinthetafour + &
-      8.d0* cij_kl(11)* cosphi* sinphi*sinphisq* sinthetafour + &
-      8.d0* cij_kl(7)* sinphifour* sinthetafour + &
-      2.d0* cij_kl(2)* sintwophisq* sinthetafour + &
-      2.d0* cij_kl(21)* sintwophisq* sinthetafour + &
-      2.d0* cij_kl(13)* sinphi* sintwotheta + &
-      2.d0* cij_kl(9)* sinphi*sinphisq* sintwotheta + &
-      cij_kl(3)* sintwothetasq + cij_kl(8)* sintwothetasq + &
-      cij_kl(19)* sintwothetasq + cij_kl(13)* sinphi* sinfourtheta - &
-      cij_kl(9)* sinphi*sinphisq* sinfourtheta))
-
-  cij_kll(13) = 1.d0/8.d0* (cosphi* costheta* (cij_kl(4) + 3.d0* cij_kl(9) + &
-      4.d0* cij_kl(13) + cij_kl(20) - (cij_kl(4) + 3.d0* cij_kl(9) - &
-      4.d0* cij_kl(13) + cij_kl(20))* costwotheta) + 4.d0* (-cij_kl(1) - &
-      cij_kl(3) + cij_kl(7) + cij_kl(8) + cij_kl(16) - cij_kl(19) + &
-      (cij_kl(1) - cij_kl(3) - cij_kl(7) + cij_kl(8) + cij_kl(16) - &
-      cij_kl(19))* costwotheta)* sintwophi* sintheta + &
-      4.d0* (cij_kl(6) - cij_kl(11))* cosfourphi* sinthetasq*sintheta - &
-      4.d0* (cij_kl(1) - cij_kl(2) + cij_kl(7) - &
-      cij_kl(21))* sinfourphi* sinthetasq*sintheta + &
-      costheta* ((-3.d0* cij_kl(5) - cij_kl(10) - 4.d0* cij_kl(14) - &
-      cij_kl(18) + (3.d0* cij_kl(5) + cij_kl(10) - 4.d0* cij_kl(14) + &
-      cij_kl(18))* costwotheta)* sinphi + 6.d0* ((cij_kl(4) - cij_kl(9) + &
-      cij_kl(20))* costhreephi + (-cij_kl(5) + cij_kl(10) + &
-      cij_kl(18))* sinthreephi)* sinthetasq) + costwophi* ((3* cij_kl(6) + &
-      3.d0* cij_kl(11) + 2.d0* (cij_kl(15) + cij_kl(17)))* sintheta - &
-      (cij_kl(6) + cij_kl(11) - 2.d0* (cij_kl(15) + &
-      cij_kl(17)))* sinthreetheta))
-
-  cij_kll(14) = 1.d0/4.d0* (2.d0* cij_kl(13)* (costwotheta + cosfourtheta)* sinphi + &
-      8.d0* costheta*costhetasq* (-2.d0* cij_kl(12) + cij_kl(8)* sinphisq)* sintheta + &
-      4.d0* (cij_kl(4) + cij_kl(20))* cosphisq* (1.d0 + &
-      2.d0* costwotheta)* sinphi* sinthetasq + &
-      4.d0* cij_kl(9)* (1.d0 + 2.d0* costwotheta)* sinphi*sinphisq* sinthetasq + &
-      16.d0* cij_kl(1)* cosphifour* costheta* sintheta*sinthetasq + &
-      4.d0* costheta* (-2.d0* cij_kl(8)* sinphisq + 4.d0* cij_kl(7)* sinphifour + &
-      (cij_kl(2) + cij_kl(21))* sintwophisq)* sintheta*sinthetasq + &
-      4.d0* cosphi*cosphisq* sinthetasq* (cij_kl(5) + 2.d0* cij_kl(5)* costwotheta + &
-      4.d0* cij_kl(6)* costheta* sinphi* sintheta) + &
-      2.d0* cosphi* (cosfourtheta* (cij_kl(14) - (cij_kl(10) + cij_kl(18))* sinphisq) + &
-      costwotheta* (cij_kl(14) + (cij_kl(10) + cij_kl(18))* sinphisq) + &
-      8.d0* cij_kl(11)* costheta* sinphi*sinphisq* sintheta*sinthetasq) + &
-      (cij_kl(3) + cij_kl(16) + cij_kl(19) + (cij_kl(3) - cij_kl(16) + &
-      cij_kl(19))* costwophi + (cij_kl(15) + cij_kl(17))* sintwophi)* sinfourtheta)
-
-  cij_kll(15) = costwophi* costheta* (-cij_kl(17) + (cij_kl(15) + cij_kl(17))* costhetasq) + &
-       1.d0/16.d0* (-((11.d0* cij_kl(4) + cij_kl(9) + 4.d0* cij_kl(13) - &
-       5.d0* cij_kl(20))* cosphi + (cij_kl(4) - cij_kl(9) + cij_kl(20))* costhreephi - &
-       (cij_kl(5) + 11.d0* cij_kl(10) + 4.d0* cij_kl(14) - &
-       5.d0* cij_kl(18))* sinphi + (-cij_kl(5) + cij_kl(10) + &
-       cij_kl(18))* sinthreephi)* sintheta + &
-       8.d0* costheta* ((-cij_kl(1) - cij_kl(3) + cij_kl(7) + cij_kl(8) - cij_kl(16) +&
-       cij_kl(19) + (cij_kl(1) - cij_kl(3) - &
-       cij_kl(7) + cij_kl(8) + cij_kl(16) - cij_kl(19))* costwotheta)* sintwophi +&
-       ((cij_kl(6) + cij_kl(11))* costwophi + &
-       (cij_kl(6) - cij_kl(11))* cosfourphi + (-cij_kl(1) + cij_kl(2) - cij_kl(7) +&
-       cij_kl(21))* sinfourphi)* sinthetasq) +&
-       ((cij_kl(4) + 3.d0* cij_kl(9) - 4.d0* cij_kl(13) + cij_kl(20))* cosphi + &
-       3.d0* (cij_kl(4) - cij_kl(9) + cij_kl(20))* costhreephi - &
-       (3.d0* cij_kl(5) + cij_kl(10) - 4.d0* cij_kl(14) + cij_kl(18))* sinphi + &
-       3.d0* (-cij_kl(5) + cij_kl(10) + cij_kl(18))* sinthreephi)* sinthreetheta)
-
-  cij_kll(16) = 1.d0/4.d0*(cij_kl(1) - cij_kl(2) + cij_kl(7) + cij_kl(16) + &
-       cij_kl(19) + cij_kl(21) + 2.d0*(cij_kl(16) - cij_kl(19))*costwophi* costhetasq + &
-       (-cij_kl(1) + cij_kl(2) - cij_kl(7) + cij_kl(16) + &
-       cij_kl(19) - cij_kl(21))*costwotheta - 2.d0* cij_kl(17)* costhetasq* sintwophi + &
-       2.d0* ((-cij_kl(1) + cij_kl(2) - cij_kl(7) + cij_kl(21))* cosfourphi + &
-       (-cij_kl(6) + cij_kl(11))* sinfourphi)* sinthetasq + ((cij_kl(5) - cij_kl(10) +&
-       cij_kl(18))* cosphi + (-cij_kl(5) + cij_kl(10) + cij_kl(18))* costhreephi +&
-       (-cij_kl(4) + cij_kl(9) + cij_kl(20))* sinphi - &
-       (cij_kl(4) - cij_kl(9) + cij_kl(20))* sinthreephi)* sintwotheta)
-
-  cij_kll(17) = 1.d0/8.d0* (4.d0* costwophi* costheta* (cij_kl(6) + cij_kl(11) - &
-       2.d0* cij_kl(15) - (cij_kl(6) + cij_kl(11) - 2.d0* (cij_kl(15) + &
-       cij_kl(17)))* costwotheta) - (2.d0* cosphi* (-3.d0* cij_kl(4) +&
-       cij_kl(9) + 2.d0* cij_kl(13) + cij_kl(20) + (cij_kl(4) - cij_kl(9) + &
-       cij_kl(20))* costwophi) - (cij_kl(5) - 5.d0* cij_kl(10) + &
-       4.d0* cij_kl(14) + 3.d0* cij_kl(18))* sinphi + (-cij_kl(5) + cij_kl(10) + &
-       cij_kl(18))* sinthreephi)* sintheta + &
-       8.d0* costheta* ((-cij_kl(1) + cij_kl(3) + cij_kl(7) - cij_kl(8) + &
-       (cij_kl(1) - cij_kl(3) - cij_kl(7) + cij_kl(8) + cij_kl(16) - &
-       cij_kl(19))* costwotheta)* sintwophi + ((cij_kl(6) - cij_kl(11))* cosfourphi + &
-       (-cij_kl(1) + cij_kl(2) - cij_kl(7) + cij_kl(21))* sinfourphi)* sinthetasq) +&
-       ((cij_kl(4) + 3.d0* cij_kl(9) - 4.d0* cij_kl(13) + cij_kl(20))* cosphi + &
-       3.d0* (cij_kl(4) - cij_kl(9) + cij_kl(20))* costhreephi - &
-       (3.d0* cij_kl(5) + cij_kl(10) - 4.d0* cij_kl(14) + cij_kl(18))* sinphi + &
-       3.d0* (-cij_kl(5) + cij_kl(10) + cij_kl(18))* sinthreephi)* sinthreetheta)
-
-  cij_kll(18) = 1.d0/2.d0* ((cij_kl(5) - cij_kl(10) + cij_kl(18))* cosphi* costwotheta - &
-       (cij_kl(5) - cij_kl(10) - cij_kl(18))* costhreephi* costwotheta - &
-       2.d0* (cij_kl(4) - cij_kl(9) + &
-       (cij_kl(4) - cij_kl(9) + cij_kl(20))* costwophi)* costwotheta* sinphi + &
-       (cij_kl(1) - cij_kl(2) + cij_kl(7) - cij_kl(16) - cij_kl(19) + cij_kl(21) + &
-       (-cij_kl(16) + cij_kl(19))* costwophi + &
-       (-cij_kl(1) + cij_kl(2) - cij_kl(7) + cij_kl(21))* cosfourphi + &
-       cij_kl(17)* sintwophi + &
-       (-cij_kl(6) + cij_kl(11))* sinfourphi)* sintwotheta)
-
-  cij_kll(19) = 1.d0/4.d0* (cij_kl(16) - cij_kl(16)* costwophi + &
-      (-cij_kl(15) + cij_kl(17))* sintwophi + &
-      4.d0* cij_kl(12)* sintwothetasq + &
-      2.d0* (2.d0* cij_kl(1)* cosphifour* sintwothetasq + &
-      cosphi*cosphisq* (8.d0* cij_kl(6)* costhetasq* sinphi* sinthetasq + &
-      cij_kl(5)* sinfourtheta) + cosphisq* (-cij_kl(3) + cij_kl(19) + (cij_kl(3) +&
-      cij_kl(19))* cosfourtheta + (cij_kl(4) + cij_kl(20))* sinphi* sinfourtheta) + &
-      sinphi* (cosfourtheta* ((cij_kl(15) + cij_kl(17))* cosphi + &
-      cij_kl(16)* sinphi) + (cij_kl(2) + cij_kl(7) - 2.d0* cij_kl(8) + cij_kl(21) + &
-      (cij_kl(2) - cij_kl(7) + cij_kl(21))* costwophi)* sinphi* sintwothetasq + &
-      (-cij_kl(13) + cij_kl(9)* sinphisq)* sinfourtheta) + &
-      cosphi* (8.d0* cij_kl(11)* costhetasq* sinphi*sinphisq* sinthetasq + &
-      (-cij_kl(14) + (cij_kl(10) + cij_kl(18))* sinphisq)* sinfourtheta)))
-
-  cij_kll(20) = 1.d0/8.d0* (2.d0* cosphi* costheta* (-3.d0* cij_kl(4) - cij_kl(9) + &
-      4.d0* cij_kl(13) + cij_kl(20) + (cij_kl(4) + 3.d0* cij_kl(9) - &
-      4.d0* cij_kl(13) + cij_kl(20))* costwotheta) + &
-      (cij_kl(4) - cij_kl(9) + cij_kl(20))* costhreephi* (costheta + &
-      3.d0* costhreetheta) - &
-      2.d0* costheta* (-cij_kl(5) - 3.d0* cij_kl(10) + 4.d0* cij_kl(14) + &
-      cij_kl(18) + (3.d0* cij_kl(5) + &
-      cij_kl(10) - 4.d0* cij_kl(14) + cij_kl(18))*costwotheta)* sinphi - &
-      (cij_kl(5) - cij_kl(10) - cij_kl(18))* &
-      (costheta + 3.d0* costhreetheta)* sinthreephi + 8.d0* (cij_kl(6) - &
-      cij_kl(11))* cosfourphi* costhetasq* sintheta - 8.d0* (cij_kl(1) - &
-      cij_kl(3) - cij_kl(7) + cij_kl(8) + &
-      (cij_kl(1) - cij_kl(3) - cij_kl(7) + cij_kl(8) + cij_kl(16) - &
-      cij_kl(19))* costwotheta)* sintwophi* sintheta - &
-      8.d0* (cij_kl(1) - cij_kl(2) + cij_kl(7) - &
-      cij_kl(21))* costhetasq* sinfourphi* sintheta + &
-      2.d0* costwophi* ((cij_kl(6) + cij_kl(11) - 2.d0* cij_kl(15) + &
-      2.d0* cij_kl(17))* sintheta + &
-      (cij_kl(6) + cij_kl(11) - 2.d0* (cij_kl(15) + cij_kl(17)))* sinthreetheta))
-
-  cij_kll(21) = 1.d0/4.d0* (cij_kl(1) - cij_kl(2) + cij_kl(7) + cij_kl(16) + &
-      cij_kl(19) + cij_kl(21) - 2.d0* (cij_kl(1) - cij_kl(2) + cij_kl(7) - &
-      cij_kl(21))* cosfourphi* costhetasq + &
-      (cij_kl(1) - cij_kl(2) + cij_kl(7) - cij_kl(16) - cij_kl(19) + &
-      cij_kl(21))* costwotheta + &
-      2.d0* (-cij_kl(6) + cij_kl(11))* costhetasq* sinfourphi - &
-      2.d0* ((-cij_kl(16) + cij_kl(19))* costwophi + cij_kl(17)* sintwophi)* sinthetasq - &
-      ((cij_kl(5) - cij_kl(10) + cij_kl(18))* cosphi + (-cij_kl(5) + cij_kl(10) +&
-      cij_kl(18))* costhreephi + &
-      (-cij_kl(4) + cij_kl(9) + cij_kl(20))* sinphi - (cij_kl(4) - cij_kl(9) + &
-      cij_kl(20))* sinthreephi)* sintwotheta)
-
-  end subroutine rotate_kernels_dble

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -963,6 +963,10 @@
   integer :: it_temp,seismo_current_temp
   real(kind=CUSTOM_REAL), dimension(3) :: seismograms_temp
 
+! to switch between simulation type 1 mode and simulation type 3 mode
+! in exact undoing of attenuation
+  logical :: undo_att_sim_type_3
+
 ! *************************************************
 ! ************** PROGRAM STARTS HERE **************
 ! *************************************************
@@ -1063,6 +1067,11 @@
                 wgllwgll_xy,wgllwgll_xz,wgllwgll_yz, &
                 rec_filename,STATIONS,nrec,NOISE_TOMOGRAPHY,SAVE_REGULAR_KL, &
                 PARTIAL_PHYS_DISPERSION_ONLY,UNDO_ATTENUATION,NT_DUMP_ATTENUATION)
+
+! to switch between simulation type 1 mode and simulation type 3 mode
+! in exact undoing of attenuation
+  undo_att_sim_type_3 = .false.
+
 !
 !-------------------------------------------------------------------------------------------------
 !-------------------------------------------------------------------------------------------------
@@ -2331,6 +2340,10 @@
 
   if(SIMULATION_TYPE == 3)then
 
+! to switch between simulation type 1 mode and simulation type 3 mode
+! in exact undoing of attenuation
+    undo_att_sim_type_3 = .true.
+
     allocate(b_displ_crust_mantle_store_buffer(NDIM,NGLOB_CRUST_MANTLE,NT_DUMP_ATTENUATION),stat=ier)
     if( ier /= 0 ) call exit_MPI(myrank,'error allocating b_displ_crust_mantle_store_buffer')
     allocate(b_displ_outer_core_store_buffer(NGLOB_OUTER_CORE,NT_DUMP_ATTENUATION),stat=ier)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90	2013-07-02 15:58:12 UTC (rev 22487)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90	2013-07-02 16:35:43 UTC (rev 22488)
@@ -299,7 +299,7 @@
 
   ! variables
   character(len=150) prname
-  integer :: ipoints_3dmovie,i,j,k,ispec,iNIT
+  integer :: ipoints_3dmovie,i,j,k,ispec,iNIT,ier
   real(kind=CUSTOM_REAL) :: muv_3dmovie
   real(kind=CUSTOM_REAL),dimension(3,3) :: eps_loc,eps_loc_new
   real(kind=CUSTOM_REAL),dimension(:),allocatable :: store_val3d_NN,store_val3d_EE,store_val3d_ZZ,&
@@ -452,7 +452,7 @@
 
   ! local parameters
   real(kind=CUSTOM_REAL), dimension(3) :: vector_local,vector_local_new
-  integer :: ipoints_3dmovie,i,j,k,ispec,iNIT,iglob
+  integer :: ipoints_3dmovie,i,j,k,ispec,iNIT,iglob,ier
   real(kind=CUSTOM_REAL), dimension(:),allocatable :: store_val3d_N,store_val3d_E,store_val3d_Z
 
   character(len=150) outputname



More information about the CIG-COMMITS mailing list