[cig-commits] r22533 - seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sun Jul 7 16:27:26 PDT 2013
Author: dkomati1
Date: 2013-07-07 16:27:25 -0700 (Sun, 07 Jul 2013)
New Revision: 22533
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
Log:
added
equivalence(mu_kl_crust_mantle, xix_crust_mantle)
equivalence(kappa_kl_crust_mantle, xiy_crust_mantle)
equivalence(rhonotprime_kl_crust_mantle, xiz_crust_mantle)
to save a significant amount of memory
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90 2013-07-07 23:09:58 UTC (rev 22532)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/save_kernels.f90 2013-07-07 23:27:25 UTC (rev 22533)
@@ -28,6 +28,7 @@
subroutine save_kernels_crust_mantle(myrank,scale_t,scale_displ, &
cijkl_kl_crust_mantle,rho_kl_crust_mantle, &
alpha_kl_crust_mantle,beta_kl_crust_mantle, &
+ mu_kl_crust_mantle, kappa_kl_crust_mantle, rhonotprime_kl_crust_mantle, &
ystore_crust_mantle,zstore_crust_mantle, &
rhostore_crust_mantle,muvstore_crust_mantle, &
kappavstore_crust_mantle,ibool_crust_mantle, &
@@ -50,6 +51,9 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
rho_kl_crust_mantle, beta_kl_crust_mantle, alpha_kl_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
+ mu_kl_crust_mantle, kappa_kl_crust_mantle, rhonotprime_kl_crust_mantle
+
real(kind=CUSTOM_REAL), dimension(NGLOB_CRUST_MANTLE) :: &
ystore_crust_mantle,zstore_crust_mantle
@@ -66,8 +70,6 @@
character(len=150) LOCAL_PATH
! local parameters
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
- mu_kl_crust_mantle, kappa_kl_crust_mantle, rhonotprime_kl_crust_mantle
real(kind=CUSTOM_REAL),dimension(21) :: cijkl_kl_local
real(kind=CUSTOM_REAL) :: scale_kl,scale_kl_ani,scale_kl_rho
real(kind=CUSTOM_REAL) :: rhol,mul,kappal,rho_kl,alpha_kl,beta_kl
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90 2013-07-07 23:09:58 UTC (rev 22532)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90 2013-07-07 23:27:25 UTC (rev 22533)
@@ -633,6 +633,15 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: rho_kl_crust_mantle, &
beta_kl_crust_mantle, alpha_kl_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
+ mu_kl_crust_mantle, kappa_kl_crust_mantle, rhonotprime_kl_crust_mantle
+
+! can equivalence the above arrays to save a significant amount of memory because they are used only once at the end to save
+! the final kernels in save_kernels_crust_mantle(), once the Jacobian matrix elements xix xiy xiz are never needed any more
+ equivalence(mu_kl_crust_mantle, xix_crust_mantle)
+ equivalence(kappa_kl_crust_mantle, xiy_crust_mantle)
+ equivalence(rhonotprime_kl_crust_mantle, xiz_crust_mantle)
+
! For anisotropic kernels (see compute_kernels.f90 for a definition of the array)
real(kind=CUSTOM_REAL), dimension(21,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: cijkl_kl_crust_mantle
@@ -2515,7 +2524,7 @@
! crust mantle
if (SAVE_REGULAR_KL) then
- call save_regular_kernels_crust_mantle(myrank, &
+ call save_regular_kernels_crust_mantle(myrank, &
npoints_slice, hxir_reg, hetar_reg, hgammar_reg, ispec_reg, &
scale_t,scale_displ, &
cijkl_kl_crust_mantle,rho_kl_crust_mantle, &
@@ -2526,9 +2535,10 @@
kappahstore_crust_mantle,muhstore_crust_mantle, &
eta_anisostore_crust_mantle,ispec_is_tiso_crust_mantle,LOCAL_PATH,ANISOTROPIC_KL,SAVE_TRANSVERSE_KL)
else
- call save_kernels_crust_mantle(myrank,scale_t,scale_displ, &
+ call save_kernels_crust_mantle(myrank,scale_t,scale_displ, &
cijkl_kl_crust_mantle,rho_kl_crust_mantle, &
alpha_kl_crust_mantle,beta_kl_crust_mantle, &
+ mu_kl_crust_mantle, kappa_kl_crust_mantle, rhonotprime_kl_crust_mantle, &
ystore_crust_mantle,zstore_crust_mantle, &
rhostore_crust_mantle,muvstore_crust_mantle, &
kappavstore_crust_mantle,ibool_crust_mantle, &
More information about the CIG-COMMITS
mailing list