[cig-commits] r22318 - in seismo/3D/SPECFEM3D_GLOBE/branches/undo_att: . src/specfem3D
xie.zhinan at geodynamics.org
xie.zhinan at geodynamics.org
Sat Jun 15 23:27:22 PDT 2013
Author: xie.zhinan
Date: 2013-06-15 23:27:22 -0700 (Sat, 15 Jun 2013)
New Revision: 22318
Modified:
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_classical.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_undo_att.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_classical.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part3_kernel_computation.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/check_simulation_stability.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_element.F90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_Dev.F90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_Dev.F90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_kernels.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_seismograms.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/read_forward_arrays.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/save_forward_arrays.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/specfem3D.F90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/write_movie_volume.f90
Log:
remove useless comments
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_classical.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_classical.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_classical.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -31,34 +31,6 @@
accel_inner_core(:,i) = 0._CUSTOM_REAL
enddo
-! ! backward field
-! if (SIMULATION_TYPE == 3) then
-! ! mantle
-! do i=1,NGLOB_CRUST_MANTLE
-! b_displ_crust_mantle(:,i) = b_displ_crust_mantle(:,i) &
-! + b_deltat*b_veloc_crust_mantle(:,i) + b_deltatsqover2*b_accel_crust_mantle(:,i)
-! b_veloc_crust_mantle(:,i) = b_veloc_crust_mantle(:,i) &
-! + b_deltatover2*b_accel_crust_mantle(:,i)
-! b_accel_crust_mantle(:,i) = 0._CUSTOM_REAL
-! enddo
-! ! outer core
-! do i=1,NGLOB_OUTER_CORE
-! b_displ_outer_core(i) = b_displ_outer_core(i) &
-! + b_deltat*b_veloc_outer_core(i) + b_deltatsqover2*b_accel_outer_core(i)
-! b_veloc_outer_core(i) = b_veloc_outer_core(i) &
-! + b_deltatover2*b_accel_outer_core(i)
-! b_accel_outer_core(i) = 0._CUSTOM_REAL
-! enddo
-! ! inner core
-! do i=1,NGLOB_INNER_CORE
-! b_displ_inner_core(:,i) = b_displ_inner_core(:,i) &
-! + b_deltat*b_veloc_inner_core(:,i) + b_deltatsqover2*b_accel_inner_core(:,i)
-! b_veloc_inner_core(:,i) = b_veloc_inner_core(:,i) &
-! + b_deltatover2*b_accel_inner_core(:,i)
-! b_accel_inner_core(:,i) = 0._CUSTOM_REAL
-! enddo
-! endif ! SIMULATION_TYPE == 3
-
! integral of strain for adjoint movie volume
if(MOVIE_VOLUME .and. (MOVIE_VOLUME_TYPE == 2 .or. MOVIE_VOLUME_TYPE == 3) ) then
! do *NOT* use array syntax for that loop, otherwise you will get a compiler error when MOVIE_VOLUME is off
@@ -74,12 +46,6 @@
+ deltat*epsilondev_loc_crust_mantle(:,:,:,:)
Ieps_trace_over_3_crust_mantle(:,:,:,ispec) = Ieps_trace_over_3_crust_mantle(:,:,:,ispec) &
+ deltat*eps_trace_over_3_loc_crust_mantle(:,:,:)
-
-!ZN
-!ZN Iepsilondev_crust_mantle(:,:,:,:,ispec) = Iepsilondev_crust_mantle(:,:,:,:,ispec) &
-!ZN + deltat*epsilondev_crust_mantle(:,:,:,:,ispec)
-!ZN Ieps_trace_over_3_crust_mantle(:,:,:,ispec) = Ieps_trace_over_3_crust_mantle(:,:,:,ispec) &
-!ZN + deltat*eps_trace_over_3_crust_mantle(:,:,:,ispec)
enddo
endif
@@ -88,16 +54,8 @@
! and output timestamp file to check that simulation is running fine
if(mod(it,NTSTEP_BETWEEN_OUTPUT_INFO) == 0 .or. it == it_begin+4 .or. it == it_end) then
call check_simulation_stability(it,displ_crust_mantle,displ_inner_core,displ_outer_core, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-!!!!! DK DK UNDO_ATT SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
- 1,OUTPUT_FILES,time_start,DT,t0,NSTEP, & !!!!! DK DK UNDO_ATT
+ 1,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
-! if (SIMULATION_TYPE == 3) then
-! call check_simulation_stability(it,b_displ_crust_mantle,b_displ_inner_core,b_displ_outer_core, &
-! eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-! SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
-! it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
-! endif
endif
! ****************************************************
@@ -160,67 +118,6 @@
ibool_outer_core,MOVIE_VOLUME)
endif
-! if (SIMULATION_TYPE == 3) then
-! ! note on backward/reconstructed wavefields:
-! ! time for b_displ( it=1 ) corresponds to (NSTEP - 1)*DT - t0 (after Newmark scheme...)
-! ! as we start with saved wavefields b_displ( 1 ) <-> displ( NSTEP ) which correspond
-! ! to a time (NSTEP - (it-1) - 1)*DT - t0
-! ! for reconstructing the rotational contributions
-! if(CUSTOM_REAL == SIZE_REAL) then
-! time = sngl((dble(NSTEP-it)*DT-t0)*scale_t_inv)
-! else
-! time = (dble(NSTEP-it)*DT-t0)*scale_t_inv
-! endif
-
-! b_iphase = 0 ! do not start any non blocking communications at this stage
-! b_icall = 1 ! compute all the outer elements first in the case of non blocking MPI
-
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! ! uses Deville et al. (2002) routine
-! call compute_forces_outer_core_Dev(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! else
-! call compute_forces_outer_core(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! endif
-! endif
-
! Stacey absorbing boundaries
if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) then
call compute_stacey_outer_core_forward(ichunk,SAVE_FORWARD, &
@@ -247,52 +144,6 @@
absorb_zmin_outer_core, &
absorb_xmin_outer_core,absorb_xmax_outer_core, &
absorb_ymin_outer_core,absorb_ymax_outer_core)
-! if (SIMULATION_TYPE == 3) then
-! call compute_stacey_outer_core_backward(ichunk, &
-! NSTEP,it,ibool_outer_core, &
-! b_accel_outer_core, &
-! ibelm_bottom_outer_core, &
-! ibelm_xmin_outer_core,ibelm_xmax_outer_core, &
-! ibelm_ymin_outer_core,ibelm_ymax_outer_core, &
-! nimin_outer_core,nimax_outer_core, &
-! njmin_outer_core,njmax_outer_core, &
-! nkmin_xi_outer_core,nkmin_eta_outer_core, &
-! NSPEC2D_BOTTOM, &
-! nspec2D_xmin_outer_core,nspec2D_xmax_outer_core, &
-! nspec2D_ymin_outer_core,nspec2D_ymax_outer_core, &
-! reclen_zmin, &
-! reclen_xmin_outer_core,reclen_xmax_outer_core, &
-! reclen_ymin_outer_core,reclen_ymax_outer_core, &
-! nabs_zmin_oc, &
-! nabs_xmin_oc,nabs_xmax_oc,nabs_ymin_oc,nabs_ymax_oc, &
-! absorb_zmin_outer_core, &
-! absorb_xmin_outer_core,absorb_xmax_outer_core, &
-! absorb_ymin_outer_core,absorb_ymax_outer_core)
-!! call compute_stacey_outer_core(ichunk,SIMULATION_TYPE,SAVE_FORWARD, &
-!! NSTEP,it,ibool_outer_core, &
-!! veloc_outer_core,accel_outer_core,b_accel_outer_core, &
-!! vp_outer_core,wgllwgll_xz,wgllwgll_yz,wgllwgll_xy, &
-!! jacobian2D_bottom_outer_core, &
-!! jacobian2D_xmin_outer_core,jacobian2D_xmax_outer_core, &
-!! jacobian2D_ymin_outer_core,jacobian2D_ymax_outer_core, &
-!! ibelm_bottom_outer_core, &
-!! ibelm_xmin_outer_core,ibelm_xmax_outer_core, &
-!! ibelm_ymin_outer_core,ibelm_ymax_outer_core, &
-!! nimin_outer_core,nimax_outer_core, &
-!! njmin_outer_core,njmax_outer_core, &
-!! nkmin_xi_outer_core,nkmin_eta_outer_core, &
-!! NSPEC2D_BOTTOM, &
-!! nspec2D_xmin_outer_core,nspec2D_xmax_outer_core, &
-!! nspec2D_ymin_outer_core,nspec2D_ymax_outer_core, &
-!! reclen_zmin, &
-!! reclen_xmin_outer_core,reclen_xmax_outer_core, &
-!! reclen_ymin_outer_core,reclen_ymax_outer_core, &
-!! nabs_zmin_oc, &
-!! nabs_xmin_oc,nabs_xmax_oc,nabs_ymin_oc,nabs_ymax_oc, &
-!! absorb_zmin_outer_core, &
-!! absorb_xmin_outer_core,absorb_xmax_outer_core, &
-!! absorb_ymin_outer_core,absorb_ymax_outer_core)
-! endif
endif ! Stacey conditions
@@ -312,14 +163,6 @@
normal_top_outer_core,jacobian2D_top_outer_core, &
wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
NSPEC2D_TOP(IREGION_OUTER_CORE))
-! if (SIMULATION_TYPE == 3) then
-! call compute_coupling_fluid_CMB(b_displ_crust_mantle, &
-! ibool_crust_mantle,ibelm_bottom_crust_mantle, &
-! b_accel_outer_core, &
-! normal_top_outer_core,jacobian2D_top_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
-! NSPEC2D_TOP(IREGION_OUTER_CORE))
-! endif
endif
!---
@@ -332,14 +175,6 @@
normal_bottom_outer_core,jacobian2D_bottom_outer_core, &
wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
NSPEC2D_BOTTOM(IREGION_OUTER_CORE))
-! if (SIMULATION_TYPE == 3) then
-! call compute_coupling_fluid_ICB(b_displ_inner_core, &
-! ibool_inner_core,ibelm_top_inner_core, &
-! b_accel_outer_core, &
-! normal_bottom_outer_core,jacobian2D_bottom_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
-! NSPEC2D_BOTTOM(IREGION_OUTER_CORE))
-! endif
endif
! assemble all the contributions between slices using MPI
@@ -430,98 +265,6 @@
! ------------------- new non blocking implementation -------------------
-! if (SIMULATION_TYPE == 3) then
-
-! ! outer core
-! b_iphase = 1 ! start the non blocking communications
-! call assemble_MPI_scalar(myrank,b_accel_outer_core,NGLOB_OUTER_CORE, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XMIN_XMAX(IREGION_OUTER_CORE),NGLOB2DMAX_YMIN_YMAX(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XY_OC_VAL,NCHUNKS_VAL,b_iphase)
-
-! b_icall = 2 ! now compute all the inner elements in the case of non blocking MPI
-
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! ! uses Deville et al. (2002) routine
-! call compute_forces_outer_core_Dev(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! else
-! ! div_displ_outer_core is initialized to zero in the following subroutine.
-! call compute_forces_outer_core(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! endif
-
-! do while (b_iphase <= 7) ! make sure the last communications are finished and processed
-! call assemble_MPI_scalar(myrank,b_accel_outer_core,NGLOB_OUTER_CORE, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XMIN_XMAX(IREGION_OUTER_CORE),NGLOB2DMAX_YMIN_YMAX(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XY_OC_VAL,NCHUNKS_VAL,b_iphase)
-! enddo
-
-! ------------------- new non blocking implementation -------------------
-
-! ! Newmark time scheme - corrector for fluid parts
-! do i=1,NGLOB_OUTER_CORE
-! b_accel_outer_core(i) = b_accel_outer_core(i)*rmass_outer_core(i)
-! b_veloc_outer_core(i) = b_veloc_outer_core(i) + b_deltatover2*b_accel_outer_core(i)
-! enddo
-
-! endif
-
! ****************************************************
! big loop over all spectral elements in the solid
! ****************************************************
@@ -570,9 +313,7 @@
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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, & !ZN
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
@@ -612,106 +353,12 @@
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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, & !ZN
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
endif
-! if (SIMULATION_TYPE == 3 ) then
-
-! b_iphase = 0 ! do not start any non blocking communications at this stage
-! b_iphase_CC = 0 ! do not start any non blocking communications at this stage
-! b_icall = 1 ! compute all the outer elements first in the case of non blocking MPI
-
-! ! for anisotropy and gravity, x y and z contain r theta and phi
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_crust_mantle_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT, &
-! hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! else
-! call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! endif
-! endif
-
! Deville routine
if( USE_DEVILLE_PRODUCTS_VAL ) then
call compute_forces_inner_core_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
@@ -741,9 +388,7 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,& !ZN
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
@@ -776,8 +421,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
@@ -785,78 +428,6 @@
size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
endif
-! if (SIMULATION_TYPE == 3) then
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_inner_core_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! else
-! call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! endif
-! endif
-
! Stacey
if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) then
@@ -882,45 +453,6 @@
absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-! if(SIMULATION_TYPE == 3) then
-! call compute_stacey_crust_mantle_backward(ichunk, &
-! NSTEP,it,ibool_crust_mantle, &
-! b_accel_crust_mantle, &
-! ibelm_xmin_crust_mantle,ibelm_xmax_crust_mantle, &
-! ibelm_ymin_crust_mantle,ibelm_ymax_crust_mantle, &
-! nimin_crust_mantle,nimax_crust_mantle, &
-! njmin_crust_mantle,njmax_crust_mantle, &
-! nkmin_xi_crust_mantle,nkmin_eta_crust_mantle, &
-! nspec2D_xmin_crust_mantle,nspec2D_xmax_crust_mantle, &
-! nspec2D_ymin_crust_mantle,nspec2D_ymax_crust_mantle, &
-! reclen_xmin_crust_mantle,reclen_xmax_crust_mantle, &
-! reclen_ymin_crust_mantle,reclen_ymax_crust_mantle, &
-! nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
-! absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
-! absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-!! call compute_stacey_crust_mantle(ichunk, &
-!! NSTEP,it,SAVE_FORWARD,ibool_crust_mantle, &
-!! veloc_crust_mantle,b_accel_crust_mantle, &
-!! jacobian2D_xmin_crust_mantle,jacobian2D_xmax_crust_mantle, &
-!! jacobian2D_ymin_crust_mantle,jacobian2D_ymax_crust_mantle, &
-!! wgllwgll_xz,wgllwgll_yz, &
-!! normal_xmin_crust_mantle,normal_xmax_crust_mantle, &
-!! normal_ymin_crust_mantle,normal_ymax_crust_mantle, &
-!! rho_vp_crust_mantle,rho_vs_crust_mantle, &
-!! ibelm_xmin_crust_mantle,ibelm_xmax_crust_mantle, &
-!! ibelm_ymin_crust_mantle,ibelm_ymax_crust_mantle, &
-!! nimin_crust_mantle,nimax_crust_mantle, &
-!! njmin_crust_mantle,njmax_crust_mantle, &
-!! nkmin_xi_crust_mantle,nkmin_eta_crust_mantle, &
-!! nspec2D_xmin_crust_mantle,nspec2D_xmax_crust_mantle, &
-!! nspec2D_ymin_crust_mantle,nspec2D_ymax_crust_mantle, &
-!! reclen_xmin_crust_mantle,reclen_xmax_crust_mantle, &
-!! reclen_ymin_crust_mantle,reclen_ymax_crust_mantle, &
-!! nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
-!! absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
-!! absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-! endif
-
endif ! Stacey conditions
! add the sources
@@ -977,16 +509,6 @@
! note the ensemble forward sources are generally distributed on the surface of the earth
! that's to say, the ensemble forward source is kind of a surface force density, not a body force density
! therefore, we must add it here, before applying the inverse of mass matrix
-! else if ( NOISE_TOMOGRAPHY == 3 ) then
-! ! third step of noise tomography, i.e., read the surface movie saved at every timestep
-! ! use the movie to reconstruct the ensemble forward wavefield
-! ! the ensemble adjoint wavefield is done as usual
-! ! note instead of "NSTEP-it+1", now we us "it", since reconstruction is a reversal of reversal
-! call noise_read_add_surface_movie(nmovie_points,b_accel_crust_mantle, &
-! normal_x_noise,normal_y_noise,normal_z_noise,mask_noise, &
-! ibelm_top_crust_mantle,ibool_crust_mantle, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
-! it,jacobian2D_top_crust_mantle,wgllwgll_xy)
endif
! ****************************************************
@@ -1007,16 +529,6 @@
wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
RHO_TOP_OC,minus_g_cmb, &
NSPEC2D_BOTTOM(IREGION_CRUST_MANTLE))
-! if(SIMULATION_TYPE == 3) then
-! call compute_coupling_CMB_fluid(b_displ_crust_mantle, &
-! b_accel_crust_mantle, &
-! ibool_crust_mantle,ibelm_bottom_crust_mantle, &
-! b_accel_outer_core, &
-! normal_top_outer_core,jacobian2D_top_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
-! RHO_TOP_OC,minus_g_cmb, &
-! NSPEC2D_BOTTOM(IREGION_CRUST_MANTLE))
-! endif
endif
!---
@@ -1031,16 +543,6 @@
wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
RHO_BOTTOM_OC,minus_g_icb, &
NSPEC2D_TOP(IREGION_INNER_CORE))
-! if(SIMULATION_TYPE == 3) then
-! call compute_coupling_ICB_fluid(b_displ_inner_core, &
-! b_accel_inner_core, &
-! ibool_inner_core,ibelm_top_inner_core, &
-! b_accel_outer_core, &
-! normal_bottom_outer_core,jacobian2D_bottom_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
-! RHO_BOTTOM_OC,minus_g_icb, &
-! NSPEC2D_TOP(IREGION_INNER_CORE))
-! endif
endif
! assemble all the contributions between slices using MPI
@@ -1111,8 +613,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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -1153,9 +653,7 @@
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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, & !ZN
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
@@ -1190,8 +688,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
alphaval,betaval,gammaval, &
factor_common_inner_core, &
@@ -1225,8 +721,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
alphaval,betaval,gammaval, &
factor_common_inner_core, &
@@ -1292,255 +786,6 @@
! ------------------- new non blocking implementation -------------------
-! if (SIMULATION_TYPE == 3) then
-
-! ! assemble all the contributions between slices using MPI
-
-! assemble all the contributions between slices using MPI
-! crust/mantle and inner core handled in the same call
-! in order to reduce the number of MPI messages by 2
-
-! b_iphase = 1 ! initialize the non blocking communication counter
-! b_iphase_CC = 1 ! initialize the non blocking communication counter for the central cube
-
-! start the non blocking communications
-! call assemble_MPI_vector(myrank,b_accel_crust_mantle,b_accel_inner_core, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_CRUST_MANTLE), &
-! NGLOB1D_RADIAL(IREGION_INNER_CORE),NCHUNKS_VAL,b_iphase)
-
-! b_icall = 2 ! now compute all the inner elements in the case of non blocking MPI
-
-! ! compute internal forces in the solid regions
-
-! ! for anisotropy and gravity, x y and z contain r theta and phi
-
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_crust_mantle_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT, &
-! hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! else
-! call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! endif
-
-! ! Deville routine
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_inner_core_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! else
-! call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! endif
-
-! assemble all the contributions between slices using MPI
-! crust/mantle and inner core handled in the same call
-! in order to reduce the number of MPI messages by 2
-! do while (b_iphase <= 7) ! make sure the last communications are finished and processed
-! call assemble_MPI_vector(myrank,b_accel_crust_mantle,b_accel_inner_core, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_CRUST_MANTLE), &
-! NGLOB1D_RADIAL(IREGION_INNER_CORE),NCHUNKS_VAL,b_iphase)
-! enddo
-
-! !---
-! !--- use buffers to assemble forces with the central cube
-! !---
-
-! if(INCLUDE_CENTRAL_CUBE) then
-! do while (b_iphase_CC <= 4) ! make sure the last communications are finished and processed
-! call assemble_MPI_central_cube(ichunk,nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibool_inner_core,idoubling_inner_core, &
-! ibelm_bottom_inner_core,NSPEC2D_BOTTOM(IREGION_INNER_CORE),b_accel_inner_core,NDIM,b_iphase_CC)
-! enddo
-! endif ! end of assembling forces with the central cube
-
-! ------------------- new non blocking implementation -------------------
-
-! if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) then
-
-! do i=1,NGLOB_CRUST_MANTLE
-! b_accel_crust_mantle(1,i) = b_accel_crust_mantle(1,i)*rmassx_crust_mantle(i) &
-! + b_two_omega_earth*b_veloc_crust_mantle(2,i)
-! b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*rmassy_crust_mantle(i) &
-! - b_two_omega_earth*b_veloc_crust_mantle(1,i)
-! b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*rmassz_crust_mantle(i)
-! enddo
-
-! else
-
-! do i=1,NGLOB_CRUST_MANTLE
-! b_accel_crust_mantle(1,i) = b_accel_crust_mantle(1,i)*rmassz_crust_mantle(i) &
-! + b_two_omega_earth*b_veloc_crust_mantle(2,i)
-! b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*rmassz_crust_mantle(i) &
-! - b_two_omega_earth*b_veloc_crust_mantle(1,i)
-! b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*rmassz_crust_mantle(i)
-! enddo
-
-! endif
-
-! endif ! SIMULATION_TYPE == 3
-
! couples ocean with crust mantle
if(OCEANS_VAL) then
call compute_coupling_ocean(accel_crust_mantle, &
@@ -1550,15 +795,6 @@
updated_dof_ocean_load,NGLOB_XY, &
NSPEC2D_TOP(IREGION_CRUST_MANTLE), &
ABSORBING_CONDITIONS)
-! if(SIMULATION_TYPE == 3) then
-! call compute_coupling_ocean(b_accel_crust_mantle, &
-! rmassx_crust_mantle,rmassy_crust_mantle,rmassz_crust_mantle, &
-! rmass_ocean_load,normal_top_crust_mantle, &
-! ibool_crust_mantle,ibelm_top_crust_mantle, &
-! updated_dof_ocean_load,NGLOB_XY, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE), &
-! ABSORBING_CONDITIONS)
-! endif
endif
!-------------------------------------------------------------------------------------------------
@@ -1585,36 +821,6 @@
veloc_inner_core(:,i) = veloc_inner_core(:,i) + deltatover2*accel_inner_core(:,i)
enddo
-! if (SIMULATION_TYPE == 3) then
-! ! mantle
-! do i=1,NGLOB_CRUST_MANTLE
-! b_veloc_crust_mantle(:,i) = b_veloc_crust_mantle(:,i) + b_deltatover2*b_accel_crust_mantle(:,i)
-! enddo
-! ! inner core
-! do i=1,NGLOB_INNER_CORE
-! b_accel_inner_core(1,i) = b_accel_inner_core(1,i)*rmass_inner_core(i) &
-! + b_two_omega_earth*b_veloc_inner_core(2,i)
-! b_accel_inner_core(2,i) = b_accel_inner_core(2,i)*rmass_inner_core(i) &
-! - b_two_omega_earth*b_veloc_inner_core(1,i)
-! b_accel_inner_core(3,i) = b_accel_inner_core(3,i)*rmass_inner_core(i)
-! b_veloc_inner_core(:,i) = b_veloc_inner_core(:,i) + b_deltatover2*b_accel_inner_core(:,i)
-! enddo
-! endif ! SIMULATION_TYPE == 3
-
-! ! restores last time snapshot saved for backward/reconstruction of wavefields
-! ! note: this is done here after the Newmark time scheme, otherwise the indexing for sources
-! ! and adjoint sources will become more complicated
-! ! that is, index it for adjoint sources will match index NSTEP - 1 for backward/reconstructed wavefields
-! if(SIMULATION_TYPE == 3 .and. it == 1) then
-! call read_forward_arrays(myrank, &
-! b_displ_crust_mantle,b_veloc_crust_mantle,b_accel_crust_mantle, &
-! b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
-! b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
-! b_R_memory_crust_mantle,b_R_memory_inner_core, &
-! b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
-! b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
-! endif
-
! write the seismograms with time shift
! store the seismograms only if there is at least one receiver located in this slice
@@ -1629,7 +835,6 @@
else if (SIMULATION_TYPE == 2) then
call compute_seismograms_adjoint(NSOURCES,nrec_local,displ_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
nu_source,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
hxir_store,hetar_store,hgammar_store, &
hpxir_store,hpetar_store,hpgammar_store, &
@@ -1643,14 +848,6 @@
ibool_crust_mantle,ispec_selected_source,number_receiver_global, &
NSTEP,it,nit_written)
-! else if (SIMULATION_TYPE == 3) then
-! call compute_seismograms_backward(nrec_local,nrec,b_displ_crust_mantle, &
-! nu,hxir_store,hetar_store,hgammar_store, &
-! scale_displ,ibool_crust_mantle, &
-! ispec_selected_rec,number_receiver_global, &
-! seismo_current,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
-! seismograms)
-
endif
endif ! nrec_local
@@ -1682,269 +879,13 @@
seismo_offset = seismo_offset + seismo_current
seismo_current = 0
endif
-
-!
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
-!
-! kernel calculations
-! if (SIMULATION_TYPE == 3) then
-! ! crust mantle
-! call compute_kernels_crust_mantle(ibool_crust_mantle, &
-! rho_kl_crust_mantle,beta_kl_crust_mantle, &
-! alpha_kl_crust_mantle,cijkl_kl_crust_mantle, &
-! accel_crust_mantle,b_displ_crust_mantle, &
-! epsilondev_crust_mantle,b_epsilondev_crust_mantle, &
-! eps_trace_over_3_crust_mantle,b_eps_trace_over_3_crust_mantle, &
-! deltat)
-
-! ! outer core
-! call compute_kernels_outer_core(ibool_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! displ_outer_core,accel_outer_core, &
-! b_displ_outer_core,b_accel_outer_core, &
-! vector_accel_outer_core,vector_displ_outer_core, &
-! b_vector_displ_outer_core, &
-! div_displ_outer_core,b_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
-! call compute_kernels_inner_core(ibool_inner_core, &
-! rho_kl_inner_core,beta_kl_inner_core, &
-! alpha_kl_inner_core, &
-! accel_inner_core,b_displ_inner_core, &
-! epsilondev_inner_core,b_epsilondev_inner_core, &
-! eps_trace_over_3_inner_core,b_eps_trace_over_3_inner_core, &
-! deltat)
-
-! ! NOISE TOMOGRAPHY --- source strength kernel
-! if (NOISE_TOMOGRAPHY == 3) &
-! call compute_kernels_strength_noise(nmovie_points,ibool_crust_mantle, &
-! Sigma_kl_crust_mantle,displ_crust_mantle,deltat,it, &
-! normal_x_noise,normal_y_noise,normal_z_noise, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
-! ibelm_top_crust_mantle)
-
-! ! --- boundary kernels ------
-! if (SAVE_BOUNDARY_MESH) then
-! fluid_solid_boundary = .false.
-! iregion_code = IREGION_CRUST_MANTLE
-
-! ! Moho
-! if (.not. SUPPRESS_CRUSTAL_MESH .and. HONOR_1D_SPHERICAL_MOHO) then
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_moho_top,normal_moho,moho_kl_top,fluid_solid_boundary,NSPEC2D_MOHO)
-
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_bot,ibelm_moho_bot,normal_moho,moho_kl_bot,fluid_solid_boundary,NSPEC2D_MOHO)
-
-! moho_kl = moho_kl + (moho_kl_top - moho_kl_bot) * deltat
-! endif
-
-! ! d400
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_400_top,normal_400,d400_kl_top,fluid_solid_boundary,NSPEC2D_400)
-
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_bot,ibelm_400_bot,normal_400,d400_kl_bot,fluid_solid_boundary,NSPEC2D_400)
-
-! d400_kl = d400_kl + (d400_kl_top - d400_kl_bot) * deltat
-
-! ! d670
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_670_top,normal_670,d670_kl_top,fluid_solid_boundary,NSPEC2D_670)
-
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_bot,ibelm_670_bot,normal_670,d670_kl_bot,fluid_solid_boundary,NSPEC2D_670)
-
-! d670_kl = d670_kl + (d670_kl_top - d670_kl_bot) * deltat
-
-! ! CMB
-! fluid_solid_boundary = .true.
-! iregion_code = IREGION_CRUST_MANTLE
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle, muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_bottom_crust_mantle,normal_top_outer_core, &
-! cmb_kl_top,fluid_solid_boundary,NSPEC2D_CMB)
-
-! iregion_code = IREGION_OUTER_CORE
-! call compute_boundary_kernel(vector_displ_outer_core,vector_accel_outer_core, &
-! b_vector_displ_outer_core,nspec_outer_core, &
-! iregion_code,ystore_outer_core,zstore_outer_core,ibool_outer_core,ispec_is_tiso_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core,&
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_outer_core,kappavstore_outer_core,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! k_bot,ibelm_top_outer_core,normal_top_outer_core, &
-! cmb_kl_bot,fluid_solid_boundary,NSPEC2D_CMB)
-
-! cmb_kl = cmb_kl + (cmb_kl_top - cmb_kl_bot) * deltat
-
-! ! ICB
-! fluid_solid_boundary = .true.
-! call compute_boundary_kernel(vector_displ_outer_core,vector_accel_outer_core, &
-! b_vector_displ_outer_core,nspec_outer_core, &
-! iregion_code,ystore_outer_core,zstore_outer_core,ibool_outer_core,ispec_is_tiso_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core,&
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_outer_core,kappavstore_outer_core,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! k_top,ibelm_bottom_outer_core,normal_bottom_outer_core, &
-! icb_kl_top,fluid_solid_boundary,NSPEC2D_ICB)
-
-! iregion_code = IREGION_INNER_CORE
-! call compute_boundary_kernel(displ_inner_core,accel_inner_core, &
-! b_displ_inner_core,nspec_inner_core,iregion_code, &
-! ystore_inner_core,zstore_inner_core,ibool_inner_core,ispec_is_tiso_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core,&
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_inner_core,kappavstore_inner_core,muvstore_inner_core, &
-! dummy_array,dummy_array,dummy_array, &
-! c11store_inner_core,c12store_inner_core,c13store_inner_core,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! c33store_inner_core,dummy_array,dummy_array, &
-! dummy_array,c44store_inner_core,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! k_bot,ibelm_top_inner_core,normal_bottom_outer_core, &
-! icb_kl_bot,fluid_solid_boundary,NSPEC2D_ICB)
-
-! icb_kl = icb_kl + (icb_kl_top - icb_kl_bot) * deltat
-! endif
-
-! ! approximate hessian
-! if( APPROXIMATE_HESS_KL ) then
-! call compute_kernels_hessian(ibool_crust_mantle, &
-! hess_kl_crust_mantle,&
-! accel_crust_mantle,b_accel_crust_mantle, &
-! deltat)
-! endif
-
-! endif ! end of if computing kernels
-
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-
! first step of noise tomography, i.e., save a surface movie at every time step
! modified from the subroutine 'write_movie_surface'
if ( NOISE_TOMOGRAPHY == 1 ) then
@@ -1979,14 +920,12 @@
if (MOVIE_VOLUME_TYPE == 1) then ! output strains
call write_movie_volume_strains(myrank,npoints_3dmovie, &
LOCAL_PATH,MOVIE_VOLUME_TYPE,MOVIE_COARSE, &
-!ZN it,eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-!ZN muvstore_crust_mantle_3dmovie, &
it,muvstore_crust_mantle_3dmovie, &
- mask_3dmovie,nu_3dmovie,& !ZN
+ mask_3dmovie,nu_3dmovie,&
NSPEC_CRUST_MANTLE,hprime_xx,hprime_yy,hprime_zz,ibool_crust_mantle,&
xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
- gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle) !ZN
+ gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle)
else if (MOVIE_VOLUME_TYPE == 2 .or. MOVIE_VOLUME_TYPE == 3) then
! output the Time Integral of Strain, or \mu*TIS
@@ -1997,17 +936,17 @@
mask_3dmovie,nu_3dmovie)
else if (MOVIE_VOLUME_TYPE == 4) then ! output divergence and curl in whole volume
-!ZN for undo_att this type of MOVIE is not supported
-!ZN call write_movie_volume_divcurl(myrank,it,eps_trace_over_3_crust_mantle,&
-!ZN div_displ_outer_core, &
-!ZN accel_outer_core,kappavstore_outer_core,rhostore_outer_core,ibool_outer_core, &
-!ZN eps_trace_over_3_inner_core, &
-!ZN epsilondev_crust_mantle,epsilondev_inner_core, &
-!ZN LOCAL_PATH, &
-!ZN displ_crust_mantle,displ_inner_core,displ_outer_core, &
-!ZN veloc_crust_mantle,veloc_inner_core,veloc_outer_core, &
-!ZN accel_crust_mantle,accel_inner_core, &
-!ZN ibool_crust_mantle,ibool_inner_core)
+!!!!! for undo_att this type of MOVIE is not supported
+!!! call write_movie_volume_divcurl(myrank,it,eps_trace_over_3_crust_mantle,&
+!!! div_displ_outer_core, &
+!!! accel_outer_core,kappavstore_outer_core,rhostore_outer_core,ibool_outer_core, &
+!!! eps_trace_over_3_inner_core, &
+!!! epsilondev_crust_mantle,epsilondev_inner_core, &
+!!! LOCAL_PATH, &
+!!! displ_crust_mantle,displ_inner_core,displ_outer_core, &
+!!! veloc_crust_mantle,veloc_inner_core,veloc_outer_core, &
+!!! accel_crust_mantle,accel_inner_core, &
+!!! ibool_crust_mantle,ibool_inner_core)
else if (MOVIE_VOLUME_TYPE == 5) then ! output displacement
scalingval = scale_displ
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_undo_att.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_undo_att.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part1_undo_att.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -31,34 +31,6 @@
accel_inner_core(:,i) = 0._CUSTOM_REAL
enddo
-! ! backward field
-! if (SIMULATION_TYPE == 3) then
-! ! mantle
-! do i=1,NGLOB_CRUST_MANTLE
-! b_displ_crust_mantle(:,i) = b_displ_crust_mantle(:,i) &
-! + b_deltat*b_veloc_crust_mantle(:,i) + b_deltatsqover2*b_accel_crust_mantle(:,i)
-! b_veloc_crust_mantle(:,i) = b_veloc_crust_mantle(:,i) &
-! + b_deltatover2*b_accel_crust_mantle(:,i)
-! b_accel_crust_mantle(:,i) = 0._CUSTOM_REAL
-! enddo
-! ! outer core
-! do i=1,NGLOB_OUTER_CORE
-! b_displ_outer_core(i) = b_displ_outer_core(i) &
-! + b_deltat*b_veloc_outer_core(i) + b_deltatsqover2*b_accel_outer_core(i)
-! b_veloc_outer_core(i) = b_veloc_outer_core(i) &
-! + b_deltatover2*b_accel_outer_core(i)
-! b_accel_outer_core(i) = 0._CUSTOM_REAL
-! enddo
-! ! inner core
-! do i=1,NGLOB_INNER_CORE
-! b_displ_inner_core(:,i) = b_displ_inner_core(:,i) &
-! + b_deltat*b_veloc_inner_core(:,i) + b_deltatsqover2*b_accel_inner_core(:,i)
-! b_veloc_inner_core(:,i) = b_veloc_inner_core(:,i) &
-! + b_deltatover2*b_accel_inner_core(:,i)
-! b_accel_inner_core(:,i) = 0._CUSTOM_REAL
-! enddo
-! endif ! SIMULATION_TYPE == 3
-
! integral of strain for adjoint movie volume
if(MOVIE_VOLUME .and. (MOVIE_VOLUME_TYPE == 2 .or. MOVIE_VOLUME_TYPE == 3) ) then
! do *NOT* use array syntax for that loop, otherwise you will get a compiler error when MOVIE_VOLUME is off
@@ -82,16 +54,8 @@
! and output timestamp file to check that simulation is running fine
if(mod(it,NTSTEP_BETWEEN_OUTPUT_INFO) == 0 .or. it == it_begin+4 .or. it == it_end) then
call check_simulation_stability(it,displ_crust_mantle,displ_inner_core,displ_outer_core, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-!!!!! DK DK UNDO_ATT SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
- 1,OUTPUT_FILES,time_start,DT,t0,NSTEP, & !!!!! DK DK UNDO_ATT
+ 1,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
-! if (SIMULATION_TYPE == 3) then
-! call check_simulation_stability(it,b_displ_crust_mantle,b_displ_inner_core,b_displ_outer_core, &
-! eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-! SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
-! it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
-! endif
endif
! ****************************************************
@@ -154,67 +118,6 @@
ibool_outer_core,MOVIE_VOLUME)
endif
-! if (SIMULATION_TYPE == 3) then
-! ! note on backward/reconstructed wavefields:
-! ! time for b_displ( it=1 ) corresponds to (NSTEP - 1)*DT - t0 (after Newmark scheme...)
-! ! as we start with saved wavefields b_displ( 1 ) <-> displ( NSTEP ) which correspond
-! ! to a time (NSTEP - (it-1) - 1)*DT - t0
-! ! for reconstructing the rotational contributions
-! if(CUSTOM_REAL == SIZE_REAL) then
-! time = sngl((dble(NSTEP-it)*DT-t0)*scale_t_inv)
-! else
-! time = (dble(NSTEP-it)*DT-t0)*scale_t_inv
-! endif
-
-! b_iphase = 0 ! do not start any non blocking communications at this stage
-! b_icall = 1 ! compute all the outer elements first in the case of non blocking MPI
-
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! ! uses Deville et al. (2002) routine
-! call compute_forces_outer_core_Dev(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! else
-! call compute_forces_outer_core(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! endif
-! endif
-
! Stacey absorbing boundaries
if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) then
call compute_stacey_outer_core_forward(ichunk,SAVE_FORWARD, &
@@ -241,52 +144,6 @@
absorb_zmin_outer_core, &
absorb_xmin_outer_core,absorb_xmax_outer_core, &
absorb_ymin_outer_core,absorb_ymax_outer_core)
-! if (SIMULATION_TYPE == 3) then
-! call compute_stacey_outer_core_backward(ichunk, &
-! NSTEP,it,ibool_outer_core, &
-! b_accel_outer_core, &
-! ibelm_bottom_outer_core, &
-! ibelm_xmin_outer_core,ibelm_xmax_outer_core, &
-! ibelm_ymin_outer_core,ibelm_ymax_outer_core, &
-! nimin_outer_core,nimax_outer_core, &
-! njmin_outer_core,njmax_outer_core, &
-! nkmin_xi_outer_core,nkmin_eta_outer_core, &
-! NSPEC2D_BOTTOM, &
-! nspec2D_xmin_outer_core,nspec2D_xmax_outer_core, &
-! nspec2D_ymin_outer_core,nspec2D_ymax_outer_core, &
-! reclen_zmin, &
-! reclen_xmin_outer_core,reclen_xmax_outer_core, &
-! reclen_ymin_outer_core,reclen_ymax_outer_core, &
-! nabs_zmin_oc, &
-! nabs_xmin_oc,nabs_xmax_oc,nabs_ymin_oc,nabs_ymax_oc, &
-! absorb_zmin_outer_core, &
-! absorb_xmin_outer_core,absorb_xmax_outer_core, &
-! absorb_ymin_outer_core,absorb_ymax_outer_core)
-!! call compute_stacey_outer_core(ichunk,SIMULATION_TYPE,SAVE_FORWARD, &
-!! NSTEP,it,ibool_outer_core, &
-!! veloc_outer_core,accel_outer_core,b_accel_outer_core, &
-!! vp_outer_core,wgllwgll_xz,wgllwgll_yz,wgllwgll_xy, &
-!! jacobian2D_bottom_outer_core, &
-!! jacobian2D_xmin_outer_core,jacobian2D_xmax_outer_core, &
-!! jacobian2D_ymin_outer_core,jacobian2D_ymax_outer_core, &
-!! ibelm_bottom_outer_core, &
-!! ibelm_xmin_outer_core,ibelm_xmax_outer_core, &
-!! ibelm_ymin_outer_core,ibelm_ymax_outer_core, &
-!! nimin_outer_core,nimax_outer_core, &
-!! njmin_outer_core,njmax_outer_core, &
-!! nkmin_xi_outer_core,nkmin_eta_outer_core, &
-!! NSPEC2D_BOTTOM, &
-!! nspec2D_xmin_outer_core,nspec2D_xmax_outer_core, &
-!! nspec2D_ymin_outer_core,nspec2D_ymax_outer_core, &
-!! reclen_zmin, &
-!! reclen_xmin_outer_core,reclen_xmax_outer_core, &
-!! reclen_ymin_outer_core,reclen_ymax_outer_core, &
-!! nabs_zmin_oc, &
-!! nabs_xmin_oc,nabs_xmax_oc,nabs_ymin_oc,nabs_ymax_oc, &
-!! absorb_zmin_outer_core, &
-!! absorb_xmin_outer_core,absorb_xmax_outer_core, &
-!! absorb_ymin_outer_core,absorb_ymax_outer_core)
-! endif
endif ! Stacey conditions
@@ -306,14 +163,6 @@
normal_top_outer_core,jacobian2D_top_outer_core, &
wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
NSPEC2D_TOP(IREGION_OUTER_CORE))
-! if (SIMULATION_TYPE == 3) then
-! call compute_coupling_fluid_CMB(b_displ_crust_mantle, &
-! ibool_crust_mantle,ibelm_bottom_crust_mantle, &
-! b_accel_outer_core, &
-! normal_top_outer_core,jacobian2D_top_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
-! NSPEC2D_TOP(IREGION_OUTER_CORE))
-! endif
endif
!---
@@ -326,14 +175,6 @@
normal_bottom_outer_core,jacobian2D_bottom_outer_core, &
wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
NSPEC2D_BOTTOM(IREGION_OUTER_CORE))
-! if (SIMULATION_TYPE == 3) then
-! call compute_coupling_fluid_ICB(b_displ_inner_core, &
-! ibool_inner_core,ibelm_top_inner_core, &
-! b_accel_outer_core, &
-! normal_bottom_outer_core,jacobian2D_bottom_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
-! NSPEC2D_BOTTOM(IREGION_OUTER_CORE))
-! endif
endif
! assemble all the contributions between slices using MPI
@@ -423,99 +264,6 @@
enddo
! ------------------- new non blocking implementation -------------------
-
-! if (SIMULATION_TYPE == 3) then
-
-! ! outer core
-! b_iphase = 1 ! start the non blocking communications
-! call assemble_MPI_scalar(myrank,b_accel_outer_core,NGLOB_OUTER_CORE, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XMIN_XMAX(IREGION_OUTER_CORE),NGLOB2DMAX_YMIN_YMAX(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XY_OC_VAL,NCHUNKS_VAL,b_iphase)
-
-! b_icall = 2 ! now compute all the inner elements in the case of non blocking MPI
-
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! ! uses Deville et al. (2002) routine
-! call compute_forces_outer_core_Dev(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! else
-! ! div_displ_outer_core is initialized to zero in the following subroutine.
-! call compute_forces_outer_core(time,b_deltat,b_two_omega_earth, &
-! b_A_array_rotation,b_B_array_rotation,d_ln_density_dr_table, &
-! minus_rho_g_over_kappa_fluid, &
-! b_displ_outer_core,b_accel_outer_core,b_div_displ_outer_core, &
-! xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! is_on_a_slice_edge_outer_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar,b_iphase,b_icall, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! ibool_outer_core,MOVIE_VOLUME)
-! endif
-
-! do while (b_iphase <= 7) ! make sure the last communications are finished and processed
-! call assemble_MPI_scalar(myrank,b_accel_outer_core,NGLOB_OUTER_CORE, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
-! npoin2D_faces_outer_core,npoin2D_xi_outer_core,npoin2D_eta_outer_core, &
-! iboolfaces_outer_core,iboolcorner_outer_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_scalar,b_buffer_recv_chunkcorn_scalar, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XMIN_XMAX(IREGION_OUTER_CORE),NGLOB2DMAX_YMIN_YMAX(IREGION_OUTER_CORE), &
-! NGLOB2DMAX_XY_OC_VAL,NCHUNKS_VAL,b_iphase)
-! enddo
-
-! ------------------- new non blocking implementation -------------------
-
-! ! Newmark time scheme - corrector for fluid parts
-! do i=1,NGLOB_OUTER_CORE
-! b_accel_outer_core(i) = b_accel_outer_core(i)*rmass_outer_core(i)
-! b_veloc_outer_core(i) = b_veloc_outer_core(i) + b_deltatover2*b_accel_outer_core(i)
-! enddo
-
-! endif
-
! ****************************************************
! big loop over all spectral elements in the solid
! ****************************************************
@@ -564,9 +312,7 @@
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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, & !ZN
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
@@ -606,106 +352,12 @@
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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, & !ZN
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
endif
-! if (SIMULATION_TYPE == 3 ) then
-
-! b_iphase = 0 ! do not start any non blocking communications at this stage
-! b_iphase_CC = 0 ! do not start any non blocking communications at this stage
-! b_icall = 1 ! compute all the outer elements first in the case of non blocking MPI
-
-! ! for anisotropy and gravity, x y and z contain r theta and phi
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_crust_mantle_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT, &
-! hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! else
-! call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! endif
-! endif
-
! Deville routine
if( USE_DEVILLE_PRODUCTS_VAL ) then
call compute_forces_inner_core_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
@@ -735,9 +387,7 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,& !ZN
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
@@ -770,8 +420,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
@@ -779,78 +427,6 @@
size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
endif
-! if (SIMULATION_TYPE == 3) then
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_inner_core_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! else
-! call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! endif
-! endif
-
! Stacey
if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) then
@@ -876,45 +452,6 @@
absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-! if(SIMULATION_TYPE == 3) then
-! call compute_stacey_crust_mantle_backward(ichunk, &
-! NSTEP,it,ibool_crust_mantle, &
-! b_accel_crust_mantle, &
-! ibelm_xmin_crust_mantle,ibelm_xmax_crust_mantle, &
-! ibelm_ymin_crust_mantle,ibelm_ymax_crust_mantle, &
-! nimin_crust_mantle,nimax_crust_mantle, &
-! njmin_crust_mantle,njmax_crust_mantle, &
-! nkmin_xi_crust_mantle,nkmin_eta_crust_mantle, &
-! nspec2D_xmin_crust_mantle,nspec2D_xmax_crust_mantle, &
-! nspec2D_ymin_crust_mantle,nspec2D_ymax_crust_mantle, &
-! reclen_xmin_crust_mantle,reclen_xmax_crust_mantle, &
-! reclen_ymin_crust_mantle,reclen_ymax_crust_mantle, &
-! nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
-! absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
-! absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-!! call compute_stacey_crust_mantle(ichunk, &
-!! NSTEP,it,SAVE_FORWARD,ibool_crust_mantle, &
-!! veloc_crust_mantle,b_accel_crust_mantle, &
-!! jacobian2D_xmin_crust_mantle,jacobian2D_xmax_crust_mantle, &
-!! jacobian2D_ymin_crust_mantle,jacobian2D_ymax_crust_mantle, &
-!! wgllwgll_xz,wgllwgll_yz, &
-!! normal_xmin_crust_mantle,normal_xmax_crust_mantle, &
-!! normal_ymin_crust_mantle,normal_ymax_crust_mantle, &
-!! rho_vp_crust_mantle,rho_vs_crust_mantle, &
-!! ibelm_xmin_crust_mantle,ibelm_xmax_crust_mantle, &
-!! ibelm_ymin_crust_mantle,ibelm_ymax_crust_mantle, &
-!! nimin_crust_mantle,nimax_crust_mantle, &
-!! njmin_crust_mantle,njmax_crust_mantle, &
-!! nkmin_xi_crust_mantle,nkmin_eta_crust_mantle, &
-!! nspec2D_xmin_crust_mantle,nspec2D_xmax_crust_mantle, &
-!! nspec2D_ymin_crust_mantle,nspec2D_ymax_crust_mantle, &
-!! reclen_xmin_crust_mantle,reclen_xmax_crust_mantle, &
-!! reclen_ymin_crust_mantle,reclen_ymax_crust_mantle, &
-!! nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
-!! absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
-!! absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-! endif
-
endif ! Stacey conditions
! add the sources
@@ -940,13 +477,6 @@
it,it_begin,station_name,network_name,DT)
endif
-! ! add adjoint sources and add sources for backward/reconstructed wavefield
-! if (SIMULATION_TYPE == 3) &
-! call compute_add_sources_backward(myrank,NSOURCES,NSTEP, &
-! b_accel_crust_mantle,sourcearrays, &
-! DT,t0,tshift_cmt,hdur_gaussian,ibool_crust_mantle, &
-! islice_selected_source,ispec_selected_source,it, &
-! hdur,xi_source,eta_source,gamma_source,nu_source)
! NOISE_TOMOGRAPHY
if ( NOISE_TOMOGRAPHY == 1 ) then
@@ -966,21 +496,6 @@
ibelm_top_crust_mantle,ibool_crust_mantle, &
NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
NSTEP-it+1,jacobian2D_top_crust_mantle,wgllwgll_xy)
- ! be careful, since ensemble forward sources are reversals of generating wavefield "eta"
- ! hence the "NSTEP-it+1", i.e., start reading from the last timestep
- ! note the ensemble forward sources are generally distributed on the surface of the earth
- ! that's to say, the ensemble forward source is kind of a surface force density, not a body force density
- ! therefore, we must add it here, before applying the inverse of mass matrix
-! else if ( NOISE_TOMOGRAPHY == 3 ) then
-! ! third step of noise tomography, i.e., read the surface movie saved at every timestep
-! ! use the movie to reconstruct the ensemble forward wavefield
-! ! the ensemble adjoint wavefield is done as usual
-! ! note instead of "NSTEP-it+1", now we us "it", since reconstruction is a reversal of reversal
-! call noise_read_add_surface_movie(nmovie_points,b_accel_crust_mantle, &
-! normal_x_noise,normal_y_noise,normal_z_noise,mask_noise, &
-! ibelm_top_crust_mantle,ibool_crust_mantle, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
-! it,jacobian2D_top_crust_mantle,wgllwgll_xy)
endif
! ****************************************************
@@ -1001,16 +516,6 @@
wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
RHO_TOP_OC,minus_g_cmb, &
NSPEC2D_BOTTOM(IREGION_CRUST_MANTLE))
-! if(SIMULATION_TYPE == 3) then
-! call compute_coupling_CMB_fluid(b_displ_crust_mantle, &
-! b_accel_crust_mantle, &
-! ibool_crust_mantle,ibelm_bottom_crust_mantle, &
-! b_accel_outer_core, &
-! normal_top_outer_core,jacobian2D_top_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_top_outer_core, &
-! RHO_TOP_OC,minus_g_cmb, &
-! NSPEC2D_BOTTOM(IREGION_CRUST_MANTLE))
-! endif
endif
!---
@@ -1025,16 +530,6 @@
wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
RHO_BOTTOM_OC,minus_g_icb, &
NSPEC2D_TOP(IREGION_INNER_CORE))
-! if(SIMULATION_TYPE == 3) then
-! call compute_coupling_ICB_fluid(b_displ_inner_core, &
-! b_accel_inner_core, &
-! ibool_inner_core,ibelm_top_inner_core, &
-! b_accel_outer_core, &
-! normal_bottom_outer_core,jacobian2D_bottom_outer_core, &
-! wgllwgll_xy,ibool_outer_core,ibelm_bottom_outer_core, &
-! RHO_BOTTOM_OC,minus_g_icb, &
-! NSPEC2D_TOP(IREGION_INNER_CORE))
-! endif
endif
! assemble all the contributions between slices using MPI
@@ -1105,8 +600,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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -1147,9 +640,7 @@
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, &
-!ZN R_memory_crust_mantle,epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, & !ZN
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
@@ -1184,8 +675,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
alphaval,betaval,gammaval, &
factor_common_inner_core, &
@@ -1219,8 +708,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN R_memory_inner_core,epsilondev_inner_core, eps_trace_over_3_inner_core,&
-!ZN one_minus_sum_beta_inner_core, &
R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
alphaval,betaval,gammaval, &
factor_common_inner_core, &
@@ -1285,256 +772,6 @@
endif
! ------------------- new non blocking implementation -------------------
-
-! if (SIMULATION_TYPE == 3) then
-
-! ! assemble all the contributions between slices using MPI
-
-! assemble all the contributions between slices using MPI
-! crust/mantle and inner core handled in the same call
-! in order to reduce the number of MPI messages by 2
-
-! b_iphase = 1 ! initialize the non blocking communication counter
-! b_iphase_CC = 1 ! initialize the non blocking communication counter for the central cube
-
-! start the non blocking communications
-! call assemble_MPI_vector(myrank,b_accel_crust_mantle,b_accel_inner_core, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_CRUST_MANTLE), &
-! NGLOB1D_RADIAL(IREGION_INNER_CORE),NCHUNKS_VAL,b_iphase)
-
-! b_icall = 2 ! now compute all the inner elements in the case of non blocking MPI
-
-! ! compute internal forces in the solid regions
-
-! ! for anisotropy and gravity, x y and z contain r theta and phi
-
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_crust_mantle_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT, &
-! hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! else
-! call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_crust_mantle,b_accel_crust_mantle, &
-! xstore_crust_mantle,ystore_crust_mantle,zstore_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! is_on_a_slice_edge_crust_mantle,b_icall, &
-! b_accel_inner_core,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_crust_mantle,kappahstore_crust_mantle,muvstore_crust_mantle, &
-! muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle, &
-! c14store_crust_mantle,c15store_crust_mantle,c16store_crust_mantle, &
-! c22store_crust_mantle,c23store_crust_mantle,c24store_crust_mantle, &
-! c25store_crust_mantle,c26store_crust_mantle,c33store_crust_mantle, &
-! c34store_crust_mantle,c35store_crust_mantle,c36store_crust_mantle, &
-! 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, &
-! b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-! b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
-! b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
-! size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
-! size(factor_common_crust_mantle,4), size(factor_common_crust_mantle,5) )
-! endif
-
-! ! Deville routine
-! if( USE_DEVILLE_PRODUCTS_VAL ) then
-! call compute_forces_inner_core_Dev(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! else
-! call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
-! b_displ_inner_core,b_accel_inner_core, &
-! xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core, &
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-! is_on_a_slice_edge_inner_core,b_icall, &
-! b_accel_crust_mantle,ibool_inner_core,idoubling_inner_core, &
-! myrank,iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector,b_iphase, &
-! nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibelm_bottom_inner_core,NSPEC2D_BOTTOM_IC,INCLUDE_CENTRAL_CUBE,b_iphase_CC, &
-! hprime_xx,hprime_yy,hprime_zz,hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
-! wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
-! kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
-! c11store_inner_core,c33store_inner_core,c12store_inner_core, &
-! c13store_inner_core,c44store_inner_core, &
-! b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
-! one_minus_sum_beta_inner_core, &
-! b_alphaval,b_betaval,b_gammaval, &
-! factor_common_inner_core, &
-! size(factor_common_inner_core,2), size(factor_common_inner_core,3), &
-! size(factor_common_inner_core,4), size(factor_common_inner_core,5) )
-! endif
-
-! assemble all the contributions between slices using MPI
-! crust/mantle and inner core handled in the same call
-! in order to reduce the number of MPI messages by 2
-! do while (b_iphase <= 7) ! make sure the last communications are finished and processed
-! call assemble_MPI_vector(myrank,b_accel_crust_mantle,b_accel_inner_core, &
-! iproc_xi,iproc_eta,ichunk,addressing, &
-! iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
-! npoin2D_faces_crust_mantle,npoin2D_xi_crust_mantle,npoin2D_eta_crust_mantle, &
-! iboolfaces_crust_mantle,iboolcorner_crust_mantle, &
-! iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
-! npoin2D_faces_inner_core,npoin2D_xi_inner_core,npoin2D_eta_inner_core, &
-! iboolfaces_inner_core,iboolcorner_inner_core, &
-! iprocfrom_faces,iprocto_faces, &
-! iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
-! b_buffer_send_faces,b_buffer_received_faces,npoin2D_max_all_CM_IC, &
-! b_buffer_send_chunkcorn_vector,b_buffer_recv_chunkcorn_vector, &
-! NUMMSGS_FACES,NCORNERSCHUNKS, &
-! NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_CRUST_MANTLE), &
-! NGLOB1D_RADIAL(IREGION_INNER_CORE),NCHUNKS_VAL,b_iphase)
-! enddo
-
-! !---
-! !--- use buffers to assemble forces with the central cube
-! !---
-
-! if(INCLUDE_CENTRAL_CUBE) then
-! do while (b_iphase_CC <= 4) ! make sure the last communications are finished and processed
-! call assemble_MPI_central_cube(ichunk,nb_msgs_theor_in_cube,sender_from_slices_to_cube, &
-! npoin2D_cube_from_slices,b_buffer_all_cube_from_slices,b_buffer_slices,ibool_central_cube, &
-! receiver_cube_from_slices,ibool_inner_core,idoubling_inner_core, &
-! ibelm_bottom_inner_core,NSPEC2D_BOTTOM(IREGION_INNER_CORE),b_accel_inner_core,NDIM,b_iphase_CC)
-! enddo
-! endif ! end of assembling forces with the central cube
-
-! ------------------- new non blocking implementation -------------------
-
-! if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) then
-
-! do i=1,NGLOB_CRUST_MANTLE
-! b_accel_crust_mantle(1,i) = b_accel_crust_mantle(1,i)*rmassx_crust_mantle(i) &
-! + b_two_omega_earth*b_veloc_crust_mantle(2,i)
-! b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*rmassy_crust_mantle(i) &
-! - b_two_omega_earth*b_veloc_crust_mantle(1,i)
-! b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*rmassz_crust_mantle(i)
-! enddo
-
-! else
-
-! do i=1,NGLOB_CRUST_MANTLE
-! b_accel_crust_mantle(1,i) = b_accel_crust_mantle(1,i)*rmassz_crust_mantle(i) &
-! + b_two_omega_earth*b_veloc_crust_mantle(2,i)
-! b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*rmassz_crust_mantle(i) &
-! - b_two_omega_earth*b_veloc_crust_mantle(1,i)
-! b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*rmassz_crust_mantle(i)
-! enddo
-
-! endif
-
-! endif ! SIMULATION_TYPE == 3
-
! couples ocean with crust mantle
if(OCEANS_VAL) then
call compute_coupling_ocean(accel_crust_mantle, &
@@ -1544,15 +781,6 @@
updated_dof_ocean_load,NGLOB_XY, &
NSPEC2D_TOP(IREGION_CRUST_MANTLE), &
ABSORBING_CONDITIONS)
-! if(SIMULATION_TYPE == 3) then
-! call compute_coupling_ocean(b_accel_crust_mantle, &
-! rmassx_crust_mantle,rmassy_crust_mantle,rmassz_crust_mantle, &
-! rmass_ocean_load,normal_top_crust_mantle, &
-! ibool_crust_mantle,ibelm_top_crust_mantle, &
-! updated_dof_ocean_load,NGLOB_XY, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE), &
-! ABSORBING_CONDITIONS)
-! endif
endif
!-------------------------------------------------------------------------------------------------
@@ -1579,36 +807,6 @@
veloc_inner_core(:,i) = veloc_inner_core(:,i) + deltatover2*accel_inner_core(:,i)
enddo
-! if (SIMULATION_TYPE == 3) then
-! ! mantle
-! do i=1,NGLOB_CRUST_MANTLE
-! b_veloc_crust_mantle(:,i) = b_veloc_crust_mantle(:,i) + b_deltatover2*b_accel_crust_mantle(:,i)
-! enddo
-! ! inner core
-! do i=1,NGLOB_INNER_CORE
-! b_accel_inner_core(1,i) = b_accel_inner_core(1,i)*rmass_inner_core(i) &
-! + b_two_omega_earth*b_veloc_inner_core(2,i)
-! b_accel_inner_core(2,i) = b_accel_inner_core(2,i)*rmass_inner_core(i) &
-! - b_two_omega_earth*b_veloc_inner_core(1,i)
-! b_accel_inner_core(3,i) = b_accel_inner_core(3,i)*rmass_inner_core(i)
-! b_veloc_inner_core(:,i) = b_veloc_inner_core(:,i) + b_deltatover2*b_accel_inner_core(:,i)
-! enddo
-! endif ! SIMULATION_TYPE == 3
-
-! ! restores last time snapshot saved for backward/reconstruction of wavefields
-! ! note: this is done here after the Newmark time scheme, otherwise the indexing for sources
-! ! and adjoint sources will become more complicated
-! ! that is, index it for adjoint sources will match index NSTEP - 1 for backward/reconstructed wavefields
-! if(SIMULATION_TYPE == 3 .and. it == 1) then
-! call read_forward_arrays(myrank, &
-! b_displ_crust_mantle,b_veloc_crust_mantle,b_accel_crust_mantle, &
-! b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
-! b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
-! b_R_memory_crust_mantle,b_R_memory_inner_core, &
-! b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
-! b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
-! endif
-
! write the seismograms with time shift
! store the seismograms only if there is at least one receiver located in this slice
@@ -1623,7 +821,6 @@
else if (SIMULATION_TYPE == 2) then
call compute_seismograms_adjoint(NSOURCES,nrec_local,displ_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
nu_source,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
hxir_store,hetar_store,hgammar_store, &
hpxir_store,hpetar_store,hpgammar_store, &
@@ -1636,15 +833,6 @@
NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismograms,deltat, &
ibool_crust_mantle,ispec_selected_source,number_receiver_global, &
NSTEP,it,nit_written)
-
-! else if (SIMULATION_TYPE == 3) then
-! call compute_seismograms_backward(nrec_local,nrec,b_displ_crust_mantle, &
-! nu,hxir_store,hetar_store,hgammar_store, &
-! scale_displ,ibool_crust_mantle, &
-! ispec_selected_rec,number_receiver_global, &
-! seismo_current,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
-! seismograms)
-
endif
endif ! nrec_local
@@ -1674,7 +862,7 @@
NSTEP,NTSTEP_BETWEEN_OUTPUT_SEISMOS,t0,LOCAL_PATH)
nit_written = it
endif
-!ZN seismo_offset = seismo_offset + seismo_current
+!!! seismo_offset = seismo_offset + seismo_current
seismo_current = 0
endif
else
@@ -1707,268 +895,13 @@
endif
endif
-!
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
-!
-! kernel calculations
-! if (SIMULATION_TYPE == 3) then
-! ! crust mantle
-! call compute_kernels_crust_mantle(ibool_crust_mantle, &
-! rho_kl_crust_mantle,beta_kl_crust_mantle, &
-! alpha_kl_crust_mantle,cijkl_kl_crust_mantle, &
-! accel_crust_mantle,b_displ_crust_mantle, &
-! epsilondev_crust_mantle,b_epsilondev_crust_mantle, &
-! eps_trace_over_3_crust_mantle,b_eps_trace_over_3_crust_mantle, &
-! deltat)
-
-! ! outer core
-! call compute_kernels_outer_core(ibool_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core, &
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! displ_outer_core,accel_outer_core, &
-! b_displ_outer_core,b_accel_outer_core, &
-! vector_accel_outer_core,vector_displ_outer_core, &
-! b_vector_displ_outer_core, &
-! div_displ_outer_core,b_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
-! call compute_kernels_inner_core(ibool_inner_core, &
-! rho_kl_inner_core,beta_kl_inner_core, &
-! alpha_kl_inner_core, &
-! accel_inner_core,b_displ_inner_core, &
-! epsilondev_inner_core,b_epsilondev_inner_core, &
-! eps_trace_over_3_inner_core,b_eps_trace_over_3_inner_core, &
-! deltat)
-
-! ! NOISE TOMOGRAPHY --- source strength kernel
-! if (NOISE_TOMOGRAPHY == 3) &
-! call compute_kernels_strength_noise(nmovie_points,ibool_crust_mantle, &
-! Sigma_kl_crust_mantle,displ_crust_mantle,deltat,it, &
-! normal_x_noise,normal_y_noise,normal_z_noise, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
-! ibelm_top_crust_mantle)
-
-! ! --- boundary kernels ------
-! if (SAVE_BOUNDARY_MESH) then
-! fluid_solid_boundary = .false.
-! iregion_code = IREGION_CRUST_MANTLE
-
-! ! Moho
-! if (.not. SUPPRESS_CRUSTAL_MESH .and. HONOR_1D_SPHERICAL_MOHO) then
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_moho_top,normal_moho,moho_kl_top,fluid_solid_boundary,NSPEC2D_MOHO)
-
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_bot,ibelm_moho_bot,normal_moho,moho_kl_bot,fluid_solid_boundary,NSPEC2D_MOHO)
-
-! moho_kl = moho_kl + (moho_kl_top - moho_kl_bot) * deltat
-! endif
-
-! ! d400
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_400_top,normal_400,d400_kl_top,fluid_solid_boundary,NSPEC2D_400)
-
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_bot,ibelm_400_bot,normal_400,d400_kl_bot,fluid_solid_boundary,NSPEC2D_400)
-
-! d400_kl = d400_kl + (d400_kl_top - d400_kl_bot) * deltat
-
-! ! d670
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_670_top,normal_670,d670_kl_top,fluid_solid_boundary,NSPEC2D_670)
-
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle,muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_bot,ibelm_670_bot,normal_670,d670_kl_bot,fluid_solid_boundary,NSPEC2D_670)
-
-! d670_kl = d670_kl + (d670_kl_top - d670_kl_bot) * deltat
-
-! ! CMB
-! fluid_solid_boundary = .true.
-! iregion_code = IREGION_CRUST_MANTLE
-! call compute_boundary_kernel(displ_crust_mantle,accel_crust_mantle, &
-! b_displ_crust_mantle,nspec_crust_mantle,iregion_code, &
-! ystore_crust_mantle,zstore_crust_mantle,ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_crust_mantle,kappavstore_crust_mantle, muvstore_crust_mantle, &
-! kappahstore_crust_mantle,muhstore_crust_mantle,eta_anisostore_crust_mantle, &
-! c11store_crust_mantle,c12store_crust_mantle,c13store_crust_mantle,c14store_crust_mantle, &
-! c15store_crust_mantle,c16store_crust_mantle,c22store_crust_mantle, &
-! c23store_crust_mantle,c24store_crust_mantle,c25store_crust_mantle,c26store_crust_mantle, &
-! c33store_crust_mantle,c34store_crust_mantle,c35store_crust_mantle, &
-! c36store_crust_mantle,c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
-! c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
-! k_top,ibelm_bottom_crust_mantle,normal_top_outer_core, &
-! cmb_kl_top,fluid_solid_boundary,NSPEC2D_CMB)
-
-! iregion_code = IREGION_OUTER_CORE
-! call compute_boundary_kernel(vector_displ_outer_core,vector_accel_outer_core, &
-! b_vector_displ_outer_core,nspec_outer_core, &
-! iregion_code,ystore_outer_core,zstore_outer_core,ibool_outer_core,ispec_is_tiso_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core,&
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_outer_core,kappavstore_outer_core,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! k_bot,ibelm_top_outer_core,normal_top_outer_core, &
-! cmb_kl_bot,fluid_solid_boundary,NSPEC2D_CMB)
-
-! cmb_kl = cmb_kl + (cmb_kl_top - cmb_kl_bot) * deltat
-
-! ! ICB
-! fluid_solid_boundary = .true.
-! call compute_boundary_kernel(vector_displ_outer_core,vector_accel_outer_core, &
-! b_vector_displ_outer_core,nspec_outer_core, &
-! iregion_code,ystore_outer_core,zstore_outer_core,ibool_outer_core,ispec_is_tiso_outer_core, &
-! xix_outer_core,xiy_outer_core,xiz_outer_core, &
-! etax_outer_core,etay_outer_core,etaz_outer_core,&
-! gammax_outer_core,gammay_outer_core,gammaz_outer_core,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_outer_core,kappavstore_outer_core,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! k_top,ibelm_bottom_outer_core,normal_bottom_outer_core, &
-! icb_kl_top,fluid_solid_boundary,NSPEC2D_ICB)
-
-! iregion_code = IREGION_INNER_CORE
-! call compute_boundary_kernel(displ_inner_core,accel_inner_core, &
-! b_displ_inner_core,nspec_inner_core,iregion_code, &
-! ystore_inner_core,zstore_inner_core,ibool_inner_core,ispec_is_tiso_inner_core, &
-! xix_inner_core,xiy_inner_core,xiz_inner_core, &
-! etax_inner_core,etay_inner_core,etaz_inner_core,&
-! gammax_inner_core,gammay_inner_core,gammaz_inner_core,hprime_xx,hprime_yy,hprime_zz, &
-! rhostore_inner_core,kappavstore_inner_core,muvstore_inner_core, &
-! dummy_array,dummy_array,dummy_array, &
-! c11store_inner_core,c12store_inner_core,c13store_inner_core,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array,dummy_array, &
-! c33store_inner_core,dummy_array,dummy_array, &
-! dummy_array,c44store_inner_core,dummy_array,dummy_array, &
-! dummy_array,dummy_array,dummy_array, &
-! k_bot,ibelm_top_inner_core,normal_bottom_outer_core, &
-! icb_kl_bot,fluid_solid_boundary,NSPEC2D_ICB)
-
-! icb_kl = icb_kl + (icb_kl_top - icb_kl_bot) * deltat
-! endif
-
-! ! approximate hessian
-! if( APPROXIMATE_HESS_KL ) then
-! call compute_kernels_hessian(ibool_crust_mantle, &
-! hess_kl_crust_mantle,&
-! accel_crust_mantle,b_accel_crust_mantle, &
-! deltat)
-! endif
-
-! endif ! end of if computing kernels
-
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------------------------
-
! first step of noise tomography, i.e., save a surface movie at every time step
! modified from the subroutine 'write_movie_surface'
if ( NOISE_TOMOGRAPHY == 1 ) then
@@ -2003,14 +936,12 @@
if (MOVIE_VOLUME_TYPE == 1) then ! output strains
call write_movie_volume_strains(myrank,npoints_3dmovie, &
LOCAL_PATH,MOVIE_VOLUME_TYPE,MOVIE_COARSE, &
-!ZN it,eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-!ZN muvstore_crust_mantle_3dmovie, &
it,muvstore_crust_mantle_3dmovie, &
- mask_3dmovie,nu_3dmovie,& !ZN
+ mask_3dmovie,nu_3dmovie,&
hprime_xx,hprime_yy,hprime_zz,ibool_crust_mantle,&
xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
- gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle) !ZN
+ gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle)
else if (MOVIE_VOLUME_TYPE == 2 .or. MOVIE_VOLUME_TYPE == 3) then
! output the Time Integral of Strain, or \mu*TIS
@@ -2021,17 +952,17 @@
mask_3dmovie,nu_3dmovie)
else if (MOVIE_VOLUME_TYPE == 4) then ! output divergence and curl in whole volume
-!ZN for undo_att this type of MOVIE is not supported
-!ZN call write_movie_volume_divcurl(myrank,it,eps_trace_over_3_crust_mantle,&
-!ZN div_displ_outer_core, &
-!ZN accel_outer_core,kappavstore_outer_core,rhostore_outer_core,ibool_outer_core, &
-!ZN eps_trace_over_3_inner_core, &
-!ZN epsilondev_crust_mantle,epsilondev_inner_core, &
-!ZN LOCAL_PATH, &
-!ZN displ_crust_mantle,displ_inner_core,displ_outer_core, &
-!ZN veloc_crust_mantle,veloc_inner_core,veloc_outer_core, &
-!ZN accel_crust_mantle,accel_inner_core, &
-!ZN ibool_crust_mantle,ibool_inner_core)
+!!!!!! for undo_att this type of MOVIE is not supported
+!!! call write_movie_volume_divcurl(myrank,it,eps_trace_over_3_crust_mantle,&
+!!! div_displ_outer_core, &
+!!! accel_outer_core,kappavstore_outer_core,rhostore_outer_core,ibool_outer_core, &
+!!! eps_trace_over_3_inner_core, &
+!!! epsilondev_crust_mantle,epsilondev_inner_core, &
+!!! LOCAL_PATH, &
+!!! displ_crust_mantle,displ_inner_core,displ_outer_core, &
+!!! veloc_crust_mantle,veloc_inner_core,veloc_outer_core, &
+!!! accel_crust_mantle,accel_inner_core, &
+!!! ibool_crust_mantle,ibool_inner_core)
else if (MOVIE_VOLUME_TYPE == 5) then ! output displacement
scalingval = scale_displ
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_classical.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_classical.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_classical.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -39,10 +39,6 @@
! and output timestamp file to check that simulation is running fine
if(mod(it,NTSTEP_BETWEEN_OUTPUT_INFO) == 0 .or. it == it_begin+4 .or. it == it_end) then
if (SIMULATION_TYPE == 3) then
-!ZN call check_simulation_stability(it,b_displ_crust_mantle,b_displ_inner_core,b_displ_outer_core, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-!ZN SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
-!ZN it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
call check_simulation_stability(it,b_displ_crust_mantle,b_displ_inner_core,b_displ_outer_core, &
SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
@@ -141,30 +137,6 @@
absorb_zmin_outer_core, &
absorb_xmin_outer_core,absorb_xmax_outer_core, &
absorb_ymin_outer_core,absorb_ymax_outer_core)
-! call compute_stacey_outer_core(ichunk,SIMULATION_TYPE,SAVE_FORWARD, &
-! NSTEP,it,ibool_outer_core, &
-! veloc_outer_core,accel_outer_core,b_accel_outer_core, &
-! vp_outer_core,wgllwgll_xz,wgllwgll_yz,wgllwgll_xy, &
-! jacobian2D_bottom_outer_core, &
-! jacobian2D_xmin_outer_core,jacobian2D_xmax_outer_core, &
-! jacobian2D_ymin_outer_core,jacobian2D_ymax_outer_core, &
-! ibelm_bottom_outer_core, &
-! ibelm_xmin_outer_core,ibelm_xmax_outer_core, &
-! ibelm_ymin_outer_core,ibelm_ymax_outer_core, &
-! nimin_outer_core,nimax_outer_core, &
-! njmin_outer_core,njmax_outer_core, &
-! nkmin_xi_outer_core,nkmin_eta_outer_core, &
-! NSPEC2D_BOTTOM, &
-! nspec2D_xmin_outer_core,nspec2D_xmax_outer_core, &
-! nspec2D_ymin_outer_core,nspec2D_ymax_outer_core, &
-! reclen_zmin, &
-! reclen_xmin_outer_core,reclen_xmax_outer_core, &
-! reclen_ymin_outer_core,reclen_ymax_outer_core, &
-! nabs_zmin_oc, &
-! nabs_xmin_oc,nabs_xmax_oc,nabs_ymin_oc,nabs_ymax_oc, &
-! absorb_zmin_outer_core, &
-! absorb_xmin_outer_core,absorb_xmax_outer_core, &
-! absorb_ymin_outer_core,absorb_ymax_outer_core)
endif
endif ! Stacey conditions
@@ -350,8 +322,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -392,8 +362,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -430,7 +398,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -464,7 +431,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -492,27 +458,6 @@
nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
-! call compute_stacey_crust_mantle(ichunk, &
-! NSTEP,it,SAVE_FORWARD,ibool_crust_mantle, &
-! veloc_crust_mantle,b_accel_crust_mantle, &
-! jacobian2D_xmin_crust_mantle,jacobian2D_xmax_crust_mantle, &
-! jacobian2D_ymin_crust_mantle,jacobian2D_ymax_crust_mantle, &
-! wgllwgll_xz,wgllwgll_yz, &
-! normal_xmin_crust_mantle,normal_xmax_crust_mantle, &
-! normal_ymin_crust_mantle,normal_ymax_crust_mantle, &
-! rho_vp_crust_mantle,rho_vs_crust_mantle, &
-! ibelm_xmin_crust_mantle,ibelm_xmax_crust_mantle, &
-! ibelm_ymin_crust_mantle,ibelm_ymax_crust_mantle, &
-! nimin_crust_mantle,nimax_crust_mantle, &
-! njmin_crust_mantle,njmax_crust_mantle, &
-! nkmin_xi_crust_mantle,nkmin_eta_crust_mantle, &
-! nspec2D_xmin_crust_mantle,nspec2D_xmax_crust_mantle, &
-! nspec2D_ymin_crust_mantle,nspec2D_ymax_crust_mantle, &
-! reclen_xmin_crust_mantle,reclen_xmax_crust_mantle, &
-! reclen_ymin_crust_mantle,reclen_ymax_crust_mantle, &
-! nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
-! absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
-! absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
endif
endif ! Stacey conditions
@@ -525,30 +470,6 @@
hdur,xi_source,eta_source,gamma_source,nu_source)
endif
- ! NOISE_TOMOGRAPHY
-! if ( NOISE_TOMOGRAPHY == 1 ) then
-! ! the first step of noise tomography is to use |S(\omega)|^2 as a point force source at one of the receivers.
-! ! hence, instead of a moment tensor 'sourcearrays', a 'noise_sourcearray' for a point force is needed.
-! ! furthermore, the CMTSOLUTION needs to be zero, i.e., no earthquakes.
-! ! now this must be manually set in DATA/CMTSOLUTION, by USERS.
-! call add_source_master_rec_noise(myrank,nrec, &
-! NSTEP,accel_crust_mantle,noise_sourcearray, &
-! ibool_crust_mantle,islice_selected_rec,ispec_selected_rec, &
-! it,irec_master_noise)
-! else if ( NOISE_TOMOGRAPHY == 2 ) then
-! ! second step of noise tomography, i.e., read the surface movie saved at every timestep
-! ! use the movie to drive the ensemble forward wavefield
-! call noise_read_add_surface_movie(nmovie_points,accel_crust_mantle, &
-! normal_x_noise,normal_y_noise,normal_z_noise,mask_noise, &
-! ibelm_top_crust_mantle,ibool_crust_mantle, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
-! NSTEP-it+1,jacobian2D_top_crust_mantle,wgllwgll_xy)
-! ! be careful, since ensemble forward sources are reversals of generating wavefield "eta"
-! ! hence the "NSTEP-it+1", i.e., start reading from the last timestep
-! ! note the ensemble forward sources are generally distributed on the surface of the earth
-! ! that's to say, the ensemble forward source is kind of a surface force density, not a body force density
-! ! therefore, we must add it here, before applying the inverse of mass matrix
-! else
if ( NOISE_TOMOGRAPHY == 3 ) then
! third step of noise tomography, i.e., read the surface movie saved at every timestep
! use the movie to reconstruct the ensemble forward wavefield
@@ -677,8 +598,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -719,8 +638,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -756,7 +673,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -790,7 +706,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -906,7 +821,6 @@
b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
b_R_memory_crust_mantle,b_R_memory_inner_core, &
-!ZN b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
endif
@@ -914,31 +828,6 @@
! store the seismograms only if there is at least one receiver located in this slice
if (nrec_local > 0) then
-! if (SIMULATION_TYPE == 1) then
-! call compute_seismograms(nrec_local,nrec,displ_crust_mantle, &
-! nu,hxir_store,hetar_store,hgammar_store, &
-! scale_displ,ibool_crust_mantle, &
-! ispec_selected_rec,number_receiver_global, &
-! seismo_current,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
-! seismograms)
-
-! else if (SIMULATION_TYPE == 2) then
-! call compute_seismograms_adjoint(NSOURCES,nrec_local,displ_crust_mantle, &
-! eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-! nu_source,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
-! hxir_store,hetar_store,hgammar_store, &
-! hpxir_store,hpetar_store,hpgammar_store, &
-! tshift_cmt,hdur_gaussian,DT,t0,scale_displ, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! moment_der,sloc_der,stshift_der,shdur_der, &
-! NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismograms,deltat, &
-! ibool_crust_mantle,ispec_selected_source,number_receiver_global, &
-! NSTEP,it,nit_written)
-
-! else
if (SIMULATION_TYPE == 3) then
call compute_seismograms_backward(nrec_local,nrec,b_displ_crust_mantle, &
nu,hxir_store,hetar_store,hgammar_store, &
@@ -968,12 +857,6 @@
write(IMAIN,*) ' Total number of time steps written: ', it-it_begin+1
write(IMAIN,*)
endif
-! else ! case of SIMULATION_TYPE == 2
-! if( nrec_local > 0 ) &
-! call write_adj_seismograms(seismograms,number_receiver_global, &
-! nrec_local,it,nit_written,DT, &
-! NSTEP,NTSTEP_BETWEEN_OUTPUT_SEISMOS,t0,LOCAL_PATH)
-! nit_written = it
endif
seismo_offset = seismo_offset + seismo_current
seismo_current = 0
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -39,10 +39,6 @@
! and output timestamp file to check that simulation is running fine
if(mod(it,NTSTEP_BETWEEN_OUTPUT_INFO) == 0 .or. it == it_begin+4 .or. it == it_end) then
if (SIMULATION_TYPE == 3) then
-!ZN call check_simulation_stability(it,b_displ_crust_mantle,b_displ_inner_core,b_displ_outer_core, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-!ZN SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
-!ZN it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
call check_simulation_stability(it,b_displ_crust_mantle,b_displ_inner_core,b_displ_outer_core, &
SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
@@ -172,30 +168,6 @@
absorb_xmin_outer_core,absorb_xmax_outer_core, &
absorb_ymin_outer_core,absorb_ymax_outer_core)
endif
-! call compute_stacey_outer_core(ichunk,SIMULATION_TYPE,SAVE_FORWARD, &
-! NSTEP,it,ibool_outer_core, &
-! veloc_outer_core,accel_outer_core,b_accel_outer_core, &
-! vp_outer_core,wgllwgll_xz,wgllwgll_yz,wgllwgll_xy, &
-! jacobian2D_bottom_outer_core, &
-! jacobian2D_xmin_outer_core,jacobian2D_xmax_outer_core, &
-! jacobian2D_ymin_outer_core,jacobian2D_ymax_outer_core, &
-! ibelm_bottom_outer_core, &
-! ibelm_xmin_outer_core,ibelm_xmax_outer_core, &
-! ibelm_ymin_outer_core,ibelm_ymax_outer_core, &
-! nimin_outer_core,nimax_outer_core, &
-! njmin_outer_core,njmax_outer_core, &
-! nkmin_xi_outer_core,nkmin_eta_outer_core, &
-! NSPEC2D_BOTTOM, &
-! nspec2D_xmin_outer_core,nspec2D_xmax_outer_core, &
-! nspec2D_ymin_outer_core,nspec2D_ymax_outer_core, &
-! reclen_zmin, &
-! reclen_xmin_outer_core,reclen_xmax_outer_core, &
-! reclen_ymin_outer_core,reclen_ymax_outer_core, &
-! nabs_zmin_oc, &
-! nabs_xmin_oc,nabs_xmax_oc,nabs_ymin_oc,nabs_ymax_oc, &
-! absorb_zmin_outer_core, &
-! absorb_xmin_outer_core,absorb_xmax_outer_core, &
-! absorb_ymin_outer_core,absorb_ymax_outer_core)
endif
endif ! Stacey conditions
@@ -381,8 +353,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -423,8 +393,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -461,7 +429,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -495,7 +462,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -546,27 +512,6 @@
absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
endif
-! call compute_stacey_crust_mantle(ichunk, &
-! NSTEP,it,SAVE_FORWARD,ibool_crust_mantle, &
-! veloc_crust_mantle,b_accel_crust_mantle, &
-! jacobian2D_xmin_crust_mantle,jacobian2D_xmax_crust_mantle, &
-! jacobian2D_ymin_crust_mantle,jacobian2D_ymax_crust_mantle, &
-! wgllwgll_xz,wgllwgll_yz, &
-! normal_xmin_crust_mantle,normal_xmax_crust_mantle, &
-! normal_ymin_crust_mantle,normal_ymax_crust_mantle, &
-! rho_vp_crust_mantle,rho_vs_crust_mantle, &
-! ibelm_xmin_crust_mantle,ibelm_xmax_crust_mantle, &
-! ibelm_ymin_crust_mantle,ibelm_ymax_crust_mantle, &
-! nimin_crust_mantle,nimax_crust_mantle, &
-! njmin_crust_mantle,njmax_crust_mantle, &
-! nkmin_xi_crust_mantle,nkmin_eta_crust_mantle, &
-! nspec2D_xmin_crust_mantle,nspec2D_xmax_crust_mantle, &
-! nspec2D_ymin_crust_mantle,nspec2D_ymax_crust_mantle, &
-! reclen_xmin_crust_mantle,reclen_xmax_crust_mantle, &
-! reclen_ymin_crust_mantle,reclen_ymax_crust_mantle, &
-! nabs_xmin_cm,nabs_xmax_cm,nabs_ymin_cm,nabs_ymax_cm, &
-! absorb_xmin_crust_mantle5,absorb_xmax_crust_mantle5, &
-! absorb_ymin_crust_mantle5,absorb_ymax_crust_mantle5)
endif
endif ! Stacey conditions
@@ -587,30 +532,6 @@
endif
endif
- ! NOISE_TOMOGRAPHY
-! if ( NOISE_TOMOGRAPHY == 1 ) then
-! ! the first step of noise tomography is to use |S(\omega)|^2 as a point force source at one of the receivers.
-! ! hence, instead of a moment tensor 'sourcearrays', a 'noise_sourcearray' for a point force is needed.
-! ! furthermore, the CMTSOLUTION needs to be zero, i.e., no earthquakes.
-! ! now this must be manually set in DATA/CMTSOLUTION, by USERS.
-! call add_source_master_rec_noise(myrank,nrec, &
-! NSTEP,accel_crust_mantle,noise_sourcearray, &
-! ibool_crust_mantle,islice_selected_rec,ispec_selected_rec, &
-! it,irec_master_noise)
-! else if ( NOISE_TOMOGRAPHY == 2 ) then
-! ! second step of noise tomography, i.e., read the surface movie saved at every timestep
-! ! use the movie to drive the ensemble forward wavefield
-! call noise_read_add_surface_movie(nmovie_points,accel_crust_mantle, &
-! normal_x_noise,normal_y_noise,normal_z_noise,mask_noise, &
-! ibelm_top_crust_mantle,ibool_crust_mantle, &
-! NSPEC2D_TOP(IREGION_CRUST_MANTLE),noise_surface_movie, &
-! NSTEP-it+1,jacobian2D_top_crust_mantle,wgllwgll_xy)
-! ! be careful, since ensemble forward sources are reversals of generating wavefield "eta"
-! ! hence the "NSTEP-it+1", i.e., start reading from the last timestep
-! ! note the ensemble forward sources are generally distributed on the surface of the earth
-! ! that's to say, the ensemble forward source is kind of a surface force density, not a body force density
-! ! therefore, we must add it here, before applying the inverse of mass matrix
-! else
if(.not. UNDO_ATT)then
if ( NOISE_TOMOGRAPHY == 3 ) then
! third step of noise tomography, i.e., read the surface movie saved at every timestep
@@ -741,8 +662,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -783,8 +702,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, &
-!ZN b_R_memory_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN b_eps_trace_over_3_crust_mantle,one_minus_sum_beta_crust_mantle, &
b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,2), size(factor_common_crust_mantle,3), &
@@ -820,7 +737,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -854,7 +770,6 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
-!ZN b_R_memory_inner_core,b_epsilondev_inner_core, b_eps_trace_over_3_inner_core,&
b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
@@ -971,7 +886,6 @@
b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
b_R_memory_crust_mantle,b_R_memory_inner_core, &
-!ZN b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
endif
endif
@@ -980,31 +894,6 @@
! store the seismograms only if there is at least one receiver located in this slice
if (nrec_local > 0) then
-! if (SIMULATION_TYPE == 1) then
-! call compute_seismograms(nrec_local,nrec,displ_crust_mantle, &
-! nu,hxir_store,hetar_store,hgammar_store, &
-! scale_displ,ibool_crust_mantle, &
-! ispec_selected_rec,number_receiver_global, &
-! seismo_current,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
-! seismograms)
-
-! else if (SIMULATION_TYPE == 2) then
-! call compute_seismograms_adjoint(NSOURCES,nrec_local,displ_crust_mantle, &
-! eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
-! nu_source,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
-! hxir_store,hetar_store,hgammar_store, &
-! hpxir_store,hpetar_store,hpgammar_store, &
-! tshift_cmt,hdur_gaussian,DT,t0,scale_displ, &
-! hprime_xx,hprime_yy,hprime_zz, &
-! xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle, &
-! etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle, &
-! gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-! moment_der,sloc_der,stshift_der,shdur_der, &
-! NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismograms,deltat, &
-! ibool_crust_mantle,ispec_selected_source,number_receiver_global, &
-! NSTEP,it,nit_written)
-
-! else
if (SIMULATION_TYPE == 3) then
call compute_seismograms_backward(nrec_local,nrec,b_displ_crust_mantle, &
nu,hxir_store,hetar_store,hgammar_store, &
@@ -1045,12 +934,6 @@
write(IMAIN,*) ' Total number of time steps written: ', it-it_begin+1
write(IMAIN,*)
endif
-! else ! case of SIMULATION_TYPE == 2
-! if( nrec_local > 0 ) &
-! call write_adj_seismograms(seismograms,number_receiver_global, &
-! nrec_local,it,nit_written,DT, &
-! NSTEP,NTSTEP_BETWEEN_OUTPUT_SEISMOS,t0,LOCAL_PATH)
-! nit_written = it
endif
seismo_offset = seismo_offset + seismo_current
seismo_current = 0
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part3_kernel_computation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part3_kernel_computation.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part3_kernel_computation.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -9,8 +9,6 @@
rho_kl_crust_mantle,beta_kl_crust_mantle, &
alpha_kl_crust_mantle,cijkl_kl_crust_mantle, &
accel_crust_mantle,b_displ_crust_mantle, &
-!ZN epsilondev_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,b_eps_trace_over_3_crust_mantle, &
deltat,displ_crust_mantle,hprime_xx,hprime_xxT,&
xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
@@ -37,8 +35,6 @@
rho_kl_inner_core,beta_kl_inner_core, &
alpha_kl_inner_core, &
accel_inner_core,b_displ_inner_core, &
-!ZN epsilondev_inner_core,b_epsilondev_inner_core, &
-!ZN eps_trace_over_3_inner_core,b_eps_trace_over_3_inner_core, &
deltat,displ_inner_core,hprime_xx,hprime_xxT,&
xix_inner_core,xiy_inner_core,xiz_inner_core,&
etax_inner_core,etay_inner_core,etaz_inner_core,&
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/check_simulation_stability.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/check_simulation_stability.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/check_simulation_stability.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -26,7 +26,6 @@
!=====================================================================
subroutine check_simulation_stability(it,displ_crust_mantle,displ_inner_core,displ_outer_core, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
SIMULATION_TYPE,OUTPUT_FILES,time_start,DT,t0,NSTEP, &
it_begin,it_end,NUMBER_OF_THIS_RUN,NUMBER_OF_RUNS,myrank)
@@ -45,11 +44,6 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE) :: displ_inner_core
real(kind=CUSTOM_REAL), dimension(NGLOB_OUTER_CORE) :: displ_outer_core
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STRAIN_ONLY) :: &
-!ZN eps_trace_over_3_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_OR_ATT) :: &
-!ZN epsilondev_crust_mantle
-
integer SIMULATION_TYPE
character(len=150) OUTPUT_FILES
@@ -58,7 +52,6 @@
! local parameters
! maximum of the norm of the displacement and of the potential in the fluid
real(kind=CUSTOM_REAL) Usolidnorm,Usolidnorm_all,Ufluidnorm,Ufluidnorm_all
-!ZN real(kind=CUSTOM_REAL) Strain_norm,Strain_norm_all,strain2_norm,strain2_norm_all
! names of the data files for all the processors in MPI
character(len=150) outputname
! timer MPI
@@ -101,15 +94,6 @@
call MPI_REDUCE(Ufluidnorm,Ufluidnorm_all,1,CUSTOM_MPI_TYPE,MPI_MAX,0, &
MPI_COMM_WORLD,ier)
-!ZN if (COMPUTE_AND_STORE_STRAIN) then
-!ZN Strain_norm = maxval(abs(eps_trace_over_3_crust_mantle))
-!ZN strain2_norm= maxval(abs(epsilondev_crust_mantle))
-!ZN call MPI_REDUCE(Strain_norm,Strain_norm_all,1,CUSTOM_MPI_TYPE,MPI_MAX,0, &
-!ZN MPI_COMM_WORLD,ier)
-!ZN call MPI_REDUCE(Strain2_norm,Strain2_norm_all,1,CUSTOM_MPI_TYPE,MPI_MAX,0, &
-!ZN MPI_COMM_WORLD,ier)
-!ZN endif
-
if(myrank == 0) then
write(IMAIN,*) 'Time step # ',it
@@ -126,11 +110,6 @@
endif
!! DK DK UNDO_ATT
-! if(COMPUTE_AND_STORE_STRAIN) then
-!ZN if(SIMULATION_TYPE == 1 .and. COMPUTE_AND_STORE_STRAIN) then
-!ZN write(IMAIN,*) 'Max of strain, eps_trace_over_3_crust_mantle =',Strain_norm_all
-!ZN write(IMAIN,*) 'Max of strain, epsilondev_crust_mantle =',Strain2_norm_all
-!ZN endif
! information about the current run only
SHOW_SEPARATE_RUN_INFORMATION = NUMBER_OF_RUNS > 1 .and. NUMBER_OF_THIS_RUN < NUMBER_OF_RUNS
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_element.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_element.F90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_element.F90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -32,8 +32,7 @@
wgll_cube, &
kappavstore,muvstore, &
ibool, &
-!ZN R_memory,epsilon_trace_over_3, &
- R_memory, & !ZN
+ R_memory, &
one_minus_sum_beta,vx,vy,vz,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,rho_s_H)
@@ -73,7 +72,6 @@
! memory variables R_ij are stored at the local rather than global level
! to allow for optimization of cache access by compiler
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
-!ZN real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilon_trace_over_3
integer :: vx,vy,vz,vnspec
real(kind=CUSTOM_REAL), dimension(vx, vy, vz, vnspec) :: one_minus_sum_beta
@@ -111,7 +109,6 @@
double precision factor,sx_l,sy_l,sz_l,gxl,gyl,gzl
double precision Hxxl,Hyyl,Hzzl,Hxyl,Hxzl,Hyzl
-!ZN integer :: ispec_strain
integer :: i,j,k
integer :: int_radius
integer :: iglob1
@@ -160,15 +157,6 @@
! compute deviatoric strain
if (COMPUTE_AND_STORE_STRAIN) then
templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-!ZN if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
-!ZN ispec_strain = 1
-!ZN!$OMP CRITICAL
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN!$OMP END CRITICAL
-!ZN else
-!ZN ispec_strain = ispec
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN endif
epsilondev_loc(1,i,j,k) = duxdxl - templ
epsilondev_loc(2,i,j,k) = duydyl - templ
epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
@@ -359,8 +347,7 @@
wgll_cube, &
kappavstore,kappahstore,muvstore,muhstore,eta_anisostore, &
ibool, &
-!ZN R_memory,epsilon_trace_over_3, &
- R_memory, & !ZN
+ R_memory, &
one_minus_sum_beta,vx,vy,vz,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,rho_s_H)
@@ -402,7 +389,6 @@
! memory variables R_ij are stored at the local rather than global level
! to allow for optimization of cache access by compiler
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
-!ZN real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilon_trace_over_3
integer vx,vy,vz,vnspec
@@ -456,7 +442,6 @@
double precision Hxxl,Hyyl,Hzzl,Hxyl,Hxzl,Hyzl
real(kind=CUSTOM_REAL) sigma_yx,sigma_zx,sigma_zy
-!ZN integer :: ispec_strain
integer :: i,j,k
integer :: int_radius
integer :: iglob1
@@ -505,15 +490,6 @@
! compute deviatoric strain
if (COMPUTE_AND_STORE_STRAIN) then
templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-!ZN if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
-!ZN ispec_strain = 1
-!ZN!$OMP CRITICAL
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN!$OMP END CRITICAL
-!ZN else
-!ZN ispec_strain = ispec
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN endif
epsilondev_loc(1,i,j,k) = duxdxl - templ
epsilondev_loc(2,i,j,k) = duydyl - templ
epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
@@ -897,7 +873,6 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
ibool, &
-!ZN R_memory,epsilon_trace_over_3, &
R_memory, &
one_minus_sum_beta,vx,vy,vz,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
@@ -940,7 +915,6 @@
! memory variables R_ij are stored at the local rather than global level
! to allow for optimization of cache access by compiler
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
-!ZN real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilon_trace_over_3
integer vx,vy,vz,vnspec
@@ -981,7 +955,6 @@
double precision Hxxl,Hyyl,Hzzl,Hxyl,Hxzl,Hyzl
real(kind=CUSTOM_REAL) sigma_yx,sigma_zx,sigma_zy
-!ZN integer :: ispec_strain
integer :: i,j,k
integer :: int_radius
integer :: iglob1
@@ -1030,15 +1003,6 @@
! compute deviatoric strain
if (COMPUTE_AND_STORE_STRAIN) then
templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-!ZN if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
-!ZN ispec_strain = 1
-!ZN!$OMP CRITICAL
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN!$OMP END CRITICAL
-!ZN else
-!ZN ispec_strain = ispec
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN endif
epsilondev_loc(1,i,j,k) = duxdxl - templ
epsilondev_loc(2,i,j,k) = duydyl - templ
epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
@@ -1296,7 +1260,6 @@
vx,vy,vz,vnspec,factor_common, &
alphaval,betaval,gammaval, &
c44store,muvstore, &
-!ZN epsilondev,epsilondev_loc)
epsilondev_loc_nplus1,epsilondev_loc)
! crust mantle
! update memory variables based upon the Runge-Kutta scheme
@@ -1335,7 +1298,6 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPECMAX_ANISO_MANTLE) :: c44store
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPECMAX_ISO_MANTLE) :: muvstore
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilondev
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
@@ -1362,9 +1324,6 @@
endif
do i_memory = 1,5
-!ZN R_memory(i_memory,i_SLS,:,:,:,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,:,:,:,ispec) &
-!ZN + factor_common_c44_muv(:,:,:) &
-!ZN * (betaval(i_SLS) * epsilondev(i_memory,:,:,:,ispec) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
R_memory(i_memory,i_SLS,:,:,:,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,:,:,:,ispec) &
+ factor_common_c44_muv(:,:,:) &
* (betaval(i_SLS) * epsilondev_loc(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc_nplus1(i_memory,:,:,:))
@@ -1381,8 +1340,7 @@
vx,vy,vz,vnspec,factor_common, &
alphaval,betaval,gammaval, &
muvstore, &
-!ZN epsilondev,epsilondev_loc)
- epsilondev_loc_nplus1,epsilondev_loc) !ZN
+ epsilondev_loc_nplus1,epsilondev_loc)
! inner core
! update memory variables based upon the Runge-Kutta scheme
@@ -1419,7 +1377,6 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: muvstore
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilondev
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
@@ -1441,8 +1398,7 @@
do i_memory = 1,5
R_memory(i_memory,i_SLS,:,:,:,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,:,:,:,ispec) &
+ muvstore(:,:,:,ispec) * factor_common_use(:,:,:) * &
-!ZN (betaval(i_SLS) * epsilondev(i_memory,:,:,:,ispec) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
- (betaval(i_SLS) * epsilondev_loc_nplus1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:)) !ZN
+ (betaval(i_SLS) * epsilondev_loc_nplus1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
enddo
enddo
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_Dev.F90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_Dev.F90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -52,7 +52,6 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
ibool,ispec_is_tiso, &
-!ZN R_memory,epsilondev,epsilon_trace_over_3,one_minus_sum_beta, &
R_memory,one_minus_sum_beta,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common,vx,vy,vz,vnspec)
@@ -103,8 +102,6 @@
! memory variables R_ij are stored at the local rather than global level
! to allow for optimization of cache access by compiler
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilondev
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilon_trace_over_3
integer :: vx,vy,vz,vnspec
@@ -160,7 +157,7 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: sum_terms
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1 !ZN
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
real(kind=CUSTOM_REAL) fac1,fac2,fac3
! for gravity
@@ -414,7 +411,6 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
ibool, &
-!ZN R_memory,epsilon_trace_over_3, &
R_memory, &
one_minus_sum_beta,vx,vy,vz,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
@@ -429,8 +425,7 @@
wgll_cube, &
kappavstore,muvstore, &
ibool, &
-!ZN R_memory,epsilon_trace_over_3, &
- R_memory, & !ZN
+ R_memory, &
one_minus_sum_beta,vx,vy,vz,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,rho_s_H)
@@ -443,8 +438,7 @@
wgll_cube, &
kappavstore,kappahstore,muvstore,muhstore,eta_anisostore, &
ibool, &
-!ZN R_memory,epsilon_trace_over_3, &
- R_memory, & !ZN
+ R_memory, &
one_minus_sum_beta,vx,vy,vz,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,rho_s_H)
@@ -576,15 +570,10 @@
vx,vy,vz,vnspec,factor_common, &
alphaval,betaval,gammaval, &
c44store,muvstore, &
-!ZN epsilondev,epsilondev_loc)
epsilondev_loc_nplus1,epsilondev_loc)
endif
- ! save deviatoric strain for Runge-Kutta scheme
-!ZN if(COMPUTE_AND_STORE_STRAIN) then
-!ZN epsilondev(:,:,:,:,ispec) = epsilondev_loc(:,:,:,:)
-!ZN endif
! end ispec loop
enddo
!$OMP enddo
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_noDev.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_crust_mantle_noDev.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -52,8 +52,7 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
ibool,ispec_is_tiso, &
-!ZN R_memory,epsilondev,epsilon_trace_over_3,one_minus_sum_beta, &
- R_memory,one_minus_sum_beta,deltat,veloc_crust_mantle, & !ZN
+ R_memory,one_minus_sum_beta,deltat,veloc_crust_mantle, &
alphaval,betaval,gammaval,factor_common,vx,vy,vz,vnspec)
implicit none
@@ -89,7 +88,7 @@
logical, dimension(NSPEC_CRUST_MANTLE) :: ispec_is_tiso
! displacement and acceleration
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle,accel_crust_mantle,veloc_crust_mantle !ZN
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle,accel_crust_mantle,veloc_crust_mantle
! memory variables for attenuation
! memory variables R_ij are stored at the local rather than global level
@@ -98,13 +97,12 @@
! variable sized array variables for one_minus_sum_beta and factor_common
integer vx, vy, vz, vnspec
- real(kind=CUSTOM_REAL) one_minus_sum_beta_use,minus_sum_beta,deltat !ZN
+ real(kind=CUSTOM_REAL) one_minus_sum_beta_use,minus_sum_beta,deltat
real(kind=CUSTOM_REAL), dimension(vx, vy, vz, vnspec) :: one_minus_sum_beta
! for attenuation
real(kind=CUSTOM_REAL) R_xx_val,R_yy_val
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilondev
! [alpha,beta,gamma]val reduced to N_SLS and factor_common to N_SLS*NUM_NODES
real(kind=CUSTOM_REAL), dimension(N_SLS) :: alphaval,betaval,gammaval
@@ -113,7 +111,6 @@
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
-!ZN real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilon_trace_over_3
! arrays with mesh parameters per slice
integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: ibool
@@ -383,12 +380,10 @@
else
ispec_strain = ispec
endif
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-!ZN epsilondev_loc(1,i,j,k) = duxdxl - epsilon_trace_over_3(i,j,k,ispec_strain)
-!ZN epsilondev_loc(2,i,j,k) = duydyl - epsilon_trace_over_3(i,j,k,ispec_strain)
- templ = ONE_THIRD * (duxdxl + duydyl + duzdzl) !ZN
- epsilondev_loc(1,i,j,k) = duxdxl - templ !ZN
- epsilondev_loc(2,i,j,k) = duydyl - templ !ZN
+
+ templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
+ epsilondev_loc(1,i,j,k) = duxdxl - templ
+ epsilondev_loc(2,i,j,k) = duydyl - templ
epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_Dev.F90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_Dev.F90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -47,7 +47,6 @@
hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
kappavstore,muvstore,ibool,idoubling, &
-!ZN c11store,c33store,c12store,c13store,c44store,R_memory,epsilondev,epsilon_trace_over_3,&
c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat,veloc_inner_core,&
alphaval,betaval,gammaval,factor_common, &
vx,vy,vz,vnspec)
@@ -85,8 +84,6 @@
real(kind=CUSTOM_REAL), dimension(N_SLS) :: alphaval,betaval,gammaval
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: R_memory
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilondev
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilon_trace_over_3
! array with derivatives of Lagrange polynomials and precalculated products
double precision, dimension(NGLLX,NGLLY,NGLLZ) :: wgll_cube
@@ -146,7 +143,7 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: sum_terms
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1 !ZN
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
real(kind=CUSTOM_REAL) xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
real(kind=CUSTOM_REAL) duxdxl,duxdyl,duxdzl,duydxl,duydyl,duydzl,duzdxl,duzdyl,duzdzl
@@ -408,21 +405,20 @@
duzdxl_plus_duxdzl = duzdxl + duxdzl
duzdyl_plus_duydzl = duzdyl + duydzl
-!ZN ! compute deviatoric strain
-!ZN if (COMPUTE_AND_STORE_STRAIN) then
-!ZN if(NSPEC_INNER_CORE_STRAIN_ONLY == 1) then
-!ZN ispec_strain = 1
-!ZN else
-!ZN ispec_strain = ispec
-!ZN endif
-!ZN templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = templ
-!ZN epsilondev_loc(1,i,j,k) = duxdxl - templ
-!ZN epsilondev_loc(2,i,j,k) = duydyl - templ
-!ZN epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
-!ZN epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
-!ZN epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
-!ZN endif
+ if (COMPUTE_AND_STORE_STRAIN) then
+ if(NSPEC_INNER_CORE_STRAIN_ONLY == 1) then
+ ispec_strain = 1
+ else
+ ispec_strain = ispec
+ endif
+ templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
+ epsilon_trace_over_3(i,j,k,ispec_strain) = templ
+ epsilondev_loc(1,i,j,k) = duxdxl - templ
+ epsilondev_loc(2,i,j,k) = duydyl - templ
+ epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
+ epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
+ epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
+ endif
if(ATTENUATION_VAL) then
minus_sum_beta = one_minus_sum_beta(i,j,k,ispec) - 1.0
@@ -759,17 +755,11 @@
vx,vy,vz,vnspec,factor_common, &
alphaval,betaval,gammaval, &
muvstore, &
-!ZN epsilondev,epsilondev_loc)
- epsilondev_loc_nplus1,epsilondev_loc) !ZN
+ epsilondev_loc_nplus1,epsilondev_loc)
endif
-!ZN ! save deviatoric strain for Runge-Kutta scheme
-!ZN if(COMPUTE_AND_STORE_STRAIN) then
-!ZN epsilondev(:,:,:,:,ispec) = epsilondev_loc(:,:,:,:)
-!ZN endif
-
endif ! end test to exclude fictitious elements in central cube
enddo ! spectral element loop
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -48,7 +48,6 @@
hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
kappavstore,muvstore,ibool,idoubling, &
-!ZN c11store,c33store,c12store,c13store,c44store,R_memory,epsilondev,epsilon_trace_over_3,&
c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat,veloc_inner_core,&
alphaval,betaval,gammaval,factor_common, &
vx,vy,vz,vnspec)
@@ -82,9 +81,7 @@
real(kind=CUSTOM_REAL), dimension(NGLLX, NGLLY, NGLLZ) :: factor_common_use
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: R_memory
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilondev
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc,epsilondev_loc_nplus1 !ZN
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilon_trace_over_3
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc,epsilondev_loc_nplus1
! array with the local to global mapping per slice
integer, dimension(NSPEC_INNER_CORE) :: idoubling
@@ -341,12 +338,9 @@
else
ispec_strain = ispec
endif
-!ZN epsilon_trace_over_3(i,j,k,ispec_strain) = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-!ZN epsilondev_loc(1,i,j,k) = duxdxl - epsilon_trace_over_3(i,j,k,ispec_strain)
-!ZN epsilondev_loc(2,i,j,k) = duydyl - epsilon_trace_over_3(i,j,k,ispec_strain)
- templ = ONE_THIRD * (duxdxl + duydyl + duzdzl) !ZN
- epsilondev_loc(1,i,j,k) = duxdxl - templ !ZN
- epsilondev_loc(2,i,j,k) = duydyl - templ !ZN
+ templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
+ epsilondev_loc(1,i,j,k) = duxdxl - templ
+ epsilondev_loc(2,i,j,k) = duydyl - templ
epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
@@ -663,25 +657,12 @@
R_memory(i_memory,i_SLS,:,:,:,ispec) + muvstore(:,:,:,ispec) * &
factor_common_use * &
(betaval(i_SLS) * &
-!ZN epsilondev(i_memory,:,:,:,ispec) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
- epsilondev_loc_nplus1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:)) !ZN
+ epsilondev_loc_nplus1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
enddo
enddo
endif
-!ZN if (COMPUTE_AND_STORE_STRAIN) then
-!ZN! save deviatoric strain for Runge-Kutta scheme
-!ZN !epsilondev(:,:,:,:,ispec) = epsilondev_loc(:,:,:,:)
-!ZN do k=1,NGLLZ
-!ZN do j=1,NGLLY
-!ZN do i=1,NGLLX
-!ZN epsilondev(:,i,j,k,ispec) = epsilondev_loc(:,i,j,k)
-!ZN enddo
-!ZN enddo
-!ZN enddo
-!ZN endif
-
endif ! end test to exclude fictitious elements in central cube
enddo ! spectral element loop
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_kernels.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_kernels.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -30,8 +30,6 @@
rho_kl_crust_mantle,beta_kl_crust_mantle, &
alpha_kl_crust_mantle,cijkl_kl_crust_mantle, &
accel_crust_mantle,b_displ_crust_mantle, &
-!ZN epsilondev_crust_mantle,b_epsilondev_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,b_eps_trace_over_3_crust_mantle, &
deltat,displ_crust_mantle,hprime_xx,hprime_xxT,&
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz)
@@ -54,16 +52,6 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE_ADJOINT) :: &
b_displ_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_OR_ATT) :: &
-!ZN epsilondev_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
-!ZN b_epsilondev_crust_mantle
-
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STRAIN_ONLY) :: &
-!ZN eps_trace_over_3_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
-!ZN b_eps_trace_over_3_crust_mantle
-
real(kind=CUSTOM_REAL) deltat
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLX) :: hprime_xx,hprime_xxT
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: &
@@ -114,17 +102,12 @@
+ accel_crust_mantle(2,iglob) * b_displ_crust_mantle(2,iglob) &
+ accel_crust_mantle(3,iglob) * b_displ_crust_mantle(3,iglob) )
-!ZN epsilondev_loc(:) = epsilondev_crust_mantle(:,i,j,k,ispec)
-!ZN b_epsilondev_loc(:) = b_epsilondev_crust_mantle(:,i,j,k,ispec)
epsilondev_loc(:) = epsilondev_loc_matrix(:,i,j,k)
b_epsilondev_loc(:) = b_epsilondev_loc_matrix(:,i,j,k)
! For anisotropic kernels
if (ANISOTROPIC_KL) then
-!ZN call compute_strain_product(prod,eps_trace_over_3_crust_mantle(i,j,k,ispec),epsilondev_loc, &
-!ZN b_eps_trace_over_3_crust_mantle(i,j,k,ispec),b_epsilondev_loc)
-
call compute_strain_product(prod,eps_trace_over_3_loc_matrix(i,j,k),epsilondev_loc, &
b_eps_trace_over_3_loc_matrix(i,j,k),b_epsilondev_loc)
cijkl_kl_crust_mantle(:,i,j,k,ispec) = cijkl_kl_crust_mantle(:,i,j,k,ispec) + deltat * prod(:)
@@ -142,9 +125,6 @@
! kernel for bulk modulus, see e.g. Tromp et al. (2005), equation (18)
! note: multiplication with kappa(x) will be done after the time loop
-!ZN alpha_kl_crust_mantle(i,j,k,ispec) = alpha_kl_crust_mantle(i,j,k,ispec) &
-!ZN + deltat * (9 * eps_trace_over_3_crust_mantle(i,j,k,ispec) &
-!ZN * b_eps_trace_over_3_crust_mantle(i,j,k,ispec))
alpha_kl_crust_mantle(i,j,k,ispec) = alpha_kl_crust_mantle(i,j,k,ispec) &
+ deltat * (9 * eps_trace_over_3_loc_matrix(i,j,k) &
* b_eps_trace_over_3_loc_matrix(i,j,k))
@@ -473,8 +453,6 @@
rho_kl_inner_core,beta_kl_inner_core, &
alpha_kl_inner_core, &
accel_inner_core,b_displ_inner_core, &
-!ZN epsilondev_inner_core,b_epsilondev_inner_core, &
-!ZN eps_trace_over_3_inner_core,b_eps_trace_over_3_inner_core, &
deltat,displ_inner_core,hprime_xx,hprime_xxT,&
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz)
@@ -494,16 +472,6 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE_ADJOINT) :: &
b_displ_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_OR_ATT) :: &
-!ZN epsilondev_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: &
-!ZN b_epsilondev_inner_core
-
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STRAIN_ONLY) :: &
-!ZN eps_trace_over_3_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: &
-!ZN b_eps_trace_over_3_inner_core
-
real(kind=CUSTOM_REAL) deltat
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLX) :: hprime_xx,hprime_xxT
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: &
@@ -542,9 +510,6 @@
+ accel_inner_core(2,iglob) * b_displ_inner_core(2,iglob) &
+ accel_inner_core(3,iglob) * b_displ_inner_core(3,iglob) )
-!ZN epsilondev_loc(:) = epsilondev_inner_core(:,i,j,k,ispec)
-!ZN b_epsilondev_loc(:) = b_epsilondev_inner_core(:,i,j,k,ispec)
-
epsilondev_loc(:) = epsilondev_loc_matrix(:,i,j,k)
b_epsilondev_loc(:) = b_epsilondev_loc_matrix(:,i,j,k)
@@ -554,8 +519,6 @@
+ 2 * (epsilondev_loc(3)*b_epsilondev_loc(3) + epsilondev_loc(4)*b_epsilondev_loc(4) &
+ epsilondev_loc(5)*b_epsilondev_loc(5)) )
-!ZN alpha_kl_inner_core(i,j,k,ispec) = alpha_kl_inner_core(i,j,k,ispec) &
-!ZN + deltat * (9 * eps_trace_over_3_inner_core(i,j,k,ispec) * b_eps_trace_over_3_inner_core(i,j,k,ispec))
alpha_kl_inner_core(i,j,k,ispec) = alpha_kl_inner_core(i,j,k,ispec) &
+ deltat * (9 * eps_trace_over_3_loc_matrix(i,j,k) * b_eps_trace_over_3_loc_matrix(i,j,k))
enddo
@@ -1053,327 +1016,3 @@
end subroutine compute_kernels_hessian
-
-!=====================================================================
-
- subroutine compute_strain_crust_mantle(displ_crust_mantle,hprime_xx,hprime_yy,hprime_zz,ibool,&
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz, &
- epsilondev,epsilon_trace_over_3)
-
- implicit none
-
- include "constants.h"
-
-! include values created by the mesher
-! done for performance only using static allocation to allow for loop unrolling
- include "OUTPUT_FILES/values_from_mesher.h"
-
-! array with derivatives of Lagrange polynomials and precalculated products
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLX) :: hprime_xx
- real(kind=CUSTOM_REAL), dimension(NGLLY,NGLLY) :: hprime_yy
- real(kind=CUSTOM_REAL), dimension(NGLLZ,NGLLZ) :: hprime_zz
-
-
-! arrays with mesh parameters per slice
- integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: ibool
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: &
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz
-
- real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilon_trace_over_3
-
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilondev
-
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle
-
-!local parameters
- integer ispec,iglob,ispec_strain
- integer i,j,k,l
-
- 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) hp1,hp2,hp3
-
- real(kind=CUSTOM_REAL) xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
-
- real(kind=CUSTOM_REAL) duxdxl,duxdyl,duxdzl,duydxl,duydyl,duydzl,duzdxl,duzdyl,duzdzl
-
- real(kind=CUSTOM_REAL) duxdxl_plus_duydyl,duxdxl_plus_duzdzl,duydyl_plus_duzdzl
- real(kind=CUSTOM_REAL) duxdyl_plus_duydxl,duzdxl_plus_duxdzl,duzdyl_plus_duydzl
-
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
-
-
- do ispec = 1,NSPEC_CRUST_MANTLE
-
- do k=1,NGLLZ
- do j=1,NGLLY
- do i=1,NGLLX
-
- 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
-
- do l=1,NGLLX
- hp1 = hprime_xx(i,l)
- iglob = ibool(l,j,k,ispec)
- tempx1l = tempx1l + displ_crust_mantle(1,iglob)*hp1
- tempy1l = tempy1l + displ_crust_mantle(2,iglob)*hp1
- tempz1l = tempz1l + displ_crust_mantle(3,iglob)*hp1
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ enddo
-
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ do l=1,NGLLY
- hp2 = hprime_yy(j,l)
- iglob = ibool(i,l,k,ispec)
- tempx2l = tempx2l + displ_crust_mantle(1,iglob)*hp2
- tempy2l = tempy2l + displ_crust_mantle(2,iglob)*hp2
- tempz2l = tempz2l + displ_crust_mantle(3,iglob)*hp2
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ enddo
-
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ do l=1,NGLLZ
- hp3 = hprime_zz(k,l)
- iglob = ibool(i,j,l,ispec)
- tempx3l = tempx3l + displ_crust_mantle(1,iglob)*hp3
- tempy3l = tempy3l + displ_crust_mantle(2,iglob)*hp3
- tempz3l = tempz3l + displ_crust_mantle(3,iglob)*hp3
- enddo
-
-! get derivatives of ux, uy and uz with respect to x, y and z
-
- xixl = xix(i,j,k,ispec)
- xiyl = xiy(i,j,k,ispec)
- xizl = xiz(i,j,k,ispec)
- etaxl = etax(i,j,k,ispec)
- etayl = etay(i,j,k,ispec)
- etazl = etaz(i,j,k,ispec)
- gammaxl = gammax(i,j,k,ispec)
- gammayl = gammay(i,j,k,ispec)
- gammazl = gammaz(i,j,k,ispec)
-
-! compute the jacobian
- jacobianl = 1._CUSTOM_REAL / (xixl*(etayl*gammazl-etazl*gammayl) &
- - xiyl*(etaxl*gammazl-etazl*gammaxl) &
- + xizl*(etaxl*gammayl-etayl*gammaxl))
-
- duxdxl = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
- duxdyl = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
- duxdzl = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
-
- duydxl = xixl*tempy1l + etaxl*tempy2l + gammaxl*tempy3l
- duydyl = xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l
- duydzl = xizl*tempy1l + etazl*tempy2l + gammazl*tempy3l
-
- duzdxl = xixl*tempz1l + etaxl*tempz2l + gammaxl*tempz3l
- duzdyl = xiyl*tempz1l + etayl*tempz2l + gammayl*tempz3l
- duzdzl = xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l
-
-! precompute some sums to save CPU time
- duxdxl_plus_duydyl = duxdxl + duydyl
- duxdxl_plus_duzdzl = duxdxl + duzdzl
- duydyl_plus_duzdzl = duydyl + duzdzl
- duxdyl_plus_duydxl = duxdyl + duydxl
- duzdxl_plus_duxdzl = duzdxl + duxdzl
- duzdyl_plus_duydzl = duzdyl + duydzl
-
-! compute deviatoric strain
- if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
- ispec_strain = 1
- else
- ispec_strain = ispec
- endif
- epsilon_trace_over_3(i,j,k,ispec_strain) = ONE_THIRD * (duxdxl + duydyl + duzdzl)
- epsilondev_loc(1,i,j,k) = duxdxl - epsilon_trace_over_3(i,j,k,ispec_strain)
- epsilondev_loc(2,i,j,k) = duydyl - epsilon_trace_over_3(i,j,k,ispec_strain)
- epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
- epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
- epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
-
- enddo ! NGLLX
- enddo ! NGLLY
- enddo ! NGLLZ
-
- !epsilondev(:,:,:,:,ispec) = epsilondev_loc(:,:,:,:)
- do k=1,NGLLZ
- do j=1,NGLLY
- do i=1,NGLLX
- epsilondev(:,i,j,k,ispec) = epsilondev_loc(:,i,j,k)
- enddo
- enddo
- enddo
-
- enddo ! spectral element loop NSPEC_CRUST_MANTLE
-
- end subroutine compute_strain_crust_mantle
-
-
-!=====================================================================
-
- subroutine compute_strain_inner_core(displ_inner_core,hprime_xx,hprime_yy,hprime_zz,ibool,&
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz, &
- epsilondev,epsilon_trace_over_3)
-
- implicit none
-
- include "constants.h"
-
-! include values created by the mesher
-! done for performance only using static allocation to allow for loop unrolling
- include "OUTPUT_FILES/values_from_mesher.h"
-
-! array with derivatives of Lagrange polynomials and precalculated products
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLX) :: hprime_xx
- real(kind=CUSTOM_REAL), dimension(NGLLY,NGLLY) :: hprime_yy
- real(kind=CUSTOM_REAL), dimension(NGLLZ,NGLLZ) :: hprime_zz
-
-
-! arrays with mesh parameters per slice
- integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: ibool
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: &
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz
-
- real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilon_trace_over_3
-
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilondev
-
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE) :: displ_inner_core
-
-!local parameters
- integer ispec,iglob,ispec_strain
- integer i,j,k,l
-
- 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) hp1,hp2,hp3
-
- real(kind=CUSTOM_REAL) xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
-
- real(kind=CUSTOM_REAL) duxdxl,duxdyl,duxdzl,duydxl,duydyl,duydzl,duzdxl,duzdyl,duzdzl
-
- real(kind=CUSTOM_REAL) duxdxl_plus_duydyl,duxdxl_plus_duzdzl,duydyl_plus_duzdzl
- real(kind=CUSTOM_REAL) duxdyl_plus_duydxl,duzdxl_plus_duxdzl,duzdyl_plus_duydzl
-
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
-
-
- do ispec = 1,NSPEC_INNER_CORE
-
- do k=1,NGLLZ
- do j=1,NGLLY
- do i=1,NGLLX
-
- 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
-
- do l=1,NGLLX
- hp1 = hprime_xx(i,l)
- iglob = ibool(l,j,k,ispec)
- tempx1l = tempx1l + displ_inner_core(1,iglob)*hp1
- tempy1l = tempy1l + displ_inner_core(2,iglob)*hp1
- tempz1l = tempz1l + displ_inner_core(3,iglob)*hp1
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ enddo
-
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ do l=1,NGLLY
- hp2 = hprime_yy(j,l)
- iglob = ibool(i,l,k,ispec)
- tempx2l = tempx2l + displ_inner_core(1,iglob)*hp2
- tempy2l = tempy2l + displ_inner_core(2,iglob)*hp2
- tempz2l = tempz2l + displ_inner_core(3,iglob)*hp2
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ enddo
-
-!!! can merge these loops because NGLLX = NGLLY = NGLLZ do l=1,NGLLZ
- hp3 = hprime_zz(k,l)
- iglob = ibool(i,j,l,ispec)
- tempx3l = tempx3l + displ_inner_core(1,iglob)*hp3
- tempy3l = tempy3l + displ_inner_core(2,iglob)*hp3
- tempz3l = tempz3l + displ_inner_core(3,iglob)*hp3
- enddo
-
-! get derivatives of ux, uy and uz with respect to x, y and z
-
- xixl = xix(i,j,k,ispec)
- xiyl = xiy(i,j,k,ispec)
- xizl = xiz(i,j,k,ispec)
- etaxl = etax(i,j,k,ispec)
- etayl = etay(i,j,k,ispec)
- etazl = etaz(i,j,k,ispec)
- gammaxl = gammax(i,j,k,ispec)
- gammayl = gammay(i,j,k,ispec)
- gammazl = gammaz(i,j,k,ispec)
-
-! compute the jacobian
- jacobianl = 1._CUSTOM_REAL / (xixl*(etayl*gammazl-etazl*gammayl) &
- - xiyl*(etaxl*gammazl-etazl*gammaxl) &
- + xizl*(etaxl*gammayl-etayl*gammaxl))
-
- duxdxl = xixl*tempx1l + etaxl*tempx2l + gammaxl*tempx3l
- duxdyl = xiyl*tempx1l + etayl*tempx2l + gammayl*tempx3l
- duxdzl = xizl*tempx1l + etazl*tempx2l + gammazl*tempx3l
-
- duydxl = xixl*tempy1l + etaxl*tempy2l + gammaxl*tempy3l
- duydyl = xiyl*tempy1l + etayl*tempy2l + gammayl*tempy3l
- duydzl = xizl*tempy1l + etazl*tempy2l + gammazl*tempy3l
-
- duzdxl = xixl*tempz1l + etaxl*tempz2l + gammaxl*tempz3l
- duzdyl = xiyl*tempz1l + etayl*tempz2l + gammayl*tempz3l
- duzdzl = xizl*tempz1l + etazl*tempz2l + gammazl*tempz3l
-
-! precompute some sums to save CPU time
- duxdxl_plus_duydyl = duxdxl + duydyl
- duxdxl_plus_duzdzl = duxdxl + duzdzl
- duydyl_plus_duzdzl = duydyl + duzdzl
- duxdyl_plus_duydxl = duxdyl + duydxl
- duzdxl_plus_duxdzl = duzdxl + duxdzl
- duzdyl_plus_duydzl = duzdyl + duydzl
-
-! compute deviatoric strain
- if(NSPEC_INNER_CORE_STRAIN_ONLY == 1) then
- ispec_strain = 1
- else
- ispec_strain = ispec
- endif
- epsilon_trace_over_3(i,j,k,ispec_strain) = ONE_THIRD * (duxdxl + duydyl + duzdzl)
- epsilondev_loc(1,i,j,k) = duxdxl - epsilon_trace_over_3(i,j,k,ispec_strain)
- epsilondev_loc(2,i,j,k) = duydyl - epsilon_trace_over_3(i,j,k,ispec_strain)
- epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
- epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
- epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
-
- enddo ! NGLLX
- enddo ! NGLLY
- enddo ! NGLLZ
-
- !epsilondev(:,:,:,:,ispec) = epsilondev_loc(:,:,:,:)
- do k=1,NGLLZ
- do j=1,NGLLY
- do i=1,NGLLX
- epsilondev(:,i,j,k,ispec) = epsilondev_loc(:,i,j,k)
- enddo
- enddo
- enddo
-
- enddo ! spectral element loop NSPEC_CRUST_MANTLE
-
- end subroutine compute_strain_inner_core
-
-
-
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_seismograms.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_seismograms.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/compute_seismograms.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -191,7 +191,6 @@
!
subroutine compute_seismograms_adjoint(NSOURCES,nrec_local,displ_crust_mantle, &
-!ZN eps_trace_over_3_crust_mantle,epsilondev_crust_mantle, &
nu_source,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
hxir_store,hetar_store,hgammar_store, &
hpxir_store,hpetar_store,hpgammar_store, &
@@ -213,10 +212,6 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: &
displ_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STRAIN_ONLY) :: &
-!ZN eps_trace_over_3_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_OR_ATT) :: &
-!ZN epsilondev_crust_mantle
double precision, dimension(NDIM,NDIM,NSOURCES) :: nu_source
double precision, dimension(NSOURCES) :: Mxx,Myy,Mzz,Mxy,Mxz,Myz
@@ -306,13 +301,6 @@
uyd = uyd + dble(displ_crust_mantle(2,iglob))*hlagrange
uzd = uzd + dble(displ_crust_mantle(3,iglob))*hlagrange
-!ZN eps_trace = eps_trace + dble(eps_trace_over_3_crust_mantle(i,j,k,ispec_selected_source(irec)))*hlagrange
-!ZN dxx = dxx + dble(epsilondev_crust_mantle(1,i,j,k,ispec_selected_source(irec)))*hlagrange
-!ZN dyy = dyy + dble(epsilondev_crust_mantle(2,i,j,k,ispec_selected_source(irec)))*hlagrange
-!ZN dxy = dxy + dble(epsilondev_crust_mantle(3,i,j,k,ispec_selected_source(irec)))*hlagrange
-!ZN dxz = dxz + dble(epsilondev_crust_mantle(4,i,j,k,ispec_selected_source(irec)))*hlagrange
-!ZN dyz = dyz + dble(epsilondev_crust_mantle(5,i,j,k,ispec_selected_source(irec)))*hlagrange
-
eps_trace = eps_trace + dble(eps_trace_over_3_loc_crust_mantle(i,j,k))*hlagrange
dxx = dxx + dble(epsilondev_loc_crust_mantle(1,i,j,k))*hlagrange
dyy = dyy + dble(epsilondev_loc_crust_mantle(2,i,j,k))*hlagrange
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/read_forward_arrays.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/read_forward_arrays.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/read_forward_arrays.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -32,13 +32,11 @@
displ_inner_core,veloc_inner_core,accel_inner_core, &
displ_outer_core,veloc_outer_core,accel_outer_core, &
R_memory_crust_mantle,R_memory_inner_core, &
-!ZN epsilondev_crust_mantle,epsilondev_inner_core, &
A_array_rotation,B_array_rotation, &
b_displ_crust_mantle,b_veloc_crust_mantle,b_accel_crust_mantle, &
b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
b_R_memory_crust_mantle,b_R_memory_inner_core, &
-!ZN b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
! reads in saved wavefields
@@ -63,12 +61,8 @@
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: &
R_memory_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_OR_ATT) :: &
-!ZN epsilondev_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: &
R_memory_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_OR_ATT) :: &
-!ZN epsilondev_inner_core
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE_ROTATION) :: &
A_array_rotation,B_array_rotation
@@ -82,13 +76,9 @@
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_AND_ATT) :: &
b_R_memory_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
-!ZN b_epsilondev_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_AND_ATT) :: &
b_R_memory_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: &
-!ZN b_epsilondev_inner_core
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE_ROT_ADJOINT) :: &
b_A_array_rotation,b_B_array_rotation
@@ -125,8 +115,6 @@
read(55) displ_outer_core
read(55) veloc_outer_core
read(55) accel_outer_core
-!ZN read(55) epsilondev_crust_mantle
-!ZN read(55) epsilondev_inner_core
read(55) A_array_rotation
read(55) B_array_rotation
read(55) R_memory_crust_mantle
@@ -145,8 +133,6 @@
b_displ_outer_core = 0._CUSTOM_REAL
b_veloc_outer_core = 0._CUSTOM_REAL
b_accel_outer_core = 0._CUSTOM_REAL
-!ZN b_epsilondev_crust_mantle = 0._CUSTOM_REAL
-!ZN b_epsilondev_inner_core = 0._CUSTOM_REAL
if (ROTATION_VAL) then
b_A_array_rotation = 0._CUSTOM_REAL
b_B_array_rotation = 0._CUSTOM_REAL
@@ -168,7 +154,6 @@
b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
b_R_memory_crust_mantle,b_R_memory_inner_core, &
-!ZN b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
! reads in saved wavefields
@@ -190,13 +175,9 @@
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_AND_ATT) :: &
b_R_memory_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: &
-!ZN b_epsilondev_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_AND_ATT) :: &
b_R_memory_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: &
-!ZN b_epsilondev_inner_core
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE_ROT_ADJOINT) :: &
b_A_array_rotation,b_B_array_rotation
@@ -217,8 +198,6 @@
read(55) b_displ_outer_core
read(55) b_veloc_outer_core
read(55) b_accel_outer_core
-!ZN read(55) b_epsilondev_crust_mantle
-!ZN read(55) b_epsilondev_inner_core
if (ROTATION_VAL) then
read(55) b_A_array_rotation
read(55) b_B_array_rotation
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/save_forward_arrays.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/save_forward_arrays.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/save_forward_arrays.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -31,7 +31,6 @@
displ_inner_core,veloc_inner_core,accel_inner_core, &
displ_outer_core,veloc_outer_core,accel_outer_core, &
R_memory_crust_mantle,R_memory_inner_core, &
-!ZN epsilondev_crust_mantle,epsilondev_inner_core, &
A_array_rotation,B_array_rotation, &
LOCAL_PATH)
@@ -55,12 +54,8 @@
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: &
R_memory_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_OR_ATT) :: &
-!ZN epsilondev_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: &
R_memory_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_OR_ATT) :: &
-!ZN epsilondev_inner_core
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_OUTER_CORE_ROTATION) :: &
A_array_rotation,B_array_rotation
@@ -84,8 +79,6 @@
write(55) displ_outer_core
write(55) veloc_outer_core
write(55) accel_outer_core
-!ZN write(55) epsilondev_crust_mantle
-!ZN write(55) epsilondev_inner_core
write(55) A_array_rotation
write(55) B_array_rotation
write(55) R_memory_crust_mantle
@@ -106,8 +99,6 @@
write(55) displ_outer_core
write(55) veloc_outer_core
write(55) accel_outer_core
-!ZN write(55) epsilondev_crust_mantle
-!ZN write(55) epsilondev_inner_core
if (ROTATION_VAL) then
write(55) A_array_rotation
write(55) B_array_rotation
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/specfem3D.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/specfem3D.F90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/specfem3D.F90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -395,25 +395,17 @@
real(kind=CUSTOM_REAL), dimension(N_SLS,ATT1,ATT2,ATT3,ATT5) :: factor_common_inner_core
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_OR_ATT) :: epsilondev_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STRAIN_ONLY) :: eps_trace_over_3_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_crust_mantle
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: R_memory_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_OR_ATT) :: epsilondev_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STRAIN_ONLY) :: eps_trace_over_3_inner_core
! ADJOINT
real(kind=CUSTOM_REAL), dimension(N_SLS) :: b_alphaval, b_betaval, b_gammaval
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STR_AND_ATT) :: b_R_memory_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: b_epsilondev_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ADJOINT) :: b_eps_trace_over_3_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_STR_AND_ATT) :: b_R_memory_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: b_epsilondev_inner_core
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ADJOINT) :: b_eps_trace_over_3_inner_core
! for matching with central cube in inner core
integer, dimension(:), allocatable :: sender_from_slices_to_cube
@@ -2033,18 +2025,6 @@
beta_kl_outer_core(:,:,:,:) = 0._CUSTOM_REAL
endif
- ! initialize to be on the save side for adjoint runs SIMULATION_TYPE==2
-!ZN eps_trace_over_3_crust_mantle(:,:,:,:) = 0._CUSTOM_REAL
-!ZN epsilondev_crust_mantle(:,:,:,:,:) = 0._CUSTOM_REAL
-!ZN eps_trace_over_3_inner_core(:,:,:,:) = 0._CUSTOM_REAL
-!ZN epsilondev_inner_core(:,:,:,:,:) = 0._CUSTOM_REAL
-!ZN if(FIX_UNDERFLOW_PROBLEM) then
-!ZN eps_trace_over_3_crust_mantle(:,:,:,:) = VERYSMALLVAL
-!ZN epsilondev_crust_mantle(:,:,:,:,:) = VERYSMALLVAL
-!ZN eps_trace_over_3_inner_core(:,:,:,:) = VERYSMALLVAL
-!ZN epsilondev_inner_core(:,:,:,:,:) = VERYSMALLVAL
-!ZN endif
-
if (COMPUTE_AND_STORE_STRAIN) then
if(MOVIE_VOLUME .and. (MOVIE_VOLUME_TYPE == 2 .or. MOVIE_VOLUME_TYPE == 3)) then
Iepsilondev_crust_mantle(:,:,:,:,:) = 0._CUSTOM_REAL
@@ -2089,13 +2069,11 @@
displ_inner_core,veloc_inner_core,accel_inner_core, &
displ_outer_core,veloc_outer_core,accel_outer_core, &
R_memory_crust_mantle,R_memory_inner_core, &
-!ZN epsilondev_crust_mantle,epsilondev_inner_core, &
A_array_rotation,B_array_rotation, &
b_displ_crust_mantle,b_veloc_crust_mantle,b_accel_crust_mantle, &
b_displ_inner_core,b_veloc_inner_core,b_accel_inner_core, &
b_displ_outer_core,b_veloc_outer_core,b_accel_outer_core, &
b_R_memory_crust_mantle,b_R_memory_inner_core, &
-!ZN b_epsilondev_crust_mantle,b_epsilondev_inner_core, &
b_A_array_rotation,b_B_array_rotation,LOCAL_PATH)
endif
@@ -2318,30 +2296,6 @@
include "part1_undo_att.f90"
-!ZN call compute_strain_crust_mantle(displ_crust_mantle,hprime_xx,hprime_yy,hprime_zz,ibool_crust_mantle,&
-!ZN xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
-!ZN etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-!ZN gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-!ZN epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
-
-!ZN call compute_strain_crust_mantle(b_displ_crust_mantle,hprime_xx,hprime_yy,hprime_zz,ibool_crust_mantle,&
-!ZN xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
-!ZN etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
-!ZN gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle, &
-!ZN b_epsilondev_crust_mantle,b_eps_trace_over_3_crust_mantle)
-
-!ZN call compute_strain_inner_core(displ_inner_core,hprime_xx,hprime_yy,hprime_zz,ibool_inner_core,&
-!ZN xix_inner_core,xiy_inner_core,xiz_inner_core,&
-!ZN etax_inner_core,etay_inner_core,etaz_inner_core,&
-!ZN gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-!ZN epsilondev_inner_core,eps_trace_over_3_inner_core)
-
-!ZN call compute_strain_inner_core(b_displ_inner_core,hprime_xx,hprime_yy,hprime_zz,ibool_inner_core,&
-!ZN xix_inner_core,xiy_inner_core,xiz_inner_core,&
-!ZN etax_inner_core,etay_inner_core,etaz_inner_core,&
-!ZN gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-!ZN b_epsilondev_inner_core,b_eps_trace_over_3_inner_core)
-
include "part3_kernel_computation.f90"
enddo
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/write_movie_volume.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/write_movie_volume.f90 2013-06-15 22:36:58 UTC (rev 22317)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/specfem3D/write_movie_volume.f90 2013-06-16 06:27:22 UTC (rev 22318)
@@ -254,17 +254,12 @@
end subroutine write_movie_volume_mesh
! ---------------------------------------------
-
-!ZN subroutine write_movie_volume_strains(myrank,npoints_3dmovie,LOCAL_PATH,MOVIE_VOLUME_TYPE,MOVIE_COARSE, &
-!ZN it,eps_trace_over_3_crust_mantle,epsilondev_crust_mantle,muvstore_crust_mantle_3dmovie, &
-!ZN mask_3dmovie,nu_3dmovie)
-
- subroutine write_movie_volume_strains(myrank,npoints_3dmovie,LOCAL_PATH,MOVIE_VOLUME_TYPE,MOVIE_COARSE, & !ZN
- it,muvstore_crust_mantle_3dmovie,mask_3dmovie,nu_3dmovie,& !ZN
+ subroutine write_movie_volume_strains(myrank,npoints_3dmovie,LOCAL_PATH,MOVIE_VOLUME_TYPE,MOVIE_COARSE, &
+ it,muvstore_crust_mantle_3dmovie,mask_3dmovie,nu_3dmovie,&
hprime_xx,hprime_yy,hprime_zz,ibool_crust_mantle,&
xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
- gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,displ_crust_mantle) !ZN
+ gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,displ_crust_mantle)
implicit none
@@ -274,8 +269,6 @@
! input
integer :: myrank,npoints_3dmovie,MOVIE_VOLUME_TYPE,it
-!ZN real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: eps_trace_over_3_crust_mantle
-!ZN real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: epsilondev_crust_mantle
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_crust_mantle
@@ -345,13 +338,6 @@
if(mask_3dmovie(i,j,k,ispec)) then
ipoints_3dmovie=ipoints_3dmovie+1
muv_3dmovie=muvstore_crust_mantle_3dmovie(i,j,k,ispec)
-!ZN eps_loc(1,1)=eps_trace_over_3_crust_mantle(i,j,k,ispec) + epsilondev_crust_mantle(1,i,j,k,ispec)
-!ZN eps_loc(2,2)=eps_trace_over_3_crust_mantle(i,j,k,ispec) + epsilondev_crust_mantle(2,i,j,k,ispec)
-!ZN eps_loc(3,3)=eps_trace_over_3_crust_mantle(i,j,k,ispec)- &
-!ZN epsilondev_crust_mantle(1,i,j,k,ispec) - epsilondev_crust_mantle(2,i,j,k,ispec)
-!ZN eps_loc(1,2)=epsilondev_crust_mantle(3,i,j,k,ispec)
-!ZN eps_loc(1,3)=epsilondev_crust_mantle(4,i,j,k,ispec)
-!ZN eps_loc(2,3)=epsilondev_crust_mantle(5,i,j,k,ispec)
eps_loc(1,1)=eps_trace_over_3_loc_crust_mantle(i,j,k) + epsilondev_loc_crust_mantle(1,i,j,k)
eps_loc(2,2)=eps_trace_over_3_loc_crust_mantle(i,j,k) + epsilondev_loc_crust_mantle(2,i,j,k)
More information about the CIG-COMMITS
mailing list