[cig-commits] r22532 - seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sun Jul 7 16:09:58 PDT 2013
Author: dkomati1
Date: 2013-07-07 16:09:58 -0700 (Sun, 07 Jul 2013)
New Revision: 22532
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
Log:
to save memory, changed vector_accel_outer_core, vector_displ_outer_core and b_vector_displ_outer_core from full arrays to a local version only.
Also got rid of deviatoric kernel check option "deviatoric_outercore", which was unused but had a major bug in its implementation (matrix product elements
were computed before the previous loop was finished i.e. before the initial array was fully filled.
Thus also got rid of array "beta_kl_outer_core".
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.f90 2013-07-07 22:32:53 UTC (rev 22531)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.f90 2013-07-07 23:09:58 UTC (rev 22532)
@@ -154,7 +154,6 @@
div_displ_outer_core, &
rhostore_outer_core,kappavstore_outer_core, &
rho_kl_outer_core,alpha_kl_outer_core, &
- deviatoric_outercore,nspec_beta_kl_outer_core,beta_kl_outer_core, &
deltat)
implicit none
@@ -179,7 +178,7 @@
real(kind=CUSTOM_REAL), dimension(NGLOB_OUTER_CORE_ADJOINT) :: &
b_displ_outer_core,b_accel_outer_core
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_OUTER_CORE) :: vector_accel_outer_core,&
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: vector_accel_outer_core,&
vector_displ_outer_core, b_vector_displ_outer_core
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE_ADJOINT) :: div_displ_outer_core
@@ -190,30 +189,21 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE_ADJOINT) :: &
rho_kl_outer_core,alpha_kl_outer_core
- integer nspec_beta_kl_outer_core
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec_beta_kl_outer_core) :: &
- beta_kl_outer_core
- logical deviatoric_outercore
-
real(kind=CUSTOM_REAL) deltat
! local parameters
real(kind=CUSTOM_REAL) :: xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,kappal
real(kind=CUSTOM_REAL) :: tempx1l,tempx2l,tempx3l
- real(kind=CUSTOM_REAL) :: tempy1l,tempy2l,tempy3l
- real(kind=CUSTOM_REAL) :: tempz1l,tempz2l,tempz3l
real(kind=CUSTOM_REAL) :: b_div_displ_outer_core
- real(kind=CUSTOM_REAL), dimension(5) :: b_epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(5) :: epsilondev_loc
integer :: i,j,k,l,ispec,iglob
- ! outer_core -- compute the actual displacement and acceleration (NDIM,NGLOBMAX_OUTER_CORE)
+ ! outer core -- compute the actual displacement and acceleration
do ispec = 1, NSPEC_OUTER_CORE
+
do k = 1, NGLLZ
do j = 1, NGLLY
do i = 1, NGLLX
- iglob = ibool_outer_core(i,j,k,ispec)
xixl = xix_outer_core(i,j,k,ispec)
xiyl = xiy_outer_core(i,j,k,ispec)
@@ -229,7 +219,6 @@
tempx2l = 0._CUSTOM_REAL
tempx3l = 0._CUSTOM_REAL
-
do l=1,NGLLX
tempx1l = tempx1l + b_displ_outer_core(ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
enddo
@@ -239,75 +228,13 @@
enddo
do l=1,NGLLZ
- tempx3l = tempx3l + b_displ_outer_core(ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
+ tempx3l = tempx3l + b_displ_outer_core(ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
enddo
- b_vector_displ_outer_core(1,iglob) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
- b_vector_displ_outer_core(2,iglob) = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
- b_vector_displ_outer_core(3,iglob) = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
+ b_vector_displ_outer_core(1,i,j,k) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
+ b_vector_displ_outer_core(2,i,j,k) = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
+ b_vector_displ_outer_core(3,i,j,k) = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
-
- !deviatoric kernel check
- if( deviatoric_outercore ) then
-
- tempx1l = 0._CUSTOM_REAL
- tempx2l = 0._CUSTOM_REAL
- tempx3l = 0._CUSTOM_REAL
-
- tempy1l = 0._CUSTOM_REAL
- tempy2l = 0._CUSTOM_REAL
- tempy3l = 0._CUSTOM_REAL
-
- tempz1l = 0._CUSTOM_REAL
- tempz2l = 0._CUSTOM_REAL
- tempz3l = 0._CUSTOM_REAL
-
- ! assumes NGLLX = NGLLY = NGLLZ
- do l=1,NGLLX
- tempx1l = tempx1l + b_vector_displ_outer_core(1,ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
- tempy1l = tempy1l + b_vector_displ_outer_core(2,ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
- tempz1l = tempz1l + b_vector_displ_outer_core(3,ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
-
- tempx2l = tempx2l + b_vector_displ_outer_core(1,ibool_outer_core(i,l,k,ispec)) * hprime_yy(j,l)
- tempy2l = tempy2l + b_vector_displ_outer_core(2,ibool_outer_core(i,l,k,ispec)) * hprime_yy(j,l)
- tempz2l = tempz2l + b_vector_displ_outer_core(3,ibool_outer_core(i,l,k,ispec)) * hprime_yy(j,l)
-
- tempx3l = tempx3l + b_vector_displ_outer_core(1,ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
- tempy3l = tempy3l + b_vector_displ_outer_core(2,ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
- tempz3l = tempz3l + b_vector_displ_outer_core(3,ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
- enddo
-
- ! deviatoric strain
- b_epsilondev_loc(1) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- b_epsilondev_loc(2) = xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- b_epsilondev_loc(3) = 0.5*( xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l &
- + xixl*tempy1l + etaxl*tempy2l + gammaxl*tempy3l ) &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- b_epsilondev_loc(4) = 0.5*( xixl*tempz1l + etaxl*tempz2l + gammaxl*tempz3l &
- + xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l ) &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- b_epsilondev_loc(5) = 0.5*( xiyl*tempz1l + etayl*tempz2l + gammayl*tempz3l &
- + xizl*tempy1l + etazl*tempy2l + gammazl*tempy3l ) &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- endif ! deviatoric kernel check
-
tempx1l = 0._CUSTOM_REAL
tempx2l = 0._CUSTOM_REAL
tempx3l = 0._CUSTOM_REAL
@@ -324,9 +251,9 @@
tempx3l = tempx3l + accel_outer_core(ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
enddo
- vector_accel_outer_core(1,iglob) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
- vector_accel_outer_core(2,iglob) = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
- vector_accel_outer_core(3,iglob) = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
+ vector_accel_outer_core(1,i,j,k) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
+ vector_accel_outer_core(2,i,j,k) = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
+ vector_accel_outer_core(3,i,j,k) = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
tempx1l = 0._CUSTOM_REAL
tempx2l = 0._CUSTOM_REAL
@@ -344,82 +271,17 @@
tempx3l = tempx3l + displ_outer_core(ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
enddo
- vector_displ_outer_core(1,iglob) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
- vector_displ_outer_core(2,iglob) = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
- vector_displ_outer_core(3,iglob) = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
+ vector_displ_outer_core(1,i,j,k) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
+ vector_displ_outer_core(2,i,j,k) = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
+ vector_displ_outer_core(3,i,j,k) = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
- ! deviatoric kernel check
- if( deviatoric_outercore ) then
-
- tempx1l = 0._CUSTOM_REAL
- tempx2l = 0._CUSTOM_REAL
- tempx3l = 0._CUSTOM_REAL
-
- tempy1l = 0._CUSTOM_REAL
- tempy2l = 0._CUSTOM_REAL
- tempy3l = 0._CUSTOM_REAL
-
- tempz1l = 0._CUSTOM_REAL
- tempz2l = 0._CUSTOM_REAL
- tempz3l = 0._CUSTOM_REAL
-
- ! assumes NGLLX = NGLLY = NGLLZ
- do l=1,NGLLX
- tempx1l = tempx1l + vector_displ_outer_core(1,ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
- tempy1l = tempy1l + vector_displ_outer_core(2,ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
- tempz1l = tempz1l + vector_displ_outer_core(3,ibool_outer_core(l,j,k,ispec)) * hprime_xx(i,l)
-
- tempx2l = tempx2l + vector_displ_outer_core(1,ibool_outer_core(i,l,k,ispec)) * hprime_yy(j,l)
- tempy2l = tempy2l + vector_displ_outer_core(2,ibool_outer_core(i,l,k,ispec)) * hprime_yy(j,l)
- tempz2l = tempz2l + vector_displ_outer_core(3,ibool_outer_core(i,l,k,ispec)) * hprime_yy(j,l)
-
- tempx3l = tempx3l + vector_displ_outer_core(1,ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
- tempy3l = tempy3l + vector_displ_outer_core(2,ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
- tempz3l = tempz3l + vector_displ_outer_core(3,ibool_outer_core(i,j,l,ispec)) * hprime_zz(k,l)
- enddo
-
- ! deviatoric strain
- epsilondev_loc(1) = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- epsilondev_loc(2) = xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- epsilondev_loc(3) = 0.5*( xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l &
- + xixl*tempy1l + etaxl*tempy2l + gammaxl*tempy3l ) &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- epsilondev_loc(4) = 0.5*( xixl*tempz1l + etaxl*tempz2l + gammaxl*tempz3l &
- + xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l ) &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- epsilondev_loc(5) = 0.5*( xiyl*tempz1l + etayl*tempz2l + gammayl*tempz3l &
- + xizl*tempy1l + etazl*tempy2l + gammazl*tempy3l ) &
- - ONE_THIRD* (xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l &
- + xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l &
- + xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l )
-
- beta_kl_outer_core(i,j,k,ispec) = beta_kl_outer_core(i,j,k,ispec) &
- + deltat * (epsilondev_loc(1)*b_epsilondev_loc(1) + epsilondev_loc(2)*b_epsilondev_loc(2) &
- + (epsilondev_loc(1)+epsilondev_loc(2)) * (b_epsilondev_loc(1)+b_epsilondev_loc(2)) &
- + 2 * (epsilondev_loc(3)*b_epsilondev_loc(3) + epsilondev_loc(4)*b_epsilondev_loc(4) + &
- epsilondev_loc(5)*b_epsilondev_loc(5)) )
-
- endif ! deviatoric kernel check
-
rho_kl_outer_core(i,j,k,ispec) = rho_kl_outer_core(i,j,k,ispec) &
- + deltat * dot_product(vector_accel_outer_core(:,iglob), b_vector_displ_outer_core(:,iglob))
+ + deltat * dot_product(vector_accel_outer_core(:,i,j,k), b_vector_displ_outer_core(:,i,j,k))
kappal = rhostore_outer_core(i,j,k,ispec)/kappavstore_outer_core(i,j,k,ispec)
+ iglob = ibool_outer_core(i,j,k,ispec)
+
div_displ_outer_core(i,j,k,ispec) = kappal * accel_outer_core(iglob)
b_div_displ_outer_core = kappal * b_accel_outer_core(iglob)
@@ -429,6 +291,7 @@
enddo
enddo
enddo
+
enddo
end subroutine compute_kernels_outer_core
@@ -474,7 +337,6 @@
integer :: i,j,k,ispec,iglob
-
! inner_core
do ispec = 1, NSPEC_INNER_CORE
@@ -546,8 +408,8 @@
! Building of the local matrix of the strain tensor
! for the adjoint field and the regular backward field
- eps(1:2)=epsdev(1:2)+eps_trace_over_3 !eps11 et eps22
- eps(3)=-(eps(1)+eps(2))+3*eps_trace_over_3 !eps33
+ eps(1:2)=epsdev(1:2)+eps_trace_over_3 !eps11 and eps22
+ eps(3)=-(eps(1)+eps(2))+3*eps_trace_over_3 !eps33
eps(4)=epsdev(5) !eps23
eps(5)=epsdev(4) !eps13
eps(6)=epsdev(3) !eps12
@@ -998,5 +860,4 @@
enddo
enddo
-
end subroutine compute_kernels_hessian
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90 2013-07-07 22:32:53 UTC (rev 22531)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90 2013-07-07 23:09:58 UTC (rev 22532)
@@ -26,7 +26,6 @@
div_displ_outer_core, &
rhostore_outer_core,kappavstore_outer_core, &
rho_kl_outer_core,alpha_kl_outer_core, &
- deviatoric_outercore,nspec_beta_kl_outer_core,beta_kl_outer_core, &
deltat)
! inner core
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90 2013-07-07 22:32:53 UTC (rev 22531)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90 2013-07-07 23:09:58 UTC (rev 22532)
@@ -473,7 +473,6 @@
subroutine save_kernels_outer_core(myrank,scale_t,scale_displ, &
rho_kl_outer_core,alpha_kl_outer_core, &
rhostore_outer_core,kappavstore_outer_core, &
- deviatoric_outercore,nspec_beta_kl_outer_core,beta_kl_outer_core, &
LOCAL_PATH)
implicit none
@@ -491,16 +490,11 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE) :: &
rhostore_outer_core,kappavstore_outer_core
- integer nspec_beta_kl_outer_core
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec_beta_kl_outer_core) :: &
- beta_kl_outer_core
- logical deviatoric_outercore
-
character(len=150) LOCAL_PATH
! local parameters
real(kind=CUSTOM_REAL):: scale_kl
- real(kind=CUSTOM_REAL) :: rhol,kappal,rho_kl,alpha_kl,beta_kl
+ real(kind=CUSTOM_REAL) :: rhol,kappal,rho_kl,alpha_kl
integer :: ispec,i,j,k
character(len=150) prname
@@ -518,14 +512,6 @@
rho_kl_outer_core(i,j,k,ispec) = (rho_kl + alpha_kl) * scale_kl
alpha_kl_outer_core(i,j,k,ispec) = 2 * alpha_kl * scale_kl
-
-
- !deviatoric kernel check
- if( deviatoric_outercore ) then
- beta_kl = - 2 * beta_kl_outer_core(i,j,k,ispec) ! not using mul, since it's zero for the fluid
- beta_kl_outer_core(i,j,k,ispec) = beta_kl
- endif
-
enddo
enddo
enddo
@@ -540,13 +526,6 @@
write(27) alpha_kl_outer_core
close(27)
- ! deviatoric kernel check
- if( deviatoric_outercore ) then
- open(unit=27,file=trim(prname)//'mu_kernel.bin',status='unknown',form='unformatted',action='write')
- write(27) beta_kl_outer_core
- close(27)
- endif
-
end subroutine save_kernels_outer_core
!
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90 2013-07-07 22:32:53 UTC (rev 22531)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90 2013-07-07 23:09:58 UTC (rev 22532)
@@ -645,11 +645,6 @@
! approximate hessian
real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: hess_kl_crust_mantle
- ! check for deviatoric kernel for outer core region
- real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: beta_kl_outer_core
- integer :: nspec_beta_kl_outer_core
- logical,parameter:: deviatoric_outercore = .false.
-
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: rho_kl_inner_core, &
beta_kl_inner_core, alpha_kl_inner_core
@@ -689,7 +684,10 @@
reclen_ymax_crust_mantle, reclen_xmin_outer_core, reclen_xmax_outer_core, &
reclen_ymin_outer_core, reclen_ymax_outer_core, reclen_zmin
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_OUTER_CORE_ADJOINT) :: vector_accel_outer_core, &
+! real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_OUTER_CORE_ADJOINT) :: vector_accel_outer_core, &
+! vector_displ_outer_core, b_vector_displ_outer_core
+!! DK DK July 2013: to save a significant amount of memory, no need for these arrays to be global, a local version is sufficient
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: vector_accel_outer_core, &
vector_displ_outer_core, b_vector_displ_outer_core
integer npoin2D_faces_crust_mantle(NUMFACES_SHARED)
@@ -2127,16 +2125,6 @@
alpha_kl_inner_core(:,:,:,:) = 0._CUSTOM_REAL
div_displ_outer_core(:,:,:,:) = 0._CUSTOM_REAL
-
- ! deviatoric kernel check
- if( deviatoric_outercore) then
- nspec_beta_kl_outer_core = NSPEC_OUTER_CORE_ADJOINT
- else
- nspec_beta_kl_outer_core = 1
- endif
- allocate(beta_kl_outer_core(NGLLX,NGLLY,NGLLZ,nspec_beta_kl_outer_core),stat=ier)
- if( ier /= 0 ) call exit_MPI(myrank,'error allocating beta outercore')
- beta_kl_outer_core(:,:,:,:) = 0._CUSTOM_REAL
endif
if (COMPUTE_AND_STORE_STRAIN) then
@@ -2557,7 +2545,7 @@
call save_kernels_outer_core(myrank,scale_t,scale_displ, &
rho_kl_outer_core,alpha_kl_outer_core, &
rhostore_outer_core,kappavstore_outer_core, &
- deviatoric_outercore,nspec_beta_kl_outer_core,beta_kl_outer_core,LOCAL_PATH)
+ LOCAL_PATH)
! inner core
call save_kernels_inner_core(myrank,scale_t,scale_displ, &
@@ -2653,7 +2641,6 @@
if( APPROXIMATE_HESS_KL ) then
deallocate(hess_kl_crust_mantle)
endif
- deallocate(beta_kl_outer_core)
endif
! movies
More information about the CIG-COMMITS
mailing list